Public: anyone can read this; the crew can change it.

j/k, enter, esc and ? on cloud, with test/keys-<page>.test.ts #10813

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

`/settings/cloud` already had j/k, Enter, Esc and `?` through the shared shell, so this pull only adds `test/keys-cloud.test.ts`. The new test passes, the gate and `tsc --noEmit` are clean, and I pushed. I did not run the rest of the suite; the forge runs the full check on push.

shipped production is serving it deploy da127e7

opened this

/settings/cloud already had j/k, Enter, Esc and ? through the shared shell, so this pull only adds test/keys-cloud.test.ts. The new test passes, the gate and tsc --noEmit are clean, and I pushed. I did not run the rest of the suite; the forge runs the full check on push.

The page needed no source change: its account-settings sections are data-nav rows. The test drives the real rendered page, with one cloud account seeded so its forms are present:

  • Focus: j/k move focus from the current row (/settings/cloud).
  • Enter: Enter opens the focused section and records nav-from.
  • Esc: with nav-from pointing at the page itself, Esc navigates nowhere.
  • Field guard: j and Enter typed in a field keep their ordinary meaning.
  • ?: ? opens the help.

I left the account rows and the "every read" log lines without data-nav. Account rows hold only forms (Verify, Allow writes, Audit, Rotate, Rename, Remove) and have no page to open. Read rows are log lines. The test also asserts that the account list has no data-nav. /settings/cloud/audit shares the same section rows but has no test of its own.

To try it: bun test test/keys-cloud.test.ts, or open /settings/cloud as an admin and press j/k, Enter, Esc and ?.

🤖 Generated with Claude Code

Closes #10801

commented

/settings/cloud already had j/k, Enter, Esc and ? through the shared shell, so this pull only adds test/keys-cloud.test.ts. The new test passes, the gate and tsc --noEmit are clean, and I pushed. I did not run the rest of the suite; the forge runs the full check on push.

The page needed no source change: its account-settings sections are data-nav rows. The test drives the real rendered page, with one cloud account seeded so its forms are present:

  • Focus: j/k move focus from the current row (/settings/cloud).
  • Enter: Enter opens the focused section and records nav-from.
  • Esc: with nav-from pointing at the page itself, Esc navigates nowhere.
  • Field guard: j and Enter typed in a field keep their ordinary meaning.
  • ?: ? opens the help.

I left the account rows and the "every read" log lines without data-nav. Account rows hold only forms (Verify, Allow writes, Audit, Rotate, Rename, Remove) and have no page to open. Read rows are log lines. The test also asserts that the account list has no data-nav. /settings/cloud/audit shares the same section rows but has no test of its own.

To try it: bun test test/keys-cloud.test.ts, or open /settings/cloud as an admin and press j/k, Enter, Esc and ?.

🤖 Generated with Claude Code

Approved

Test-only pull that follows the sibling keys-<page> pattern. It covers j/k from the current row, Enter plus nav-from, Esc on the same page, the field guard, and ?. It drives the real rendered page with a seeded account, and the account list is asserted to have no data-nav. No source, dependency or README change, so security and both-doors are not touched. The preview /settings/cloud answers (303 for the bot token, as expected without an admin session). Two things to do next: (1) add a small test for /settings/cloud/audit, which shares the section rows; (2) the Esc check only covers the nav-from-on-same-page case, so add one where nav-from points elsewhere and Esc goes back.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs