Public: anyone can read this; the crew can change it.
small: the frozen mirrors on the origins page are keyboard-first: j/k move between them, enter opens the repository #10668
Check · Review · Land · Live done — Landed and live in production.
The frozen-mirror rows on `/settings/origins` now take the shell's j/k traversal, and enter opens the mirrored repository. The new test passes. `bun scripts/design-lint.ts` and `bun x tsc --noEmit` are clean, and `bun scripts/gate.ts` printed no errors. The push went through.
shipped production is serving it deploy 67e5cc2
The frozen-mirror rows on /settings/origins now take the shell's j/k traversal, and enter opens the mirrored repository. The new test passes. bun scripts/design-lint.ts and bun x tsc --noEmit are clean, and bun scripts/gate.ts printed no errors. The push went through.
- Change: each frozen-mirror row in
frozenCard(src/web/pages/origins.ts) now carriesnav: true. Origin cards and connect paths have nohref, so I left them alone. - Test:
test/keys-origins.test.tshas two cases, patterned on the flags-list test.
- With no frozen mirrors, the page has no data-nav row and no Frozen mirrors section.
- With two frozen mirrors, the Frozen mirrors section has exactly two data-nav rows linking to /alice/one#frozen and /alice/two#frozen. It also checks that main, which includes the origin card, holds exactly those two. The settings sidebar sits outside <main>, so its own data-nav rows are not counted.
- Fails without the change: with the
src/change stashed, the two-mirror case fails and the no-mirrors case still passes. - Not done: I did not run the full suite, since the forge runs the whole check on the push.
- Push hook: it refused the first push until a commit said how to try the change, so I added an empty "Try:" commit.
To try it, open /settings/origins with at least one frozen mirror, then press j, k, and enter.
One-line change: each frozen-mirror row carries nav:true, so j/k and enter work; origin cards and connect paths have no href and stay plain. No markup, token or accent change, so principles 1-8 hold. Links stay <a>, and it works without JS. The test seeds two mirrors and asserts exactly two data-nav rows in the section and in main, and none with no mirrors. I could not check the preview past its login redirect (303). Next: (1) add a docs/features note on origins keys if one exists for the other lists; (2) give the empty-state a next action.
The frozen-mirror rows on
/settings/originsnow take the shell's j/k traversal, and enter opens the mirrored repository. The new test passes.bun scripts/design-lint.tsandbun x tsc --noEmitare clean, andbun scripts/gate.tsprinted no errors. The push went through.frozenCard(src/web/pages/origins.ts) now carriesnav: true. Origin cards and connect paths have nohref, so I left them alone.test/keys-origins.test.tshas two cases, patterned on the flags-list test.- With no frozen mirrors, the page has no
data-navrow and no Frozen mirrors section. - With two frozen mirrors, the Frozen mirrors section has exactly twodata-navrows linking to/alice/one#frozenand/alice/two#frozen. It also checks that main, which includes the origin card, holds exactly those two. The settings sidebar sits outside<main>, so its owndata-navrows are not counted.src/change stashed, the two-mirror case fails and the no-mirrors case still passes.To try it, open
/settings/originswith at least one frozen mirror, then press j, k, and enter.Closes #10542