ShareAudioDialog passes undefined when the user hits continue in the share audio demo modal. Toggle state of audio-share based on the current state of audio share in that case.
In certain scenarios(when the iframe's domain is the same as the parent page)
the jitsiLocalStorage key from local storage is
included in the serialized local storage and then
propagaded to the parent page. This way we end up with recursion which
grows the localStorage infinitely.
* 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
* fix: When adding a room param to urls check for previous params.
* squash: Uses URL object to modify the url.
* squash: Use common connection options from base/connection.
Normalizes bosh url and for web.
* squash: Adds release param to external api and handles it.
* feat: Adds release handling for mobile(links in welcome page).
* squash: Fixes comments.
In the past we used a PanResponder to detect user gestures in the sheet
to show a reduced version or a full-height version of it, and also to
close it.
There is an obvious conflic between the gestures and scrolling, which
didn't work all that great, but we could live with it.
After reactions were introduced we no longer rendered the 2 different
heights, so that functionaligy stopped being used but the PanResponder
still remained there.
This commit removes it completely and sets a max height of 75% on any
BottomSheet, so any tap outside will close it.
When there is a password and lobby enabled, participants cannot enter password as the display name is stealing the focus.
When there is just password set the same field steals the focus from the password prompt.
* fix(filmstrip) Add handlers for track streaming status on RN.
This is needed for switching between video and avatar when the track's streaming status changes in source-name signaling mode.
* squash: Add comment.
Due to local storage limitations we might end up making the URL huge
when we save the state there. Avoid the issue at the root by never
storing URLs in that case.
Closes: https://github.com/jitsi/jitsi-meet/issues/11567
AV moderation does not work on brerakout rooms.
Since some of the options in the "breakoutRooms" config section no
longer apply, I moved the relevant ones to a new "participantsPane"
section.
This works together with the broader "notifications" config option. One
might choose to leave the existing option unespecified *thus allowing
all notifications) and then use this new one to be explicit about which
ones to disable.
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
- 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
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
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.
* fix: Drop duplicate call of wait for owner.
* fix: Fixes leaking listeners while waiting for host to join.
While waiting for the host to join on the dialog we attempt to join over and over again till we are admitted to enter the meeting. While doing that authRequired flag is on, and we were adding listeners on and on.
* feat: Introduces conference join in progress action.
This event is coming from lib-jitsi-meet and is fired when we receive the first presence of series when joining. It is always fired before joined event.
* fix: Moves testing middleware to use CONFERENCE_JOIN_IN_PROGRESS.
* fix: Moves follow-me middleware to use CONFERENCE_JOIN_IN_PROGRESS.
* fix: Moves some polls logic to middleware and use CONFERENCE_JOIN_IN_PROGRESS.
* fix: Moves reactions middleware to use CONFERENCE_JOIN_IN_PROGRESS.
* fix: Moves recordings middleware to use CONFERENCE_JOIN_IN_PROGRESS.
* fix: Moves shared-video middleware to use CONFERENCE_JOIN_IN_PROGRESS.
* fix: Moves videosipgw middleware to use CONFERENCE_JOIN_IN_PROGRESS.
* squash: Fix comments.
* fix: Fixes join in progress on web.
* fix: Moves variable extraction inside handlers.
* fix: Moves variable extraction inside handlers again.
* fix: Moves etherpad middleware to use CONFERENCE_JOIN_IN_PROGRESS.
prioritize participants with screen shares
support local screen share track
auto pin screen share
support screen share for large video
ensure fake screen share participants are sorted
fix local screen share in vertical filmstrip
fix local screen share in tile mode
use FakeScreenShareParticipant component for screen share thumbnails
ensure changes are behind feature flag and update jsdocs
fix bug where local screen share was not rendering
update receiver constraints to include SS source names
remove fake ss participant creation on track update
fix: handle screenshare muted change and track removal
refactor: update key values for sortedFakeScreenShareParticipants
address PR comments
refactor getter for screenshare tracks
rename state to sortedRemoteFakeScreenShareParticipants
* Pushes e2e pings to rtcstats
* linter fixes
* linter fixes
* Re-use existing event instead of introducing a new one.
* Don't update the connection info popup stats when the e2e rtt changes.
* Bumps ljm version to the latest
* e2e pings should work on mobile
* tweak the e2eRttChanged action properties
* fixes comments
Remove tint for participant in large view
Change pinned indicator from border to icon
On stage view move screen sharing indicator from top to bottom
On stage view show pinned indicator instead of moderator indicator
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.
See multiple participants on stage
Pin and unpin to stage
Automatic selection of participants to be displayed on the stage filmstrip based on dominant speaker changes
Make Filmstrip a reusable component. Used by MainFilmstrip (old functionality) and the new StageFilmstrip
Rename DominantSpeakerName to StageParticipantNameLabel
Active border now showed only for the dominant speaker (no longer for the pinned participant)
Hide video from the vertical filmstrip for the participants on stage
Update video constraints
Updated pinned indicator
* 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
[features/base/app] <APP.componentDidCatch>: TypeError: Failed to set an indexed property on 'CSSStyleDeclaration': Indexed property setter is not supported.