Commit Graph

1959 Commits

Author SHA1 Message Date
Cyril afaaec4be1 🐛(frontend) fix PiP reactions rendering and shortcut ownership
Show reactions in PiP and prevent main shortcuts from overriding PiP.
2026-05-12 09:24:42 +02:00
Cyril 184e957565 ♻️(frontend) fix VisualOnlyTooltip clipping in PiP
Flip when top overflows; clamp left/right so PiP tooltips stay visible.
2026-05-12 09:24:41 +02:00
Cyril 323a998721 ♻️(frontend) address Sonar warnings in PiP and side panel
Replace nested ternary logic, use globalThis instead of window, and switch side-panel enum re-exports to export-from for clearer and safer patterns.

Made-with: Cursor
2026-05-12 09:24:41 +02:00
Cyril 2b50dd3158 ♻️(frontend) normalize PiP component patterns
Extract OverflowItems, replace `any`, convert function declarations to const arrows.
2026-05-12 09:24:41 +02:00
Cyril 852789cec6 ♻️(frontend) harden PiP notifications stacking and dedupe
Group banner and toasts in one stack, cap visibility, fix chat dedup.
2026-05-12 09:24:40 +02:00
Cyril f38dec6a93 (frontend) show room notifications inside the PiP window
Render the shared toast queue in PiP.
2026-05-12 09:24:40 +02:00
Cyril d8548ec9bb (frontend) restore toolbar shortcuts inside PiP window
Forward PiP keydown events and register PiP-specific handlers.
2026-05-12 09:24:39 +02:00
Cyril 775c8ac073 🐛(frontend) close native PiP window when leaving the room
Force-close PiP on unmount and reset PiP state so next room starts clean.
2026-05-12 09:24:38 +02:00
Cyril 90ef4ce025 🐛(frontend) fix PiP tile corner clipping and unify 4px radius
Set a single clipping owner per PiP layout and use a consistent 4px radius.
2026-05-12 09:24:37 +02:00
Cyril 8b1d200740 ♻️(frontend) PiP options menu and reactions toolbar refactor
PiP-native options popover; split reactions, keyboard nav, and pagination.
2026-05-12 09:24:37 +02:00
Cyril f6510b7488 ️(frontend) PiP accessibility and cross-document focus foundation
Cross-doc focus helpers, Escape stack, lang/title sync, landmarks, SR announce.
2026-05-12 09:24:36 +02:00
Cyril 640205fd9e 🌐(i18n) add PiP accessibility strings to rooms
Labels for PiP window, stage, toolbar, reactions, and SR open/close.
2026-05-12 09:24:36 +02:00
Cyril 3c04d1e9a7 🎨(frontend) tune PiP window default dimensions
Start PiP in a taller shape closer to a typical video call layout.
2026-05-12 09:24:35 +02:00
Cyril bbc3d18309 (frontend) add adaptive PiP stage with focus and grid layouts
Render all participants with a focus mode and animated adaptive grid.
2026-05-12 09:24:35 +02:00
Cyril 61877d23bc ♻️(frontend) share a PiP-aware element size hook
Reuse a single ResizeObserver hook in the PiP control bar.
2026-05-12 09:24:34 +02:00
Cyril a6d20e2f58 (frontend) add PiP reactions toolbar and isolated state
PiP-only reactions strip, store flag, and overflow menu wired to PiP state.
2026-05-12 09:24:34 +02:00
Cyril 1e21274237 🐛(frontend) fix pip controls responsive overflow in realtime
Use PiP document ResizeObserver so controls hide into "..." while resizing.
2026-05-12 09:24:34 +02:00
Cyril 6b566831a2 🐛(frontend) align pip layout with google meet
Show a main tile with a bottom-right thumbnail in PiP, like Google Meet.
2026-05-12 09:24:32 +02:00
Cyril b57e11bf51 ♻️(frontend) decouple pip state and simplify pip options
Prevent PiP actions from affecting main panel state and reduce PiP-only noise.
2026-05-12 09:24:31 +02:00
Cyril 2378af9e9b (perf) hide main layout when pip is open
avoid rendering main video tiles while pip is active
2026-05-12 09:24:31 +02:00
Cyril 30107882dd ♻️(refactor) move pip feature into dedicated module
group pip components and hooks under features/pip for isolation
2026-05-12 09:24:30 +02:00
Cyril 4f25a1d983 (feat) move pip state to valtio store
replace context provider with shared store for pip ui state
2026-05-12 09:24:30 +02:00
Cyril 2c02a26563 🐛(frontend) clamp pip tooltips on right edge
prevent pip tooltips from overflowing the right side of the window
2026-05-12 09:24:29 +02:00
Cyril 3eb694b6dd fixup! 🌐(i18n) add PiP labels for each supported language 2026-05-12 09:24:29 +02:00
Cyril 9b2e7905fc fixup! (feat) connect PiP to room and options menu 2026-05-12 09:24:29 +02:00
Cyril e1c6fb10f3 fixup! 🐛(fix) add react-aria overlays type shim 2026-05-12 09:24:28 +02:00
Cyril 04ceb5d568 (feat) connect PiP to room and options menu
wire room-level PiP state to the options menu
2026-05-12 09:24:28 +02:00
Cyril 1771527c2d 💄(style) align pip layout with room styling
match pip background and spacing to
2026-05-12 09:24:27 +02:00
Cyril 63a949e420 💄(style) adjust tooltip positioning and fix ts error
raise tooltip offset and set arrowBoundaryOffset
2026-05-12 09:24:26 +02:00
Cyril 69135feba5 🐛(fix) add react-aria overlays type shim
fix missing useUNSAFE_PortalContext export typing
2026-05-12 09:24:26 +02:00
Cyril 57a27de8e7 (feat) add pip lateral menu component
add pip chevron menu
2026-05-12 09:24:25 +02:00
Cyril 09bb4daebc 📝(docs) add pip component documentation
add jsdoc comments to pip components and hooks
2026-05-12 09:24:25 +02:00
Cyril 3e3d9f31a5 🐛(fix) close pip menu on item action
close options menu when selecting transcription or
2026-05-12 09:24:24 +02:00
Cyril 439f7b3746 ♻️(refactor) extract pip control bar component
centralize pip controls in reusable component
2026-05-12 09:24:23 +02:00
Cyril fa6967635d ♻️(feat) extract pip options menu component
keep pip options layout reusable and isolated
2026-05-12 09:24:23 +02:00
Cyril 07e172041f 💄(fix) align overlays in pip
route menus/tooltips to the pip document
2026-05-12 09:24:22 +02:00
Cyril 8c93d26d48 (refactor) stabilize pip layout and controls
avoid layout jumps and prepare for more buttons
2026-05-12 09:24:22 +02:00
Cyril a2c55f2305 🐛(fix) rebuild pip root on reopen
prevent black screen after closing and reopening pip
2026-05-12 09:24:22 +02:00
Cyril 2f1d102b44 🌐(i18n) add PiP labels for each supported language
add labels for PiP in each supported language
2026-05-12 09:24:21 +02:00
Cyril e9634b7610 (feat) connect PiP to room and options menu
connecting pip and room
2026-05-12 09:24:20 +02:00
Cyril 4697cbc875 (feat) add pip portal and base layout
mount react content into pip window with styles
2026-05-12 09:24:20 +02:00
Cyril 8c3fb63724 (feat) add document pip hook
utility hook to cleanly open/close the pip window
2026-05-12 09:24:14 +02:00
UGilfoyle 964b3cd452 🐛(backend) add link to "Open" text in recording email
Added a hyperlink to the "Open" text in step 1 of the recording
notification email instructions. Previously, "Open" was plain text
and users could only access their recording via the button below.
Now the text itself is a clickable link, improving accessibility
for email clients that may not render the button properly.

