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.
Remove legacy signaling and legacy SS mode. (#12499)
* fix(connection-status): remove unused participant connectionStatus.
Always use trackStreamingStatus now that legacy endpoint based signaling has been removed.
* remove the check for source-name signaling.
Default to source-name signaling always.
* Remove the check for multi-stream mode.
Make that the default mode and remove the support for legacy SS mode.
* Remove presenter mode.
* update latest@lib-jitsi-meet
feat(filmstrip) Make filmstrip user resizable (#10884)
Make conference info and toolbar appear on top of the filmstrip
After a breakpoint, filmstrip pushes over the stage view instead of appearing on top
On user resize make tiles wider; after a breakpoint show grid view in the filmstrip
On filmstrip visibility toggle animate stage view resize
Added config for filmstrip with disableResizableFilmstrip
Since the verical filmstrip doesn't set its width explicitly anymore,
calculating the available area for the large video based on the
filmstrip width retrieved from the HTML element was wrong
in the cases when the rendering and cleanup of the filmstrip hasn't
finish yet. For example when switching from tile view to stage view.
- Reset some state on the singletons conference
and VideoLayout.
- Add a way for LocalVideo to clean itself up
by sharing logic with the other SmallVideos.
- Add clearing of chat messages so they don't
linger.
- Remove some UI event listeners.
feat(tile-view): initial implementation for tile view (#3317)
* feat(tile-view): initial implementation for tile view
- Modify the classname on the app root so layout can adjust
depending on the desired layout mode--vertical filmstrip,
horizontal filmstrip, and tile view.
- Create a button for toggling tile view.
- Add a StateListenerRegistry to automatically update the
selected participant and max receiver frame height on tile
view toggle.
- Rezise thumbnails when switching in and out of tile view.
- Move the local video when switching in and out of tile view.
- Update reactified pieces of thumbnails when switching in and
out of tile view.
- Cap the max receiver video quality in tile view based on tile
size.
- Use CSS to hide UI components that should not display in tile
view.
- Signal follow me changes.
* change local video id for tests
* change approach: leverage more css
* squash: fix some formatting
* squash: prevent pinning, hide pin border in tile view
* squash: change logic for maxReceiverQuality due to sidestepping resizing logic
* squash: fix typo, columns configurable, remove unused constants
* squash: resize with js again
* squash: use yana's math for calculating tile size
ref(video-layout): consolidate connection status update handling (#3185)
- Instead of having 4 listeners for local connection status
updates and 1 for remote, remove two of the redundant listeners.
- Instead of calling into 4 separate VideoLayout methods to update a
participant's connection status, expose one handler.
ref(video-layout): get dominant speaker state from redux
Instead of keeping dominant speaker locally, get it from redux and be
updated when the dominant speaker changes. This is in an attempt to mimic
the video layout being reactified and connected to redux.