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

The backups list is keyboard-first: j/k move between rows, enter opens one #10642

Merged opened this

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

Merged

Each snapshot row on `/settings/backups` is now a `j`/`k` row, using the existing `nav: true` row option. I added no new script or component class. The two new tests, the three related backups test files, `bun scripts/design-lint.ts`, `bun scripts/gate.ts` and `bun x tsc --noEmit` all pass. I did not run the full suite: `scripts/fast.ts` named 1373 test files, over its budget, so I ran the backups…

shipped production is serving it deploy 67e5cc2

opened this

Each snapshot row on /settings/backups is now a j/k row, using the existing nav: true row option. I added no new script or component class. The two new tests, the three related backups test files, bun scripts/design-lint.ts, bun scripts/gate.ts and bun x tsc --noEmit all pass. I did not run the full suite: scripts/fast.ts named 1373 test files, over its budget, so I ran the backups-related ones. I did not run the new test with the change reverted, but its second test needs the new marker to pass.

What changed

  • In src/web/pages/backups.ts, the rows in the Snapshots list now carry nav: true. The row renders data-nav tabindex="-1" and nothing else, so the markup is unchanged for readers without JavaScript.
  • test/keys-backups.test.ts is new. It signs in as an admin and checks that the empty list ("None yet") has no nav row, and that after a snapshot is taken the list has exactly one.
  • scripts/gate.ts does not list test/keys-waves.test.ts, so I added nothing for the new file.
  • docs/features/hotkey-hints.md needs no change, because the hint text is the same.

What I chose not to do

  • The Lanes and Failure domains rows are unchanged. The issue asks for the backups list, and those are separate cards.
  • enter does nothing on a snapshot row: snapshots are plain rows with no link. Only j/k movement works. Making enter open a snapshot needs a snapshot detail page, which is a separate issue.

Try it: as an admin, open /settings/backups with at least one snapshot and press j and k.

The first push was refused by the pre-push hook, which wants a Try: line in a commit message. I amended the commit message to add one.

🤖 Generated with Claude Code

Closes #10428

commented

Each snapshot row on /settings/backups is now a j/k row, using the existing nav: true row option. I added no new script or component class. The two new tests, the three related backups test files, bun scripts/design-lint.ts, bun scripts/gate.ts and bun x tsc --noEmit all pass. I did not run the full suite: scripts/fast.ts named 1373 test files, over its budget, so I ran the backups-related ones. I did not run the new test with the change reverted, but its second test needs the new marker to pass.

What changed

  • In src/web/pages/backups.ts, the rows in the Snapshots list now carry nav: true. The row renders data-nav tabindex="-1" and nothing else, so the markup is unchanged for readers without JavaScript.
  • test/keys-backups.test.ts is new. It signs in as an admin and checks that the empty list ("None yet") has no nav row, and that after a snapshot is taken the list has exactly one.
  • scripts/gate.ts does not list test/keys-waves.test.ts, so I added nothing for the new file.
  • docs/features/hotkey-hints.md needs no change, because the hint text is the same.

What I chose not to do

  • The Lanes and Failure domains rows are unchanged. The issue asks for the backups list, and those are separate cards.
  • enter does nothing on a snapshot row: snapshots are plain rows with no link. Only j/k movement works. Making enter open a snapshot needs a snapshot detail page, which is a separate issue.

Try it: as an admin, open /settings/backups with at least one snapshot and press j and k.

The first push was refused by the pre-push hook, which wants a Try: line in a commit message. I amended the commit message to add one.

🤖 Generated with Claude Code

Approved

Clean one-line change using the existing nav option, no new class or script, markup unchanged without JavaScript. The test covers the empty list and exactly one nav row after a snapshot, and it fails without the change. Note: enter does nothing on a snapshot row because rows have no link; builder disclosed this and a detail page is a separate issue. Not blocking.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs