feat: Sends conference request over http before connecting to xmpp (#13725)
* feat: Moves redirected event to connection events.
* feat: Pass room name when connecting.
We need the room name we will join to be able to send the http conference request from ljm.
* squash: Drops dispatching redirected action.
* squash: Updates ljm.
feat: Adds wait for host prosody module and handling it.
While the host arrives all other participants are waiting in lobby and once the host arrives lobby is destroyed and the participants join the call.
Adds reading some other fields in jwt to extract email.
Introduces tokenLogoutUrl to be used for logout.
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: Handles max occupants reached from a visitor node.
When we receive the error from a visitor node, we need to restore the previous configuration, reconnect to the main prosody and be ready to try to rejoin again (from prejoin screen).
feat(visitors): Updates mobile to handle redirected conf error. (#13110)
* feat(visitors): Updates mobile to handle redirected conf error.
* squash: Center the buttons when iAmVisitor.
* squash: Enables chat in visitor mode.
* feat: Prints the used lib-jitsi-meet.
* feat: Shows a notification when joining as a visitor.
* fix(notifications): display and fix styles for notifications in tile view
---------
Co-authored-by: Calin-Teodor <calin.chitu@8x8.com>
fix(visitors): Visitor updates - request to participate (#13106)
* fix(visitors): Updates docs and instructions.
* fix(visitors): Show counter only for main participants.
* fix(visitors): Skip showing the label even for 0 visitors.
It was showing 0 when visitor count down back to 0.
* feat(visitors): Small optimization for jid.split calls.
* fix: Fix skipping properties changed received before conference joined.
* fix(visitors): Propagates newly joined participants to visitor nodes.
* feat(visitors): When iAmVisitor is set, subtract visitor from participants count.
* feat(visitors): Visitors request to participate impl.
Adds option for auto promotion setting which is the only one available at the moment.
* squash: Fix comments.
* squash: Fix default case when vnode is missing.
Use a fixed set of remote tracks for a call based on the ssrc-limit set in jvb config. When this feature is enabled, JVB will signal the audio and video SSRCs and their owner/endpoint info using a bridge channel message. For audio, the mappings are determined based on the energy rankings on the audio sources present in the call and for video, the mappings are calculated based on the video sources the client requests through the video receiver constraints.
Remote tracks are then created/remapped by the client based on these mappings.
* Added track_owner_changed action
* Skip track-based large-video selection in rewriting mode.
* Register OWNER_CHANGED handler at track level.
* feat(participants) Add source info to participants in redux.
With ssrc-rewriting, the receiver constraints need to be generated using the source info received in presence. Currently they are generated from the track info in redux but with ssrc-rewriting, remote sources are not signaled and therefore created until they are being requested through receiver constraints.
Co-authored-by: James A <jqdrqgnq@users.noreply.github.com>