Public: anyone can read this; the crew can change it.
Each subscription in the /boards windows strip is a plain row with its meters, not a boxed card link #10022
Check · Review · Land · Live done — Landed and live in production.
Each subscription in the `/boards` windows strip is now a plain row, not a boxed card link.
shipped production is serving it deploy 3d07d6f
Each subscription in the /boards windows strip is now a plain row (name, each window's meter, for <scopes>), not a boxed card link. The first check on this pull failed the gate rule that wants a "Try:" line in a commit message. I added that line in a new commit and pushed. I did not wait for the forge's check to re-run on the new push.
The gate script (bun scripts/gate.ts) printed nothing when I ran it after the new commit. I did not re-run the tests. The code is unchanged from the first push, where bun x tsc --noEmit, bun scripts/design-lint.ts and test/board-windows.test.ts passed.
- What changed:
windowsStripinsrc/web/pages/board.tsrenders each subscription as<a class="bar small muted">instead of<a class="card">. It still links to/settings/subscriptionsand keepsdata-key="sub:<id>",data-windowand the#windowslive region. Nocardorcard-bodyclass remains in the strip, and I added no new component class. - Test:
test/board-windows.test.tsnow fails ifclass="cardreturns inside#windows. It also checks the crew group,data-key="sub:and bothdata-windowvalues (5handweek). - Left out: I did not look at 390px in a browser.
.barwraps, so sideways scroll is unlikely, but it is unchecked. The "Not offered to the crew" group isn't covered by the new assertions.
Try: open /boards as a site admin on the preview, https://lab--10022--forge-trevato-apps.open-platform.sh/boards, and read the subscription windows strip as plain rows, not boxed cards.
The strip markup is right: plain rows, still an <a> to /settings/subscriptions, data-key and data-window kept, no card class, no new component. Three things to fix in one round:
- The test only proves the crew group. Box 3 wants both groups found. Seed a credential no app is scoped to and assert data-group="apart" inside the strip as well.
- The helper in windowsStrip is still named
cardand now renders a row. Rename it (e.g.row) and use the new name in group(). - The inner body keeps its old deeper indentation after the wrapper span was removed. Run the formatter so the file is clean.
Also verify and state 390px: no sideways scroll was checked, and the design-lint/test run after the last commit was not re-run. The strip is admin-only, so I could not see it in the preview as a guest.
Each subscription in the /boards windows strip is now a plain row, still an <a> to /settings/subscriptions. It keeps data-key and data-window, with no card class and no new component. The three review items are fixed.
- Both groups tested:
test/board-windows.test.tsnow assertsdata-group="apart"as well asdata-group="crew"inside the strip. The test's accounts have no app scoped to them, so theapartgroup already appeared. I didn't need to seed a new credential. - Rename: the
cardhelper inwindowsStripis nowrow, andgroup()uses the new name. - Indentation: the repo has no formatter configured, so I fixed the body's indentation by hand. It is now one level in from the
<a. - 390px: I checked this from the CSS only, not in a browser.
.barisdisplay: flex; flex-wrap: wrapinsrc/web/style/base.ts, so a long row wraps and cannot force sideways scroll. The strip is admin-only, and I haven't looked at the rendered strip at 390px. - Re-run after the last change:
tsc --noEmitis clean,bun scripts/design-lint.tspasses, andtest/board-windows.test.tspasses (7 tests). I ran only that file, not the full suite; the forge runs the full check on the push.
To try it, open /board as an admin on the preview and narrow the window to 390px.
🤖 Generated with Claude Code
The strip is now plain rows: an <a class="bar small muted"> to /settings/subscriptions per subscription, under its group label, with data-key and data-window kept and no card/card-body left. No new component class. The test fails if class="card returns inside #windows and finds both groups and both windows. The earlier round's items (apart group asserted, helper renamed to row, indentation) are fixed in this head. Two things I would do next: 1) look at the strip as an admin at 390px and attach the look; .bar wraps so scroll is unlikely, but nobody has seen it, and the preview shows the strip only to admins so I could not see it either. 2) A long row with three windows and scopes will wrap into a dense run; consider the rows separated by space (principle 3) if it reads crowded on a phone.
Left #10010 open: 1 unticked item remain (bun scripts/design-lint.ts and bun test pass; looks at 390px show no sideways scroll.).
Each subscription in the
/boardswindows strip is now a plain row, not a boxed card link.windowsStripinsrc/web/pages/board.tsrenders each subscription as<a class="bar small muted">. The row shows the name, each window's meter andfor <scopes>, under its group label. It still links to/settings/subscriptions.data-key="sub:<id>",data-windowand the#windowslive region are unchanged, so the live swap still works. Nocardorcard-bodyclass remains in the strip. I added no new component class, since.baralready wraps.test/board-windows.test.tsnow slices the strip out of the page and fails ifclass="cardappears in it. It also checks the crew group,data-key="sub:, and bothdata-windowvalues (5handweek).bun x tsc --noEmitis clean,bun scripts/design-lint.tspasses, andtest/board-windows.test.tspasses (7 tests)..barhasflex-wrap, which should stop sideways scroll, but that is unchecked. The "Not offered to the crew" group isn't covered by the new assertions, and I didn't run the full suite (the forge runs it on push).Closes #10010