feat: Returns an error on join request with no display name. (#13546)
* feat: Returns an error on join request with no display name.
When someone tries to join a room with lobby enabled and display name is not set returns an error.
* squash: Fixes handling DISPLAY_NAME_REQUIRED with preJoin disabled.
* squash: Fixes mobile build.
* squash: Move isDisplayNameRequired redux state in lobby and introduces isDisplayNameRequiredError.
* squash: Drops unused isDisplayNameRequired.
This was used on showing prejoin when connection was established on showing prejoin. We no longer establish it at that time, so it is not possible to hit it and act on it.
feat: Drops connection on prejoin screen. (#13538)
* feat: Drops connection on prejoin screen.
Refactors connection logic to reuse already existing logic from mobile. Connection is now established just before joining the room.
Fixes some authentication logic with Login and Logout button in Profile tab.
* squash: Drops createInitialLocalTracksAndConnect as it no longer connects.
* squash: Shows an error on mobile and redirects to default.
* squash: Fixes review comments.
* squash: Fixes joining with prejoin disabled.
* squash: Fixes adding initial local tracks.
* squash: Fixes comments.
* squash: Drop no longer used method.
* squash: Fixes old web code imported into mobile builds.
* squash: Drop unused prop.
* squash: Drops recoverable flag on REDIRECT.
* squash: Drops unused variable and fix connection access.
* squash: Xmpp connect returns promise again.
* squash: Execute xmpp connect and creating local tracks in parallel.
* squash: Moves notification about problem jwt.
* squash: Moves startConference to conference.js for the no prejoin case.
And move the startConference in prejoin feature for the prejoin case.
* squash: Fix passing filtered tracks when starting conference with no prejoin.
* squash: Fix clearing listeners on connection established.
Keeps mobile behaviour after merging web and mobile.
* squash: Drops unused code.
fix(reactions-popup) Fix tooltip not closing correctly (#13367)
- tooltip was reopening in an inconsistent state(without the tooltip text visible), taking the focus from the reactions popup
- removed duplicate store prop from ReactionsMenuButton
fix(virtual-background) Use correct video device (#13329)
In the case when the user selects a new video device then goes to Virtual Background without saving first, use the newly selected device for the virtual background preview instead of the saved one
When the toolbox is hidden and due to a ReactFocusLock instance the
focus is returned to the toolbox the whole page scrolls to the toolbox
which is positioned outside of the viewport in the bottom.
Then when the animation for displaying the toolbox is started the
scenario looks like the large video is jumping.
Now we don't return the focus from ReactFocusLock to elements which are
not part of the viewport.
* ref(conference) Simplify track creation.
If gUM fails, we do not have to retry gUM with mic only and camera only constraints. gUM has come a long way and this is not needed anymore.
* ref(conference) Filter tracks that are added to conference.
* squash: Address review comments
* fix(prejoin): Display the exact gUM error in prejoin.
* squash: Address review comments