fix(calls): Push to Deafen can be switched off, and a typable deafen key can no longer fire while typing
CI / Build & Quality Checks (push) Successful in 1m38s
CI / Docker image build & smoke test (push) Skipped
CI / Secret scan (gitleaks) (push) Successful in 11s
CI / Trigger Desktop Build (push) Successful in 8s
CI / Playwright smoke (e2e) (push) Successful in 2m0s

Root cause of the 'went deaf while typing' reports: the deafen key (default
M) and Cinny's type-anywhere-to-focus-the-composer both listen on window,
so the first letter of a message typed after clicking the timeline toggled
deafen and was swallowed (reproduced: typing 'mom' → deafened, composer
shows 'om'). Now: (1) Settings → Calls → Push to Deafen has an on/off
switch (deafenHotkey); (2) a letter/digit/Space deafen key only toggles
where no composer is on screen — typing wins; (3) such keys are never
bound system-wide on desktop — only F-keys, numpad and the lock/navigation
cluster qualify (isSafeGlobalToggleKey) — so 'm' typed in another app
can't deafen you. Verified in live calls: M still toggles in the call
view, is ignored on a chat screen, switch off disables it entirely.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA
This commit is contained in:
2026-09-18 23:15:00 -04:00
co-authored by Claude Opus 5
parent da2d7a7d4f
commit 30fd22a5c5
5 changed files with 115 additions and 18 deletions
+3
View File
@@ -260,6 +260,8 @@ export interface Settings {
glassmorphismSidebar: boolean;
deafenKey: string;
/** Master switch for the push-to-deafen key (both in-window and system-wide). */
deafenHotkey: boolean;
warnOnUnverifiedDevices: boolean;
@@ -381,6 +383,7 @@ const defaultSettings: Settings = {
glassmorphismSidebar: false,
deafenKey: 'KeyM',
deafenHotkey: true,
warnOnUnverifiedDevices: false,