Commit Graph

53 Commits

Author SHA1 Message Date
Alban Bruder
0f08e3d1b5 Compute instance in pusher /map endpoint 2022-04-19 08:52:26 +02:00
Alexis Faizeau
d1e8243c47
Zod EVERYWHERE (#2027)
* Zod EVERYWHERE

* Add no-unused-vars rule to eslint in front

* Add no-unused-vars rule to eslint in pusher

* Add no-unused-vars rule to eslint in back

* Remove unused PlayerTexture guards

* Fix data providing on room connection

Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
2022-04-12 14:21:19 +02:00
David Négrier
53b184e82b Adding support for custom logos
The admin can now set custom logos for the login scene and for the loading screen.
2022-03-15 18:16:56 +01:00
David Négrier
6540f15c5b
Refactoring Woka management (#1810)
* Wrap websockets with HyperExpress

* Add endpoints on pusher to resolve wokas

* getting textures urls from pusher

* Adding OpenAPI documentation for the pusher.

The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint.

* revert FRONT_URL

* playerTextures metadata is being loaded via Phaser.Loader

* fetch textures every time character or customize scene is open

* Heavy changes: refactoring the pusher to always send the textures (and the front to accept them)

* Sending character layer details to admin

* Cleaning commented code

* Fixing regex

* Fix woka endpoints on pusher

* Change error wording on pusher

* Working on integration of the woka-list with the new admin endpoint.

* Switching from "name" to "id" in texture object + using zod for woka/list validation

* Add position on default woka data

* Remove async on pusher option method

* Fix woka list url

* add options for /register

* Fxiing loading the Woka list

* Actually returning something in logout-callback

* Copying messages to back too

* remove customize button if no body parts are available (#1952)

* remove customize button if no body parts are available

* remove unused position field from PlayerTexturesCollection interface

* removed unused label field

* fix LocalUser test

* little PlayerTextures class refactor

* Fixing linting

* Fixing missing Openapi packages in prod

* Fixing back build

Co-authored-by: Hanusiak Piotr <piotr@ltmp.co>
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>

* Add returns on pusher endpoints

Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
Co-authored-by: Hanusiak Piotr <piotr@ltmp.co>
Co-authored-by: Piotr Hanusiak <wacneg@gmail.com>
2022-03-11 17:02:58 +01:00
jonny
786448a2b2 prettier fix 2022-01-09 23:21:07 +01:00
jonny
73ab4f3a26 prettier fix 2022-01-09 23:18:38 +01:00
jonny
e5afac1df5 prettier fix 2022-01-09 23:17:17 +01:00
jonny
954d39bb0c always set hash 2022-01-09 13:51:44 +01:00
David Négrier
f82012d315 Flagging Room.isPublic property as deprecated 2022-01-05 16:30:41 +01:00
David Négrier
968e71cbca Removing completely any analysis of the URL from the front.
Instead, data related to room is sent from the admin, via the pusher.
2022-01-05 14:32:02 +01:00
David Négrier
c85679b42c Merge branch 'develop' of github.com:thecodingmachine/workadventure into 2daysLimit 2022-01-05 10:19:23 +01:00
Alexis Faizeau
b148a46e3c Remove unused policy type from ApiData typeguard 2021-12-30 12:51:52 +01:00
David Négrier
4a7be94b92 Fixing bug in redirect handling of rooms 2021-12-23 21:36:13 +01:00
Gregoire Parant
df3c618ffa Merge branch 'develop' into 2daysLimit
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

# Conflicts:
#	front/src/Connexion/ConnectionManager.ts
2021-12-23 14:23:08 +01:00
David Négrier
9efa115982 Merge branch 'master' of github.com:thecodingmachine/workadventure into develop 2021-12-23 11:04:20 +01:00
David Négrier
fa2e583d48 Reimporting correctly types moved to /messages 2021-12-16 10:04:41 +01:00
David Négrier
2fff6ae41e Improving code security by adding stricter typings 2021-12-14 18:55:58 +01:00
Gregoire Parant
a5d4d163e1 Add test mode
`*` char permit to defined test mode with warning message

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-12-10 01:51:40 +01:00
David Négrier
598c7412a2 When sending an invalid token, the HTTP API from the Pusher now returns a 401 instead of an HTTP 500. 2021-12-08 14:46:23 +01:00
David Négrier
1d2d60a67a Fixing issue with "instance" part of the URL lost in exitSceneUrl URLs. 2021-12-07 15:55:36 +01:00
David Négrier
84f7a8c383 Pretty fix 2021-12-06 18:20:06 +01:00
David Négrier
fcf0888864 Adding a reconnect feature in case first Pusher request fails
Now, if the first pusher request fails, a waiting message will be displayed and the application will reconnect when the pusher comes back alive or the network connection is established again.
2021-12-01 14:14:02 +01:00
Gregoire Parant
060c844468 Fix htag in localstorage
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-24 19:24:43 +01:00
Alexis Faizeau
6a7385947d Fix authentication mandatory 2021-11-24 11:55:28 +01:00
Gregoire Parant
ba89d9b122 HotFix DISABLED_ROOM for env variable
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-16 13:18:40 +01:00
Gregoire Parant
ec1cc92c8b replace console log by error
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-16 11:23:18 +01:00
Gregoire Parant
c1dc438138 HotFix encrypted and decrypted error
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-16 11:14:27 +01:00
Gregoire Parant
f905426ebd Add new variable login provider to connect user 2021-11-12 19:36:13 +01:00
Gregoire Parant
fa233e13c6 Changes ANONYMOUS variable
This variable will be use to mandatory login user in self hosted
2021-11-12 16:43:37 +01:00
Kharhamel
726f52976d FEATURE: analytics client now scrape user email and room group 2021-10-11 16:30:01 +02:00
Kharhamel
57bfc1001f FIX: edited changelog 2021-10-11 11:34:10 +02:00
GRL78
3f1c5246f8
TO MERGE : Contact page from Admin or Environment Variable (#1401)
* Contact page from Admin or Environment Variable

* Get contact page from admin by pusher

* Changes requested

* Modify contactPageStore management

* documentation environment variables

Co-authored-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-09-21 20:24:53 +02:00
grégoire parant
d2b8d7dc04
Active authentication Oauth (#1377)
* Active authentication Oauth

 - Google authentication
 - GitHub authentication
 - Linkedin authentication

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Finish connexion et get user info connexion

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Fix lint error

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Change the expires token for 30 days

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update connexion stratgey

 - Set last room when it will be created and not when connexion is openned
 - Add '/login' end point permit to logout and open iframe to log user
 - Add logout feature permit to logout in front

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Implement logout and revoke token with hydra

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Fix pull develop conflict

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Profile url (#1399)

* Create function that permit to get profile URL

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Continue profil user

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Add menu and logout button

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update last room use

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Profile callback permit to get url profile setting from admin

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Finish profile show

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Delete profileUrl will be not use today

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Correct lint

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update size of iframe

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Delete console log

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update feedback ARP

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-09-05 18:17:49 +02:00
grégoire parant
02a21209ec
Exit scene acess denied detected (#1369)
* Add auth token user to get right in admin and check if user have right

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update error show

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-08-15 08:51:35 +02:00
David Négrier
2d55f982d3 Removing the 'search' parameters from the room URL sent to pusher 2021-07-20 18:29:41 +02:00
David Négrier
f217fc8aad Removing dead code 2021-07-15 17:11:48 +02:00
David Négrier
c9fa9b9a92 Migrating away from the notion of public/private URL in WorkAdventure Github repository
The notion of public/private repositories (with /_/ and /@/ URLs) is specific to the SAAS version of WorkAdventure.
It would be better to avoid leaking the organization/world/room structure of the private SAAS URLs inside the WorkAdventure Github project.

Rather than sending http://admin_host/api/map?organizationSlug=...&worldSlug=...&roomSlug=...., we are now sending /api/map&playUri=...
where playUri is the full URL of the current game.
This allows the backend to act as a complete router.
The front (and the pusher) will be able to completely ignore the specifics of URL building (with /@/ and /_/ URLs, etc...)
Those details will live only in the admin server, which is way cleaner (and way more powerful).
2021-07-15 17:07:47 +02:00
jonny
54d392be82 fixed not returnin null if parsed from url 2021-06-23 15:06:38 +02:00
jonny
64847cd465 adjusted null if no hash 2021-06-23 12:42:24 +02:00
grégoire parant
2b13b764b4
Public texture (#1093)
* Public texture

 - Front => Get texture when user connected on public method
 - Front => Anonymous login will be make every connexion to get map details
 - Pusher => `/anonymLogin` permit to get map details and public texture load in customize scene

* Improve texture local user

- Permit to keep previous texture get with 'register' link

* Texture public loading

 - Texture will be load with Room class
 - Fix issue on lazzy loading atttempt

* Remove async await useless
2021-06-03 13:07:52 +02:00
David Négrier
3ef1f0dc7b [Breaking change] UPLOADER_URL and ADMIN_URL are now true URLs (and not only host name) and API_URL is replaced by PUSHER_URL
API_URL is still accepted for BC compatibility of the self-hosted deployments.

This will allow deploying on a single domain, using a reverse proxy that acts on the path.
This however means that the config needs to be changed for all WorkAdventure deployments.
2021-03-31 16:00:14 +02:00
David Négrier
559e15ebb6 Adding an "alone" mode
In "alone" mode (or single-player mode), WorkAdventure does not connect to the server at all.
In order to enter the "alone" mode, you need to add "?alone=true" to the URL.

"alone" mode can be useful for tutorials (First Time User Experience) where you want to explain how WorkAdventure works without being disturbed by other users.
2021-03-30 16:08:49 +02:00
David Négrier
adca51f6de Replacing FourOFourScene with more generic ErrorScene 2021-01-17 20:42:45 +01:00
kharhamel
6caa0e5b62 HOTFIX: the map property exitUrl now accept relative links that are deep enough to rewrite the base url 2021-01-05 18:23:17 +01:00
kharhamel
8d8b879ed6 FIX: the game now uses the url hash to choose the start layer 2020-11-24 14:43:21 +01:00
kharhamel
09d6d22a5d FIX: rewrote the way scene exits are triggered 2020-11-24 14:43:21 +01:00
David Négrier
36d73333f5 Adding exitUrl property
The exitUrl property can be applied on a layer to link to any kind of room (private or public)
2020-10-15 15:50:51 +02:00
David Négrier
ce93e5bbaa Fixing the way rights are sent to the admin (now sending organization/world/room) 2020-10-14 10:37:00 +02:00
David Négrier
cb159350e9 Fixed room switching 2020-10-13 18:44:50 +02:00
David Négrier
a2c750dea2 Fix linter 2020-10-13 17:30:53 +02:00