On mobile (React-Native) the sharedVideoAllowedURLDomains property from dynamic branding was filtered and therefore the allow list from the branding was not reaching redux and was ignored.
* feat(shared-video): Shows confirmation dialog before playing video.
* feat(shared-video/native): created ShareVideoConfirmDialog and unified actions
* squash: Simplifies state and fixes stop and then start scenario.
* squash: Use constants everywhere.
* squash: Use helper function.
* squash: Ignore any command with not matching video URL.
---------
Co-authored-by: Calin-Teodor <calin.chitu@8x8.com>
During authentication cycle the iceServers URL params are not passed through the various redirects. The result is that the when we finally return back to the conference page authenticated and with the JWT token the iceServers URL param is lost.
There is no point in ever setting lastN to anything other than 0 when in
the background because we are not rendering anything.
When in PiP mode, the app state is not background, which might have
deceived us into adding that check there way back when.
* feat(invite) add email value in peopleSearchQueryTypes and peopleSearchToken config
* feat(invite) pass custom auth token in search directory (e. g. for email directory)
* feat(invite) autocomplete and invitations working with custom auth token (e. g. email invite type), invite icons updated
* feat(invite) remove newly documented config from undocumented settings list
* feat(invite) jwt are now passed in the invite requests headers
* feat(invite) linter-related formatting
* feat(invite) fix default user icon regression
* feat(invite) last lint issues
* feat(invite) pass alternate token in header, not in params
* Fixes lint error
---------
Co-authored-by: Raphaël Badawi <raphael.badawi@ceo-vision.com>
Co-authored-by: Дамян Минков <damencho@jitsi.org>
When the prejoin screen is disabled during the prosody login cycle the initial GUM tracks were lost causing the user to start the call without local media and audio/video mute buttons staying forever in pending state.
Some middleware functions are declared as async. This wraps next(action) in Promise which will delay the execution of actions and also dispatch will return the its result always as a Promise.