From 4ac5d7699a279d13d9de9dffd864f17be12707cc Mon Sep 17 00:00:00 2001 From: Isaac Sanchez-Hawkins <266845420+isanchez404@users.noreply.github.com> Date: Fri, 8 May 2026 08:26:36 -0400 Subject: [PATCH] fix(ui): allow escape to close mobile settings (#1144) Co-authored-by: Isaac Sanchez --- packages/ui/src/hooks/useKeyboardShortcuts.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/ui/src/hooks/useKeyboardShortcuts.ts b/packages/ui/src/hooks/useKeyboardShortcuts.ts index 29277a5b..e66e2b2e 100644 --- a/packages/ui/src/hooks/useKeyboardShortcuts.ts +++ b/packages/ui/src/hooks/useKeyboardShortcuts.ts @@ -403,11 +403,6 @@ export const useKeyboardShortcuts = () => { target?.getAttribute('data-terminal-hidden-input') === 'true' ); - if (isInsideDialog || isSettingsMounted || isInsideTerminal) { - resetAbortPriming(); - return; - } - const { isSettingsDialogOpen, isCommandPaletteOpen, @@ -419,6 +414,11 @@ export const useKeyboardShortcuts = () => { activeMainTab, } = useUIStore.getState(); + if (isInsideDialog || isInsideTerminal) { + resetAbortPriming(); + return; + } + // If settings is open, close it if (isSettingsDialogOpen) { e.preventDefault(); @@ -427,6 +427,11 @@ export const useKeyboardShortcuts = () => { return; } + if (isSettingsMounted) { + resetAbortPriming(); + return; + } + // Check if any overlay is open or not on chat tab - don't process abort const hasOverlay = isCommandPaletteOpen || isHelpDialogOpen || isSessionSwitcherOpen || isAboutDialogOpen || isMultiRunLauncherOpen || isImagePreviewOpen; const isChatActive = activeMainTab === 'chat';