Commit Graph

51 Commits

Author SHA1 Message Date
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
David Négrier
ec93891c6b Using Room class to load GameScene 2020-10-13 17:10:07 +02:00
David Négrier
aee06da7f9 Refactoring Room.ts to fetch map url automatically from ID 2020-10-13 17:10:07 +02:00