* feat(transcription): allow custom transcriber languages via config
* fix(transcription): avoid duplicating default language json and document config
* feat(config): add support for custom transcription languages in configuration
* fix(config): satisfy lint and ts rules
* fix(meeting_id): Depends on jitsi_session(uses session.user_region).
* feat(authentication): A static page that can be used with some auth providers like keycloak.
* fix(authentication): Implements inline authentication.
squash: Adds refresh token use when refresh token is needed on connection resuming.
squash: Fix bugs and move to PKCE flow.
* squash: Adds nonce verification.
* squash: Drops the closing logic.
* squash: Replace resuming event with CONNECTION_TOKEN_EXPIRED one.
* squash: Fixes comments.
* squash: Make sure we use tokenAuthUrl only when it is set and is not jaas.
* squash: Move CONNECTION_TOKEN_EXPIRED to web only middleware as it uses web only logic for now.
* squash: Fix comments.
*Hang-up button is calling both appNavigate and conferenceWillLeave synchronously and something is interfering.
appNavigate is async and something is calling it again before conferenceWillLeave completes.
Adds touch-screen support for resizing filmstrip and chat panels to enable tablet and touch-laptop users to adjust panel widths. Previously, drag handles only worked with mouse hover, making panels non-resizable on touch devices.
Changes:
- Implement Pointer Events API for unified mouse/touch handling
- Add touch device detection with screen size threshold
- Make drag handles always visible on touch devices with padding for easier tapping
- Maintain identical visual layout between touch and non-touch versions
Touch devices with sufficiently large screens now have fully functional drag handles with appropriate hit targets while smaller devices remain disabled to preserve mobile UX.
The panel will appear on the right side after the participant pane panel. Currently the panel is disabled by default and the components that are rendered in the panel are empty (null). The panel is easily customizable by adding some content in the CustomPanel component.
In branding you can add now
"labels-translation-languages": {
"en": "/static/translation-overwritten-en.json"
}
This allows overwriting strings from the translation-languages namespace, till now it was possible only for the main one.
* fix(groupchat-polls-permissions): Adds UI setting to show the option.
Make sure we do not show the setting when everyone is a moderator in the room.
* squash: Change text and default value.
* squash: Defaults to false.
* squash: Set it in metadata.
* squash: Whitelist the config.
* Change stage view and use newly reducedUImainToolbarButtons config to show different custom buttons as main toolbar buttons for when web is in reduced UI.
Implements Picture-in-Picture functionality for the Electron wrapper to maintain video engagement when users are not actively focused on the conference window. This feature addresses the need to keep users visually connected to the conference even when multitasking.
Key features:
- Automatic PiP mode activation and deactivation based on user interaction
- Displays large video participant's stream or renders their avatar on canvas when video unavailable
- Provides audio/video mute controls via MediaSession API directly in PiP window
- Adds API events (_pip-requested) for Electron wrapper integration
Implementation includes new pip feature module with Redux architecture, canvas-based avatar rendering with custom backgrounds support, and integration with existing mute/unmute logic. Depends on jitsi-meet-electron-sdk#479 for proper user gesture handling in Electron.
* Change toolbar background color from IFrame API #16468 fixed
* fix(toolbar #16468): implement toolbar background color via configOverwrite for web and mobile
* keep toolbarConfig defaults commented in config.js
* add trailing comma to commented toolbarConfig.backgroundColor
* fix: resolve linting errors
Fixes#16468
* fix(tests): Avoids clicking UI buttons to avoid being blocked by notification.
In AV moderation tests sometimes clicking mute/unmute buttons is blocked by askedToUnmute notification.
* squash: fix waiting for button.
* squash: adds some docs.
Introduces a comprehensive disableChat config option that disables the entire chat feature including button visibility, notifications, sounds, private messages, and keyboard shortcuts. When disabled, the chat tab is hidden from the chat panel while allowing other tabs (polls, files, CC) to remain accessible.
When a user joins a very large call with SS, sometime SS is not auto-pinned to stage. This may happen when lot of participant joins are processed at the same time and therefore the state for remoteScreenShares may not get updated in time. Added extra logging to help debug if this issue reproduces.