* 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>
- 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.
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).
* 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>
Some deployments might not be based on docker, and not on separate
hosts. In such cases, it would be useful to be able to configure the
port pusher listens on.