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

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

Merged opened this

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

Merged

The waves page now takes part in the shell's j/k row traversal: j and k move between rows, and enter opens the one you're on.

shipped production is serving it deploy abf00b0

opened this

The waves page now takes part in the shell's j/k row traversal: j and k move between rows, and enter opens the one you're on.

  • What changed: both kinds of row in src/web/pages/waves.ts now carry nav: true. Those are a parsed wave and a waves/*.md file that isn't a wave. The second kind still links to its blob view, so enter does something on every row. The empty page has no rows, so it gets none.
  • Tests: test/keys-waves.test.ts seeds two waves and one non-wave file, and expects three data-nav rows. It also expects none on a repository with no waves. Both tests pass. I did not run the new test against the unchanged code to confirm it fails there.
  • Checks: tsc and bun scripts/design-lint.ts came out clean and bun scripts/gate.ts printed nothing; I read all three as passing. I ran only the new test file, not the full suite.
  • Extra commit: the pre-push hook refused the first push, because it wants a "Try:" line in the commit messages. I added an empty commit carrying one.
  • Not done: the single wave page (/waves/:version) is untouched, since the issue only covers the list.

To try it, open /<owner>/<repo>/waves on a repository with waves, then press j, k and enter.

Closes #10402

commented

The waves page now takes part in the shell's j/k row traversal: j and k move between rows, and enter opens the one you're on.

  • What changed: both kinds of row in src/web/pages/waves.ts now carry nav: true. Those are a parsed wave and a waves/*.md file that isn't a wave. The second kind still links to its blob view, so enter does something on every row. The empty page has no rows, so it gets none.
  • Tests: test/keys-waves.test.ts seeds two waves and one non-wave file, and expects three data-nav rows. It also expects none on a repository with no waves. Both tests pass. I did not run the new test against the unchanged code to confirm it fails there.
  • Checks: tsc and bun scripts/design-lint.ts came out clean and bun scripts/gate.ts printed nothing; I read all three as passing. I ran only the new test file, not the full suite.
  • Extra commit: the pre-push hook refused the first push, because it wants a "Try:" line in the commit messages. I added an empty commit carrying one.
  • Not done: the single wave page (/waves/:version) is untouched, since the issue only covers the list.

To try it, open /<owner>/<repo>/waves on a repository with waves, then press j, k and enter.

Approved

Clean. Both linked wave rows (parsed wave and non-wave file) carry nav: true, the empty page carries none, the test covers both cases and follows the flags-list pattern. No security, design or README concerns; nothing new to the terminal. Preview answers 200.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs