"Focus camera" pins a participant with no way to unpin #56

Closed
opened 2026-09-12 01:51:17 -04:00 by jared · 0 comments
Owner

Severity: low · Type: ux · Confidence: medium

Location: src/app/features/call-status/MemberGlance.tsx:42-45, src/app/plugins/call/CallControl.ts:449-460

Problem

the participant menu sends io.lotus.focus_participant { userId }, which per its own doc comment is a sticky manual spotlight pin fork-side. CallControl.clearFocusParticipant() (which sends { userId: null } to "return to speaker-follows") exists but is never called from anywhere in the codebase — grep finds zero callers. There is no "Clear focus" menu item, and the Spotlight/Grid menu entry toggles EC's layout mode via a DOM click rather than clearing the pin, so once a user focuses someone the spotlight stays pinned to them for the rest of the call.

How to trigger

in a 3-person call, use MemberGlance → "Focus camera" on one participant, then try to return to automatic speaker-follows.

Suggested fix

add a "Clear focus" menu item (and/or clear the pin when the same participant is selected again) wired to clearFocusParticipant(); also clear it on hangup. Confidence is medium only because the sticky-pin behaviour lives in the EC fork and needs a live call to confirm.


Filed from the September 2026 client audit (branch lotus @ 4bea4895).

**Severity:** low · **Type:** ux · **Confidence:** medium **Location:** `src/app/features/call-status/MemberGlance.tsx:42-45`, `src/app/plugins/call/CallControl.ts:449-460` ### Problem the participant menu sends `io.lotus.focus_participant { userId }`, which per its own doc comment is a sticky manual spotlight pin fork-side. `CallControl.clearFocusParticipant()` (which sends `{ userId: null }` to "return to speaker-follows") exists but is never called from anywhere in the codebase — grep finds zero callers. There is no "Clear focus" menu item, and the Spotlight/Grid menu entry toggles EC's layout mode via a DOM click rather than clearing the pin, so once a user focuses someone the spotlight stays pinned to them for the rest of the call. ### How to trigger in a 3-person call, use MemberGlance → "Focus camera" on one participant, then try to return to automatic speaker-follows. ### Suggested fix add a "Clear focus" menu item (and/or clear the pin when the same participant is selected again) wired to `clearFocusParticipant()`; also clear it on hangup. Confidence is medium only because the sticky-pin behaviour lives in the EC fork and needs a live call to confirm. --- _Filed from the September 2026 client audit (branch `lotus` @ 4bea4895)._
jared added this to the Audit 2026-09 · Medium & Low milestone 2026-09-12 01:51:17 -04:00
jared added the priority: lowuxarea: calls labels 2026-09-12 01:51:17 -04:00
jared self-assigned this 2026-09-12 01:51:17 -04:00
jared closed this issue 2026-09-12 20:29:01 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#56