Commit Graph

251 Commits

Author SHA1 Message Date
Lurkars
0a2bfc556f Merge branch 'develop' of github.com:thecodingmachine/workadventure into oidcProfile 2022-02-28 10:35:15 +01:00
Alexis Faizeau
394f721638 Add position on default woka data 2022-02-25 19:28:21 +01:00
Lukas
3f3af9b957
improve docker build caching
install dependencies before copying source into image
2022-02-25 18:53:14 +01:00
David Négrier
08fffab410 Switching from "name" to "id" in texture object + using zod for woka/list validation 2022-02-25 17:05:34 +01:00
David Négrier
da469b64d2 Working on integration of the woka-list with the new admin endpoint. 2022-02-24 21:09:19 +01:00
Alexis Faizeau
0543232bc3 Change error wording on pusher 2022-02-24 14:54:36 +01:00
Alexis Faizeau
586e829e2e Fix woka endpoints on pusher 2022-02-24 14:11:28 +01:00
David Négrier
c37046e138 Fixing regex 2022-02-24 12:15:23 +01:00
David Négrier
1b286002ff Cleaning commented code 2022-02-24 12:10:49 +01:00
David Négrier
8e11c4445b Sending character layer details to admin 2022-02-24 10:25:14 +01:00
David Négrier
378a95962a Heavy changes: refactoring the pusher to always send the textures (and the front to accept them) 2022-02-23 21:13:11 +01:00
Hanusiak Piotr
52e15eccfa revert FRONT_URL 2022-02-23 19:53:54 +01:00
David Négrier
3b4f06d659 Adding OpenAPI documentation for the pusher.
The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint.
2022-02-23 19:53:54 +01:00
Hanusiak Piotr
80761804a7 getting textures urls from pusher 2022-02-23 19:53:54 +01:00
Alexis Faizeau
2161a40e05 Add endpoints on pusher to resolve wokas 2022-02-23 19:53:54 +01:00
Alexis Faizeau
f993aa4f5a Wrap websockets with HyperExpress 2022-02-23 19:53:53 +01:00
Gregoire Parant
658781e02e Merge branch 'master' into develop
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

