Context
Follow-up improvements identified after #2361 (MatrixRTC + LiveKit SFU migration). Five independent
items — may split into separate issues once scoped, tracked together here for now.
What this involves
a) Picture-in-Picture for calls/screenshare
Let users navigate away from the call tab while keeping the call visible, via the
Document Picture-in-Picture API
(Chrome/Edge 116+ — supports rendering full custom call UI, not just a <video> element), with a
draggable-overlay fallback for Safari/Firefox (no Document PiP support yet). Must be opt-in (a
"pop out" toolbar button), not automatic — matches Meet/Zoom/Teams convention and is required
anyway since browsers mandate a user gesture to open PiP. No utility library needed — native API +
a small custom hook, unless LiveKit's SDK already ships a PiP helper (worth checking first).
Update: most of this already exists (CALL_DOCUMENT_PIP_ENABLED = false, full Document PiP
hook/overlay wiring in place) but is currently disabled and only auto-opens during screenshare —
this item is a re-enable + extend to a manual "pop out" affordance for calls generally, not new
infra.
b) Screenshare side panel layout
When someone is sharing their screen, the participants side panel currently renders as a grid,
wasting space. Should render as a simple single-column, single-participant-width list instead.
c) "Sound isolation" feature investigation
Reportedly has no observable effect currently. Needs investigation into how it's wired today
(likely a LiveKit noise-suppression/audio-processing option) and what's needed to make it actually
work.
d) Recording upgrade
Known follow-up from #2361 — needs scoping to determine if it stays part of this issue or gets
split out once scoped.
e) Cross-context call awareness
Users on a Signal (DM) thread don't see any indicator that a call is active in the room or in
another signal. Neither the in-call dock overlay (only shows once you're already in a call) nor
the join-hero banner (room-scoped only) covers this case. Needs a subtle, non-invasive
notification — not the current full-screen-style overlay — surfaced regardless of what
chat/signal the user is currently viewing, without over-notifying (e.g. a user already on a call
shouldn't be bothered the same way).
Depends on
Open questions
Context
Follow-up improvements identified after #2361 (MatrixRTC + LiveKit SFU migration). Five independent
items — may split into separate issues once scoped, tracked together here for now.
What this involves
a) Picture-in-Picture for calls/screenshare
Let users navigate away from the call tab while keeping the call visible, via the
Document Picture-in-Picture API
(Chrome/Edge 116+ — supports rendering full custom call UI, not just a
<video>element), with adraggable-overlay fallback for Safari/Firefox (no Document PiP support yet). Must be opt-in (a
"pop out" toolbar button), not automatic — matches Meet/Zoom/Teams convention and is required
anyway since browsers mandate a user gesture to open PiP. No utility library needed — native API +
a small custom hook, unless LiveKit's SDK already ships a PiP helper (worth checking first).
Update: most of this already exists (
CALL_DOCUMENT_PIP_ENABLED = false, full Document PiPhook/overlay wiring in place) but is currently disabled and only auto-opens during screenshare —
this item is a re-enable + extend to a manual "pop out" affordance for calls generally, not new
infra.
b) Screenshare side panel layout
When someone is sharing their screen, the participants side panel currently renders as a grid,
wasting space. Should render as a simple single-column, single-participant-width list instead.
c) "Sound isolation" feature investigation
Reportedly has no observable effect currently. Needs investigation into how it's wired today
(likely a LiveKit noise-suppression/audio-processing option) and what's needed to make it actually
work.
d) Recording upgrade
Known follow-up from #2361 — needs scoping to determine if it stays part of this issue or gets
split out once scoped.
e) Cross-context call awareness
Users on a Signal (DM) thread don't see any indicator that a call is active in the room or in
another signal. Neither the in-call dock overlay (only shows once you're already in a call) nor
the join-hero banner (room-scoped only) covers this case. Needs a subtle, non-invasive
notification — not the current full-screen-style overlay — surfaced regardless of what
chat/signal the user is currently viewing, without over-notifying (e.g. a user already on a call
shouldn't be bothered the same way).
Depends on
Open questions