You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found by the fresh-context review of PR #2615 (#2007 AC5/AC6); pre-existing on main, not introduced by that PR, which only adds a second entry point into the dialog and prints the two keys inside it.
Defect. With the shell keyboard-help dialog open over a Legacy board (ShellKeyboardHelp.vue, role="dialog" aria-modal="true"), a plain f or n still reaches the board. AppShell.vue (~252) returns without stopPropagation when hasActiveKeyboardOwningSurface() is true and no app-shell binding matched, so the keydown bubbles to BoardView's useKeyboardShortcuts listener (useKeyboardShortcuts.ts ~67): f toggles the filter panel behind the modal; n clicks [data-action="toggle-add-card"] (ColumnLane.vue ~247) and focuses the add-card input, pulling focus out of the open dialog. boardShortcutsEnabled (BoardView.vue ~473-475) gates the board bindings on Paper dialogs (the #1959 class) but not on the shell's own help surface.
Repro. Legacy skin, open any board, press ? (or the toolbar help button), press f: the filter panel toggles behind the dialog. Press n: focus leaves the dialog for the add-card input.
Acceptance.
Board bare-letter bindings do not fire while the shell help dialog (either skin twin) is open; either the shell stops propagation for non-matching keys while a keyboard-owning surface is active, or boardShortcutsEnabled also tests the shell help state (the useShellKeyboardHelp seam from PR fix(shortcuts): retire the lying Legacy help dialog and stop the ledger chip clipping #2615 exposes it).
A spec dispatching f and n from document.body with bubbles: true while the help dialog is open asserts neither handler ran and focus stays inside the dialog.
? and Escape keep toggling and closing the dialog.
Found by the fresh-context review of PR #2615 (#2007 AC5/AC6); pre-existing on
main, not introduced by that PR, which only adds a second entry point into the dialog and prints the two keys inside it.Defect. With the shell keyboard-help dialog open over a Legacy board (
ShellKeyboardHelp.vue,role="dialog" aria-modal="true"), a plainfornstill reaches the board.AppShell.vue(~252) returns withoutstopPropagationwhenhasActiveKeyboardOwningSurface()is true and no app-shell binding matched, so the keydown bubbles toBoardView'suseKeyboardShortcutslistener (useKeyboardShortcuts.ts~67):ftoggles the filter panel behind the modal;nclicks[data-action="toggle-add-card"](ColumnLane.vue~247) and focuses the add-card input, pulling focus out of the open dialog.boardShortcutsEnabled(BoardView.vue~473-475) gates the board bindings on Paper dialogs (the #1959 class) but not on the shell's own help surface.Repro. Legacy skin, open any board, press
?(or the toolbar help button), pressf: the filter panel toggles behind the dialog. Pressn: focus leaves the dialog for the add-card input.Acceptance.
boardShortcutsEnabledalso tests the shell help state (theuseShellKeyboardHelpseam from PR fix(shortcuts): retire the lying Legacy help dialog and stop the ledger chip clipping #2615 exposes it).fandnfromdocument.bodywithbubbles: truewhile the help dialog is open asserts neither handler ran and focus stays inside the dialog.?and Escape keep toggling and closing the dialog.Refs #2007, #1968, PR #2615.