# Conflicts:
#	front/public/resources/logos/meet.svg
2022-02-22 23:40:48 +01:00
Gregoire Parant
3a734cc2ae Enable limitation freemium
- Fix warning message
 - Fix post message API pusher

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2022-02-18 21:33:23 +01:00
Lurkars
2816946c94 add OIDC username + locale 2022-02-16 09:11:08 +01:00
David Négrier
e801e2a435
Merge pull request #1876 from thecodingmachine/fix_pusher_header
pusher: add missing Content-Type header for json responses (2)
2022-02-15 09:25:31 +01:00
David Négrier
4bcdbcb1bd Fixing linting 2022-02-15 09:15:41 +01:00
Ludwig Behm
9073024b1d
pusher: add missing Content-Type header for json responses 2022-02-14 00:53:38 +01:00
dependabot[bot]
2cb7c518c1
Bump follow-redirects from 1.14.7 to 1.14.8 in /pusher
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-13 21:56:46 +00:00
Gregoire Parant
64ba7575a0 Add play uri param
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2022-02-08 18:47:11 +01:00
David Négrier
f5464fb1af Fixing bad return in controller 2022-01-27 18:46:28 +01:00
David Négrier
12d6d9a50d Disabling completely routes if admin token not configured 2022-01-27 18:38:33 +01:00
dependabot[bot]
6684c87efa
Bump node-fetch from 2.6.1 to 2.6.7 in /pusher
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 16:54:59 +00:00
dependabot[bot]
201d804d98
Bump follow-redirects from 1.14.4 to 1.14.7 in /pusher
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.4 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.4...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-14 09:27:12 +00:00
Alexis Faizeau
3f3f488924
Merge pull request #1718 from thecodingmachine/master
Hot fixes
2022-01-12 10:47:27 +01:00
Alban Bruder
4a78e449df Fix circular serialization in pusher dump endpoint 2022-01-07 14:37:44 +01:00
David Négrier
ab0f5e9837 Stopping sending literal errors
Errors now must be of "Error" type.
Rule added in eslint.
2022-01-06 10:52:06 +01:00
Alexis Faizeau
68431c5242
Merge branch 'develop' into master 2021-12-30 13:18:13 +01:00
Alexis Faizeau
b148a46e3c Remove unused policy type from ApiData typeguard 2021-12-30 12:51:52 +01:00
David Négrier
a1cfaa0225 Merge branch 'develop' of github.com:thecodingmachine/workadventure into feat/follow-woka 2021-12-24 15:06:15 +01:00
David Négrier
a4a89735f6 Fixing missing builders 2021-12-24 15:04:01 +01:00
David Négrier
9a3bca0659 Updating Node version to latest minor in Pusher and Back for prod images 2021-12-24 14:59:40 +01:00
David Négrier
368a115b4c Merge branch 'develop' of github.com:thecodingmachine/workadventure into feat/follow-woka 2021-12-23 16:04:59 +01:00
David Négrier
3e91a79078 Upgrading eslint 2021-12-23 15:33:19 +01:00
David Négrier
35463930a0 Sending color outline on connect 2021-12-23 10:22:19 +01:00
David Négrier
482ba9690a Sharing outline color changes in real time 2021-12-22 18:34:36 +01:00
David Négrier
e660e25616 Fixing new MapDetails type guard
It was working improperly with messages from the admin
2021-12-21 11:37:54 +01:00
David Négrier
d792d35d09 Correctly cleaning room in pusher even if an exception occurs
Closes #1646 (again)
2021-12-20 15:33:47 +01:00
David Négrier
e0aab9c0ce Properly delete rooms in Pusher in case of connection error and empty room
Closes #1646
2021-12-20 14:16:52 +01:00
David Négrier
404404d2bf Fixing pusher build 2021-12-17 10:18:31 +01:00
David Négrier
36f5d42668 Fixing prettier setup on messages 2021-12-16 16:46:22 +01:00
David Négrier
1ed10b0cdd Adding Prettier in messages 2021-12-16 16:40:50 +01:00
David Négrier
8c93801746 Fixing wrong import 2021-12-16 16:18:23 +01:00
David Négrier
88a6e80a8f Adding JsonMessages to Docker image 2021-12-16 16:09:59 +01:00
David Négrier
b2bcfde5b1 Merge branch 'develop' of github.com:thecodingmachine/workadventure into upgrade_typescript_4.5 2021-12-16 16:07:17 +01:00
David Négrier
0c281db411 More eslint fixes (+ ignoring no-unsafe-argument rule for now) 2021-12-16 15:57:37 +01:00
David Négrier
fa2e583d48 Reimporting correctly types moved to /messages 2021-12-16 10:04:41 +01:00
PizZaKatZe
0a410d289d Implement follow request / confirmation UI 2021-12-15 18:42:22 +01:00
PizZaKatZe
1fca99c0d1 Send follow me request to all players 2021-12-15 18:41:36 +01:00
David Négrier
2fff6ae41e Improving code security by adding stricter typings 2021-12-14 18:55:58 +01:00
David Négrier
8a96ff8ee4
Merge pull request #1614 from ValdoTR/user-room-token
Added the user-room token created from admin when we access a room
2021-12-13 17:50:49 +01:00
Valdo Romao
d523eee5bd Fixed pusher lint error 2021-12-13 16:22:59 +00: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
1e6ce4dec8 Merge branch 'master' of github.com:thecodingmachine/workadventure into develop 2021-12-07 14:59:17 +01:00
David Négrier
c27662c315 Merge branch 'develop' of github.com:thecodingmachine/workadventure into e2e_reconnect_tests 2021-12-06 18:07:47 +01:00
David Négrier
d23a64d074 Fix sending empty variable message for users that have no right to read variable
When a user had no right to read a variable and the variable changed, the user was notified nonetheless with an empty SubMessage, causing an error message in the front:

> Uncaught Error: Unexpected batch message type onmessage RoomConnection.ts:181 RoomConnection.ts:181:30 onmessage RoomConnection.ts:181

