There is a race condition in the root navigatior's initialization.
It's possible that it's initialized a touch too late and SDK users who
try to navigate to a conference end up stuck in the connecting screen
because the navigator is null.
This PR waits for it to be initilized by very unorthodox means, it's a
horrible hack which we need to undo, but for that we need to break
appart the inheritance relationship between App.{web,native},
AbstractApp and BaseApp because it's very inflexible.
The flags are now initialized very early so the naviggator sees if the
welcome page is enabled or not.
Only havee the screen in the hierarchy if we have a welcome page, since
it's the only way to access it.
Use goBack() from the navigator directly and avoid duplicating all props
to the screen.
It's about to become very confusing, since we are going to add actual
local recordings with video.
This feature was never fully finalizeed since it required manual
processing of the files, as they were not uploaded anywhere.
In addition, unless one opens the local audio device without any audio
processing first, any tracks opened later will have audio proceessing
turned on, something not desirable for the scenario this feature was
designed for in the first place: podcasts.
This feature will likely come back as a JaaS demo / MVP where the local
recording is made outside of the Jitsi Meet iframe.
* 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
* 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(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
Fixes screensharing selection issues. Now when there’s a screen share we just use the old VERTICAL_FILMSTRIP_VIEW layout
Add THUMBAIL_TYPE to determine how to display thumbnails
It seems that showing the device selection dialog on ios Safari will
leads to not working audio. This is temporary fix until we find out
better solution.
In case of conference failed as max number of occupants reached, we should skip clearing the local tracks to keep state of pre-join screen. Otherwise, on join we will join muted even though on prejoin screen it was unmuted on the initial attempt.