Updated MJML source template and all 4 locale files (en, fr, de, nl).
2026-05-11 23:04:27 +02:00
Florent Chehab c7ca5a621f 🐛(ci) install ffmpeg for summary tests
Add ffmpeg for summary tests
2026-05-11 23:00:55 +02:00
Florent Chehab 90ebe231ef 🐛(summary) complete webm support
When duration is not reported in the files metadata,
we directly infer the duration from the audio packets.
This prevents errors on webm files.

Very simple audio & video test files have been added
that cover relevant usecases to prevent regressions.
2026-05-11 23:00:54 +02:00
soyouzpanda 04f2a9ebdc ⬆️(mail) fix dependencies not having resolved or integrity field
Update dependencies to the latest minor versions fixed that
by re-resolving the fields.
This is needed for packaging as many distribution retrieve
node modules into the npm cache and then tries to install
node modules into the project without any internet connection.
Since there is no resolved/integrity field, it fails to
get packages from the cache.
2026-05-11 12:45:02 +02:00
renovate[bot] 6a8eb79b41 ⬆️(dependencies) update django to v5.2.14 [SECURITY] 2026-05-11 12:03:18 +02:00
leo bc35046b3a 🩹(summary) fix bug in assign_user
Fix bug in speaker assignment which occurs when LIVEKIT_VERIFY_SSL
is True.
2026-05-07 18:17:15 +02:00
leo 1612d8b2d4 (audio) assign users to diarization speaker results using VAD
Introduce a new user assignment mechanism to for more friendly output
than the current (SPEAKER_0, SPEAKER_1, ...). Use the VAD metadata to
compare speech intervals with those returned by WhisperX. User with the
highest overlap score above a defined threshold is assigned to each segment.
This method allows for multi-speaker scenarios for a single account.
2026-05-07 12:45:00 +02:00
lebaudantoine f8937fc0a1 ♻️(frontend) improve and simplify accessibility font override logic
Fix compatibility issues with the DINUM frontend image, which
overrides the default `font-sans` value.

Simplify the implementation by having the JavaScript layer only
toggle well-scoped CSS classes responsible for accessibility font
overrides. This makes the behavior more predictable and restoring
default styles straightforward.

Also clarify the intent of the hook by making its accessibility
purpose explicit and moving its usage to the App component, where
it better fits the application lifecycle.
2026-05-07 11:20:15 +02:00