This fix closes #1613
2021-12-03 16:07:42 +01:00
David Négrier
4cff230256 Creating only one WS connection to pusher from admin
Also: migration to Typescript 4.5 and µWebsockets 1.20.4
2021-12-01 20:14:53 +01:00
Valdo Romao
67fc6e8cd2 Fixed missing definition in FetchMemberDataByUuidResponse 2021-12-01 17:59:56 +00:00
Valdo Romao
dd79f7d0f4 Added the user-room token created from admin when we access a room 2021-12-01 15:50:14 +00: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
David Négrier
6e6cdc7bde
Revert "Improving log messages" 2021-11-24 16:20:07 +01:00
David Négrier
a1107bd20e Merge branch 'develop' of github.com:thecodingmachine/workadventure into improve_logging 2021-11-24 15:36:35 +01:00
grégoire parant
26fa566d85
Change 'access-control-allow-origin' to FRONT_URL env variavle (#1567)
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-17 02:21:58 +01:00
grégoire parant
75ba9ddae8
HotFix Allow Origin header for CORS (#1566)
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-16 18:38:18 +01:00
Gregoire Parant
e54732be1b HotFix authentication manager to get data from back
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-16 14:46:32 +01:00
Gregoire Parant
8768374460 HotFix connexion manager
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-16 13:14:40 +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
20164417fb Change data by resCheckTokenAuth 2021-11-15 16:34:23 +01:00
David Négrier
4e042389c5 Merge branch 'master' of github.com:thecodingmachine/workadventure into develop
# Conflicts:
#	front/src/Connexion/ConnectionManager.ts
#	pusher/src/Controller/AuthenticateController.ts
#	pusher/src/Controller/IoSocketController.ts
#	pusher/src/Services/JWTTokenManager.ts
2021-11-15 16:30:45 +01:00
Gregoire Parant
210a789aa4 Fix feedback @moufmouf 2021-11-15 15:58:08 +01:00
Gregoire Parant
61b8d584af delete useless userIdentify 2021-11-15 14:34:23 +01:00
Gregoire Parant
16c08d86f2 Update hydraAccessToken to accessToken 2021-11-15 12:30:25 +01:00
Gregoire Parant
7d0b573d37 Define profile variable to show user connected
- OPID_PROFILE_SCREEN_PROVIDER is a variable to show profile of user connected. You can defined your own provider or use classic provider of WorkAdventure.
 - OpenIdProfileController with url "/profile" get user data and create simple html to show user informations. This url will be called with params 'accessToken'
 - If you define your custom profile url, it will be called with param 'accessToken'.

accessToken is token to access at user informations in your OpenId provider.
2021-11-12 20:48:26 +01:00
Gregoire Parant
ca74f92051 Pull open id admin from @GRP 2021-11-12 16:59:34 +01:00
Gregoire Parant
213af0cfa3 Changes ANONYMOUS dynamic variable 2021-11-12 16:47:39 +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
grégoire parant
c1788424b5
Merge pull request #1533 from Lurkars/oidcRequired
use OIDC without admin api, option to disable anonymous login

Thanks for your work @Lurkars. I will take your changes and apply some update. When I will finish, I will  share you the result and requirement for mounting correct openid connection with puhser and without ADMIN part 💪  🚀
2021-11-12 16:39:15 +01:00
Gregoire Parant
89baafba2f Rollback openid connect to use code and nonce
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-09 00:08:01 +01:00
Gregoire Parant
4c028bfcb3 OpenId from Admin connect
- Create admin environment for redirect uri of openID
 - Add log out redirect when user click on log out button

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-08 19:27:01 +01:00
Alexis Faizeau
dd89f12c2e Implement logger on pusher 2021-11-08 19:05:25 +01:00
David Négrier
6c6a7e6fe4 Improving log messages
Signed-off-by: David Négrier <d.negrier@thecodingmachine.com>
2021-11-08 14:30:54 +01:00
Alexis Faizeau
934e24f837 Implement on enter/leave layer events 2021-10-29 19:44:58 +02:00
Kharhamel
6c78717d97 FIX: the admin sockets now uses a short live to check room authorization 2021-10-28 14:53:07 +02:00
Kharhamel
d809682c08 HOTFIX: now uses a specific secret token for the admin sockets 2021-10-26 14:58:34 +02:00
Lurkars
78e0d1bead fix linter, cleanup 2021-10-21 16:53:24 +02:00
Lurkars
6832fe4990 use OIDC without admin api, option to disable anonymous login 2021-10-21 16:28:57 +02:00
Gregoire Parant
f87422187f HotFix user data connection
Create local store for user connected in SSO

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-10-14 17:22:43 +02:00
Kharhamel
726f52976d FEATURE: analytics client now scrape user email and room group 2021-10-11 16:30:01 +02:00
grégoire parant
1e69bb0f49
Manage redirect URL from admin and save in hydra via pusher (#1492)
Add redirect parameter url to connect user directly on private openId application

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-09-30 11:16:25 +02:00
Kharhamel
d2bf7b8fde
Merge pull request #1465 from thecodingmachine/dependabot/npm_and_yarn/pusher/axios-0.21.2
Bump axios from 0.21.1 to 0.21.2 in /pusher
2021-09-23 18:36:34 +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
dependabot[bot]
62c163f11e
Bump axios from 0.21.1 to 0.21.2 in /pusher
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-20 12:34:04 +00:00
grégoire parant
8c96b514d4
HotFix to test hydra connexion (#1471) 2021-09-18 11:35:29 +02:00
grégoire parant
553902e52a
Add log for Oauth login connexion (#1468)
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-09-16 17:57:14 +02:00
David Négrier
05646718a9 Fix disconnects after 5 minutes in Chrome
This commit increases idle timeout for websocket connection

Issue: after 5 minutes of inactive tab (hidden tab) in Chrome, WorkAdventure was disconnected.

I believe Google was going in "intensive throttling" mode (see  https://developer.chrome.com/blog/timer-throttling-in-chrome-88/#intensive-throttling)
This means setTimeouts are run only once per minute.

And I believe the "keep alive" must be implemented with a "setTimeout" (one way or another even if I can't find a trace of this in the code). This would mean that the browser would send keep alive requests only once per minute.
But the pusher is configured to shut the connection after 30 seconds of idle activity.

Therefore, the pusher disconnects inactive Chrome tabs. By raising the Pusher idle timer to 2 minutes, we give a chance to Chrome to send a ping to the server in time (since Chrome won't send more than 1 ping per minute).
2021-09-10 18:30:36 +02:00