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

Merged opened this

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

Merged

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

opened this

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 carries nav: true. Origin cards and connect paths have no href, so I left them alone.
  • Test: test/keys-origins.test.ts has 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.

Closes #10542

commented

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 carries nav: true. Origin cards and connect paths have no href, so I left them alone.
  • Test: test/keys-origins.test.ts has 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.

Approved

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs