fix(settings): allow Escape to close from controls (#17516)

docs(orchestration): clarify terminal worktree selection

Co-authored-by: m4air <m4air@m4airs-Air.localdomain>
This commit is contained in:
OrcaWin
2026-08-30 18:38:41 -07:00
committed by GitHub
co-authored by m4air
parent b1f5d2dd2a
commit a4bf9bb1e8
2 changed files with 3 additions and 3 deletions
@@ -29,6 +29,7 @@ export const ORCHESTRATION_WORKER_COMMAND_SPECS: CommandSpec[] = [
],
notes: [
'Current and existing worktrees never rerun setup; a fresh agent terminal is created unless --terminal is explicit.',
'When reusing --terminal, pass --worktree for that terminal; current means the coordinator worktree.',
'--model supports Claude, Codex, and Cursor opaque provider model ids; --effort requires --model. Neither can combine with --terminal.',
'New worktrees use agent-first creation and default --setup to run. Repository start-immediately runs setup beside the agent; wait-for-setup gates agent readiness and task input.',
'Creation flags (--name, --repo, --base-branch, --display-name, --comment, --setup) are rejected for current/existing worktrees. Use exact --repo on the selected server; project/host convenience routing remains on worktree create.',
@@ -16,7 +16,6 @@ import type { SettingsStoreModel } from './use-settings-store-model'
import type { SettingsInteractionController } from './use-settings-interaction-controller'
import {
getSettingsSectionId,
isEditableTarget,
SHORTCUTS_ESCAPE_CONFIRM_TOAST_ID,
SHORTCUTS_ESCAPE_CONFIRM_WINDOW_MS
} from './settings-navigation-foundations'
@@ -89,8 +88,8 @@ export function useSettingsPageEffects(
if (hasVisibleOverlay()) {
return
}
// Why: Escape in an editable control means "cancel this edit", not "close Settings" — defer to the field's own handler.
if (isEditableTarget(event.target)) {
// Why: IME composition owns Escape; ordinary controls should still close Settings.
if (event.isComposing) {
return
}
if (activeSectionId === 'shortcuts') {