* feat(lang): Complete French and Canadian French translations
- Added 91 missing French translation keys to main-fr.json
- Updated Canadian French (main-fr-CA.json) with complete translation coverage
- Applied authentic Canadian French terminology (réunion vs conférence, É.-U. vs États-Unis)
- Removed 44 legacy keys from Canadian French to match English/French structure
- All files now have identical key coverage (1,469 keys each)
- Maintains regional linguistic preferences while ensuring 100% feature coverage
Fixes text truncation issue in participants pane footer context menu
items (the three-dot menu). Menu items now wrap naturally to multiple
lines instead of being truncated mid-word, improving readability for
languages with longer text strings like French.
The fix uses standard CSS properties (whiteSpace, wordBreak,
overflowWrap) without browser-specific prefixes. It is specific to
the footer context menu in the participants pane and does not affect
other context menus.
* feat(conference): Process unauthenticated access disabled error.
Shows notification with a button to login.
* squash: Fix texts.
* feat(visitors): Propagate and use allowUnauthenticatedAccess.
* squash: Avoids always sending a value, even when not set.
* squash: Rename error.
* squash: Fix comments.
* squash: Move check before log.
* feat(i18n): Complete Bulgarian translation with missing keys
- Added 587+ missing Bulgarian translations for all untranslated keys
- Achieved 100% translation coverage (1,469/1,469 keys)
- Maintained consistency with existing Bulgarian terminology and tone
- Removed 34 orphaned keys that weren't present in English version
- Applied proper 4-space indentation formatting
- Sorted all keys alphabetically to match project standards
- Created comprehensive professional Bulgarian localization
---------
Co-authored-by: Дамян Минков <damencho@jitsi.org>
Co-authored-by: bgrozev <boris@jitsi.org>
* squash: Renames module.
* squash: Loads polls component.
* squash: Attach needed logic when components/hosts load.
* squash: Moves to use component.
* squash: Uses json-message format with types.
* squash: Checks for polls support.
* squash: Fixes comments and moves validate polls to backend.
* squash: Fix debian build.
* fix(polls): Fixes polls in breakout rooms.
* squash: Further simplify types.
Separate type that needs to go into ljm and those used only for the UI part.
Simplify answer/voter type to be unified across operations which simplifies and its logic.
* squash: Change voters structure to be {id, name}.
* squash: Update react/features/conference/functions.any.ts
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
* squash: Drops roomJid from messages. Uses the connection information as breakout does.
---------
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
* feat(lobby) integrate login in lobby + configs
* fixed toolboxContainer styles, used HangupButton
* make hangup button visible by default
* use hangup button
* feat(prejoin): fixed indent, import extension
* squash: Restore back wait for owner dialog.
* squash: Drops not used state and functions.
---------
Co-authored-by: Calin-Teodor <calin.chitu@8x8.com>
Co-authored-by: damencho <damencho@jitsi.org>
* fix: Fix the tenant used for webhook proxy.
* squash: Linting, skip test if WH proxy is required but not configured.
* ref: Change visitorsLive to use the JaaS utils.
* ref: Move visitorsLive to the specs/jaas.
* squash: Fix import paths.
* fix: Use the iframe configured tenant for iframe tests.
Try to fix the error we see:
Error: waitUntil condition failed with the following reason: Command script.callFunction with id 116 (with the following parameter: {"functionDeclaration":"function anonymous(\n) {\nreturn (/* __wdio script__ */()=>typeof APP!==\"undefined\"&&APP.conference?.isJoined()/* __wdio script end__ */).apply(this, arguments);\n}","awaitPromise":true,"arguments":[],"target":{"context":"10352FFE685AC1D0503E1ECA3BFD33B2"}}) timed out
Seems like we do not wait for all checks to happen and start joining again in the middle of switching/checking.