fix: strip playback accelerators whenever any text input is focused (#2059)

The command-palette-specific IPC approach didn't cover other modals
with inputs (settings search, playlist creation, etc.). Replace it
with document-level focusin/focusout listeners that signal the main
process whenever any input/textarea/contenteditable gains or loses
focus, so the menu rebuild is triggered automatically for all current
and future input surfaces.

Co-authored-by: muckymucky <muckymucky@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
muckymucky
2026-05-25 21:35:45 +01:00
committed by GitHub
parent 61c6036d41
commit 22d37135ae
4 changed files with 49 additions and 14 deletions
+3 -3
View File
@@ -54,8 +54,8 @@ const forceGarbageCollection = (): boolean => {
}
};
const setCommandPaletteOpen = (opened: boolean) => {
ipcRenderer.send('command-palette-state', opened);
const setInputFocused = (focused: boolean) => {
ipcRenderer.send('input-focus-state', focused);
};
const rendererOpenSettings = (cb: () => void) => {
@@ -105,7 +105,7 @@ export const utils = {
rendererTogglePrivateMode,
rendererToggleSidebar,
rendererUpdateAvailable,
setCommandPaletteOpen,
setInputFocused,
startPowerSaveBlocker,
stopPowerSaveBlocker,
};