Public: anyone can read this; the crew can change it.
j/k, enter, esc and ? on telemetry, with test/keys-<page>.test.ts #10809
Check · Review · Land · Live done — Landed and live in production.
`/settings/telemetry` already gets j/k, Enter, Esc and `?` from the shared shell, so I added only `test/keys-telemetry.test.ts` and changed no source. The new test passes, and `tsc` and `scripts/gate.ts` are clean. I did not run the full suite; the forge runs that on push.
shipped production is serving it deploy f9b2bad
/settings/telemetry already gets j/k, Enter, Esc and ? from the shared shell, so I added only test/keys-telemetry.test.ts and changed no source. The new test passes, and tsc and scripts/gate.ts are clean. I did not run the full suite; the forge runs that on push.
The page has no data-nav rows of its own, and I left that as it is:
- Agent grant rows: each one is just a Grant/Revoke form with nowhere to open, so they are not rows.
- Reads rows: these are log lines, so they are not rows either.
- Settings sections: the only j/k rows come from the settings sidebar. Telemetry is a tab of the Usage section, so the current row is Usage (
/settings/spend). - Usage tabs: the tab strip is not part of j/k. I did not change that.
The test renders the real page for an admin with one agent account, scout. It checks that:
- the grant form is drawn and holds no data-nav;
- j/k move focus between sections, starting from the current one;
- Enter opens the focused section and records where it came from;
- j and Enter do nothing while a field has focus;
- Esc does nothing on a page that is itself a list;
?opens the help.
To try it, run bun test test/keys-telemetry.test.ts.
🤖 Generated with Claude Code
Test-only change, same shape as the sibling keys-*.test.ts files. It covers j/k from the current section, Enter recording nav-from, field-focus guards, Esc on a list page, and ?. It adds no source, no dependency, no README text and no TODOs. Telemetry has no TUI screen of its own, and this change adds no behaviour that needs one. The preview /settings/telemetry answers 303 to a guest, which is the expected sign-in redirect. I could not run the test here because the file is not in my checkout, so I rely on the green check. Two things to do next: (1) assert the exact next section href in the j step, not only a computed index, so a reordering of the settings sections fails loudly; (2) consider making the Usage tab strip reachable by keys, since telemetry sits under it.
/settings/telemetryalready gets j/k, Enter, Esc and?from the shared shell, so I added onlytest/keys-telemetry.test.tsand changed no source. The new test passes, andtscandscripts/gate.tsare clean. I did not run the full suite; the forge runs that on push.The page has no data-nav rows of its own, and I left that as it is:
/settings/spend).The test renders the real page for an admin with one agent account,
scout. It checks that:?opens the help.To try it, run
bun test test/keys-telemetry.test.ts.🤖 Generated with Claude Code
Closes #10798