* feat(base/modal) added keyboard dismiss functionality
* feat(lobby) updated ui and start knocking if name is set
* feat(prejoin) updated ui and hide input if name is not required
* feat(prejoin) updated join button styles
* feat(prejoin) removed extra empty space
* feat(prejoin) updated disable join condition
* feat(base/modal) moved keaboard dismiss functionality
* feat(conference) updated auto knock condition
* feat(prejoin) updated button styles and disabling condition
* feat(lobby) updated styles
* feat(lobby/prejoin) updated styles for buttons and inputs
* feat(lobby/prejoin) updated contentContainer styles
* feat(lobby/prejoin) created shouldEnableAutoKnock helper
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.
Update Android build to support gif
Use GIF format instead of animated webp
Show GIFs in chat messages
Display GIF over tile
Add Giphy button in reactions menu
Added Giphy dialog
Fix isGifMessage to also allow upper case
We used to have a registry which registered a single handlerwith RN.
THis was registered really early in the app.
When React Navigation was introduced we ddidn't realize it interacts
with the back button. In a stack nagigator it will navigate to the
previous screen. This meant our back button handling was broken.
This commit removes our previous registry and uses the RN back button
handler directly in the 2 components that use it: the conference and
bottom sheets.
Since these handlers are registered after navigation, our handlers are
going to run first so we cna implement the behavior we need, namely to
dismiss an open botom sheet or set the conference in PiP mode.
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.
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.
The CONFERENCE_WILL_LEAVE reducer in base/conference wipes the state so
we cannot rely on the old room value.
We may want to revisit this in the future.
Only display Picture-in-Picture button when feature is available
Moved conference timer before title
Created new always-on container for labels
Moved recording labels to always-on
Updated expanded label to support new always-on labels
Added raised hands counter label
Added speaker - earpiece toggle button
Lifted state up