Skip to content

feat(serve): Cmd/Ctrl+K command palette - #69

Merged
efij merged 1 commit into
mainfrom
feat/cmdk-palette
Sep 30, 2026
Merged

efij merged 1 commit into
mainfrom
feat/cmdk-palette

Conversation

@efij

@efij efij commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Why

Cmd/Ctrl+K only focused the small header field; there was no popup. On a narrow window that field is hidden, so the shortcut silently switched to More › Search.

What

A command palette over the page:

  • Empty: recent searches, the findings to look at first, views, actions.
  • Typing: fuzzy match over views, More sections, findings (plain title or rule id) and conversations, 5–7 ms per keystroke on a 353k-event / 2,495-finding case. Matching actions from the evidence (/api/search, events only) arrive a moment later, with a visible "Searching every recorded action…" line meanwhile.
  • Keys: ↑ ↓ / Tab move, ↵ opens, Cmd/Ctrl+↵ full search (original files included), Esc clears then closes, / opens it too. The header field and a new phone search button open the same palette.
  • Dialog + combobox + listbox semantics with aria-activedescendant; focus never left in the hidden input; secrets masked in every result; dark mode; reduced motion.

Existing shortcuts are unchanged: physical-key matching, j/k in Activity, arrows in Findings, Esc closes the drawer.

Verified

  • go test ./... green, new TestCommandPalette, existing TestShortcutsMatchPhysicalKeys still passes.
  • Chrome (Playwright) script: Cmd+K opens with focus in the box; typing "cloud" lists findings, evidence and the full-search row; ↓ ↵ opens the finding; Esc closes; / opens; Cmd+↵ runs the full search; fuzzy "overvw" → Overview; header click opens; j still works; phone width shows the search button and it opens. No console errors. The first run caught a focus bug (keys typed into the closed palette), fixed and re-verified.
  • Large real case: typing stays at 5–7 ms per keystroke; evidence search replaces the pending line when it returns (2–3 s there).

Generated with Claude Code

Cmd/Ctrl+K only focused the small header field, and on a narrow window
that field is hidden, so the shortcut silently switched to More › Search.
It now opens a palette over the page:

- empty: recent searches, the findings to look at first, views, actions
- typing: fuzzy match over views, More sections, findings (plain title or
  rule id) and conversations, instantly; matching actions from the
  evidence via /api/search a moment later, with a visible pending line
- keys: up/down/Tab, Enter, Cmd/Ctrl+Enter for the full search, Esc
  clears then closes; "/" opens it too; header field and a phone search
  button open the same palette
- dialog + combobox + listbox semantics, focus never left in the hidden
  input, secrets masked in every result, reduced-motion respected

Existing shortcuts (physical-key matching, j/k, drawer Esc) unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
@efij
efij merged commit 0d444ab into main Sep 30, 2026
6 checks passed
@efij
efij deleted the feat/cmdk-palette branch September 30, 2026 10:12
@efij efij mentioned this pull request Oct 1, 2026
efij added a commit that referenced this pull request Oct 1, 2026
Cloud audit logs as a second witness (#67), delta runs with signed and
proven rounds (#68), and the Cmd/Ctrl+K command palette (#69).

Co-authored-by: Claude <noreply@anthropic.com>
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.

1 participant