* fix(multi-stream) update selector to find ss track by videoType or mediaType
* ref(multi-stream) move fake ss creation logic and support video type changed
* refactor(multi-stream) decouple sending and receiving multiple screenshare streams
* fix(multi-stream) fix receiver constraints with signaling and without multi-stream
* fix(mutli-stream) ensure plan b original SS thumbnail displays avatar
* fix(multi-stream) show fake SS for plan b sender
* refactor(multi-stream) poc for moving SS creation to state listener
* remove reference to fake SS creation
* fix lint errors
* rename to virtual screenshare participants
* fix minor bugs
* rename participant subscriber to specify web support only
Since all the auth logic is not ported to React on the web,
`_isWaitingForOwner` will always return `false` because the
`waitForOwner()` action is not (yet) used there.
THis fix always tries to hide the dialog no matter what, which is not a
Bad Thing to do anyway.
There is a related bug remaining, however: if one pressed "I am the
host" and then cancel, it doesn't goo back to the previous dialog, but
it completely kils the meeting. This is a compromise we'll have to live
with for a bit longer.
Fixes: https://github.com/jitsi/jitsi-meet/issues/11413
Fixes: https://github.com/jitsi/jitsi-meet/issues/11432
We used to multiplex the ports in nginx, but we dropped that at some point, so now coturn is on its own listening and nginx dependency is no longer needed. Our turnserver config can be used with nginx | apache2.
* add and remove JitsiTrackEvents.TRACK_STREAMING_STATUS_CHANGED listener in middlewares
* add/remove listeners in components that use track streaming status
* remove track streaming status handler from ConnectionIndicatorIcon and ConnectionIndicatorContent
* check video track change before hanlding track streaming status
- if hiddenPremeetingButtons is undefined, toolbarButtons overwrite decides what buttons to show
- if hiddenPremeetingButtons is empty array, all buttons are show on premeeting screen regardless of toolbarButtons
- if hiddenPremeetingButtons hides some buttons, only those buttons will be hidden regardless of toolbarButtons overwrite
* fix: Fixes Let's Encrypt script.
It fails when certbot is not installed and exits with an error without installing anything.
* squash: Fixes certbot command after install.
* fix(device-selection) Enable device selection on mobile Safari.
With https://bugs.webkit.org/show_bug.cgi?id=179363 being fixed, we should now be able to switch between devices in call. Also, before the webkit fix, we were able to continue to use the old track when a new track was created for preview in device settings before joining the call. This doesn't work anymore after the fix. Therefore, always replace the track in redux even if the selected device hasn't changed. Depends on https://github.com/jitsi/lib-jitsi-meet/pull/1993.
* chore(deps): update lib-jitsi-meet@latest.
If last N goes down to 1 it will be stuck there since it's > 0 and will
be our `lastNSelected`. When limits are applied we'll take the minimum,
so it will end up being 1.
Once can end up in last N being 1 by several means, the more obvious one
by entering Picture-in-Picture mode on mobile.
Fix it by not using the previous last N value for the current
calculation, at all.
Fixes: https://github.com/jitsi/jitsi-meet/issues/10257
Closes: https://github.com/jitsi/jitsi-meet/pull/10491