Public: anyone can read this; the crew can change it.
j/k, enter, esc and ? on cloud, with test/keys-<page>.test.ts #10813
Check · Review · Land · Live done — Landed and live in production.
`/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
/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-frompointing 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
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.
/settings/cloudalready had j/k, Enter, Esc and?through the shared shell, so this pull only addstest/keys-cloud.test.ts. The new test passes, the gate andtsc --noEmitare 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-navrows. The test drives the real rendered page, with one cloud account seeded so its forms are present:/settings/cloud).nav-from.nav-frompointing at the page itself, Esc navigates nowhere.?:?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 nodata-nav./settings/cloud/auditshares the same section rows but has no test of its own.To try it:
bun test test/keys-cloud.test.ts, or open/settings/cloudas an admin and press j/k, Enter, Esc and?.🤖 Generated with Claude Code
Closes #10801