* add(highlight): mobile initial flow
* fix(hightlight): get meeting fqn on mobile
* fix(dynamic-branding): extract fqn on mobile
* fix(highlights): remove local fqn extraction and grounp dispatches in batch
* fix(dynamic-branding): check if state is defined in extract fqn
Converted LoadConfigOverlay to a JitsiScreen component that right now is part of navigation as ConnectingPage, plus I
separated appNative and other actions into web and native.
* feat(multi-stream-support) Add screenshare as a second video track to the call.
This feature is behind a sendMultipleVideoStreams config.js flag. sourceNameSignaling flag also needs to enabled. Sending multiple tracks is currently supported only on endpoints running in unified plan mode. However, clients with source-name signaling enabled and running in plan-b can still receive multiple streams .
* squash: check if there is an existing track before adding camera/desktop
* squash: enable multi-stream only on unified plan endpoints.
Now the algorithm that calculates the
rows/columns/thumbnail-width/thumbnail-height configuration will
go trough all possible configurations and will choose the one
that covers with thumbnails the biggest area of the window.
Show GIF menu in reactions menu
Search GIFs using the GIPHY API
Show GIFs as images in chat
Show GIFs on the thumbnail of the participant that sent it
Move GIF focus using up/ down arrows and send with Enter
Added analytics
Move label to LargeVideo so that's it's centred in the view instead of the whole screen
Move vertical filmstrip max width calculation to a function and use it to set the large video width
[features/base/app] <APP.componentDidCatch>: TypeError: Failed to set an indexed property on 'CSSStyleDeclaration': Indexed property setter is not supported.
...when new participant joins.
Repro steps:
1. With p2p disabled and source name signaling enabled.
2. Start a call with 2 tabs.
3. Reload the 2nd tab.
4. The receiver constraints should be updated when the 2nd
user rejoins. They were not updated, because
getTrackSourceNameByMediaTypeAndParticipant doesn't have
the track yet at the time when visibleRemoteParticipants
are updated. This is fixed by also checking on
the remote tracks state.
Re-calculate tile sizes after config loaded
Make local tile always respect the ratio in interface_config
Merge calculate size for vertical view functions into one function
* fix: Moves getDialInConferenceID, so we can reuse conf mapper url generation.
* fix: Moves getDialInNumbers, so we can reuse url generation.
* squash: Moves dialInInfo page path to constants.
* feat: Adds the location address as a param to the conf mapper request.
* feat: Adds option conf mapper and numbers urls to contain parameters (?).
* squash: Adds more doc comments.
* squash: Makes sure we strip url params if any, and they do not reach fetch.
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
This applies to android only, where we don't separate the local
thumbnail.
In portrait mode the local thumbnail needs to be on the right, aka the
last one. In landscape mode it needs to be on top, aka the first.
This "feature" has been dead (and most likely buggy) for years. The
recommended way is for apps to implement their own incoming call
handling and then call into the JitsiMeetActivity. We did not have those
APIs back then.
* feat: Handles hidden-from-recorder from jwt.
Hides the participant that has this flag in jwt from the recorder. A hidden meeting moderator.
Makes sure follows me works and no tracks are being added.
* squash: Skips showing notification when disabling
local audio and video.
* squash: Fixes comments.
* squash: Updates with ljm changes.
They don't render the toolbar so there is more space available.
The reason this commit does that is because getToolboxHeight will now
always be 0 for recorders.
* fix(facial-expressions): set window screen size from worker with the value from main thread
* fix(facial-expressions): refactor worker and add constants for message types
Workaround for the issue when the mouse enter event is not triggered in
the use case where the layout changes and the mouse appears onn top of the
thumbnail. Example: Closing the participant pane.