refactor: normalize keyboard scope handling #382

Merged
barrettruth merged 1 commit from issue-324-keyboard-scope-normalize into main 2026-05-12 12:54:27 +00:00
Owner

Problem

Keyboard guard behavior was duplicated across global navigation, queue, kanban, calendar, settings, popovers, dialogs, and task detail handlers.

Solution

  • Add a shared keyboard scope helper for editable focus detection, browser shortcut guards, modifier-only keys, scoped handler checks, and keydown registration.
  • Migrate representative global, view, settings, dialog, popover, and task-panel handlers to the shared contract.
  • Keep fixed shortcut definitions and help text intact while removing leftover customization metadata.
  • Add helper contract coverage and a representative scoped keydown registration test.

Verification

  • nix develop --command sh -c "pnpm install --frozen-lockfile && pnpm vitest run tests/lib/keyboard.test.ts tests/lib/keymap-defs.test.ts --reporter=verbose"
  • nix develop --command just lint
  • nix develop --command just test
  • nix develop --command just build

Closes #324

## Problem Keyboard guard behavior was duplicated across global navigation, queue, kanban, calendar, settings, popovers, dialogs, and task detail handlers. ## Solution - Add a shared keyboard scope helper for editable focus detection, browser shortcut guards, modifier-only keys, scoped handler checks, and keydown registration. - Migrate representative global, view, settings, dialog, popover, and task-panel handlers to the shared contract. - Keep fixed shortcut definitions and help text intact while removing leftover customization metadata. - Add helper contract coverage and a representative scoped keydown registration test. ## Verification - nix develop --command sh -c "pnpm install --frozen-lockfile && pnpm vitest run tests/lib/keyboard.test.ts tests/lib/keymap-defs.test.ts --reporter=verbose" - nix develop --command just lint - nix develop --command just test - nix develop --command just build Closes #324
refactor keyboard scope handling
All checks were successful
quality / Test (pull_request) Successful in 17s
quality / Lint (pull_request) Successful in 21s
quality / Build (pull_request) Successful in 42s
fc6c2df293
barrettruth deleted branch issue-324-keyboard-scope-normalize 2026-05-12 12:54:28 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta!382
No description provided.