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
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.
- 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.
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 💪🚀
- 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>
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).