Skip to content

feat: add surface-aware shortcuts#418

Merged
BorisTyshkevich merged 3 commits into
mainfrom
agent/surface-aware-shortcuts-417
Jul 24, 2026
Merged

feat: add surface-aware shortcuts#418
BorisTyshkevich merged 3 commits into
mainfrom
agent/surface-aware-shortcuts-417

Conversation

@BorisTyshkevich

@BorisTyshkevich BorisTyshkevich commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a shared, surface-aware shortcut catalog for SQL Browser and Dashboard.

  • Renders contextual, platform-aware, accessible shortcut help with focus management and a scroll-safe modal.
  • Adds Dashboard refresh, View/Edit, and G navigation commands while preserving Workbench commands on SQL Browser only.
  • Registers refresh against the current Dashboard viewer generation and clears it during surface transitions, preventing stale-session dispatch.
  • Uses tokenized keyboard ownership for dialogs, stacked result drawers, menus/popovers, and detached fallback overlays so application shortcuts cannot execute behind them.
  • Tears down contextual shortcut help across navigation, popstate, sign-out, authentication loss, and workspace error surfaces.
  • Dispatches navigation chords from the same executable catalog used by help, including nested role="textbox" suppression.

Why

The shared shortcut-help control previously documented Workbench commands on Dashboard and ? could not open contextual help there.

Review also identified modal surfaces that did not participate in keyboard ownership, stale body-mounted help surviving surface/authentication transitions, and a separately hardcoded chord routing table. Those gaps could run commands behind dialogs, cancel a query with the same Escape used to close a result drawer, and let help drift from runtime behavior.

Validation

  • npm test — 5,083 passing tests; strict TypeScript, architecture checks, and per-file coverage gates pass.
  • npm run build — single-file dist/sql.html build succeeds.

Closes #417.

@BorisTyshkevich
BorisTyshkevich marked this pull request as ready for review July 24, 2026 11:10
@BorisTyshkevich
BorisTyshkevich merged commit 7100f91 into main Jul 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Surface-aware keyboard shortcuts and Dashboard shortcut set

1 participant