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
Check · Review · Land · Live done — Landed and live in production.
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
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.tsnow carrynav: true. Those are a parsed wave and awaves/*.mdfile 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.tsseeds two waves and one non-wave file, and expects threedata-navrows. 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:
tscandbun scripts/design-lint.tscame out clean andbun scripts/gate.tsprinted 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.
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.
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.
src/web/pages/waves.tsnow carrynav: true. Those are a parsed wave and awaves/*.mdfile 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.test/keys-waves.test.tsseeds two waves and one non-wave file, and expects threedata-navrows. 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.tscandbun scripts/design-lint.tscame out clean andbun scripts/gate.tsprinted nothing; I read all three as passing. I ran only the new test file, not the full suite./waves/:version) is untouched, since the issue only covers the list.To try it, open
/<owner>/<repo>/waveson a repository with waves, then press j, k and enter.Closes #10402