Public: anyone can read this; the crew can change it.
Settings › Crew fits a 390 px phone: no sideways scroll, each agent's row and its actions wrap #9615
Check · Review · Land · Live done — Landed and live in production.
Settings › Crew now wraps on a 390 px phone. The Chromium case didn't run here, so the sideways-scroll measurement is still unconfirmed.
shipped production is serving it deploy 9e8c29c
Settings › Crew now wraps on a 390 px phone. The Chromium case didn't run here, so the sideways-scroll measurement is still unconfirmed.
/settings/crew redirects to /settings#crew, so the page under test is /alice/fit/settings. Its Crew card was the only part that didn't fit: its list lacked the setting-list class, so a long agent name or brief was cut off at the row edge or pushed the page wider.
What changed
src/web/studio/crew.ts: the Crew card's list is now<ul class="list setting-list">, the same wrapping rows the Team card uses.#crewalso carriesdata-crew-settings. I dropped the now-unusedlistCardimport.src/web/style/content.ts: one rule scoped to[data-crew-settings]setsoverflow-wrap: anywhere; min-width: 0. No shared rule changed.test/crew-settings-fit.test.tsseeds 12 agents on the crew: one with a 39-character name, three with a 250-character unbroken word in the brief, and the rest with long briefs. It asserts:
- the page renders the seeded content; - no inline width or fixed width over 390 px; - the crew list wraps and the container wraps anywhere.
- It also has a Chromium case at 390x844 that asserts
scrollWidth <= innerWidth.
Checks
- With the source changes stashed,
crew-settings-fit.test.tsfails, so it would catch a regression. With them, its 3 non-Chromium cases pass. - The Chromium case is skipped in this sandbox because no Chromium starts, so it printed nothing here. The forge's check will run it and log the
scrollWidthandviewportWidthit measures. bun x tsc --noEmit,bun scripts/design-lint.tsandbun scripts/gate.tspass. All*-fittests and the other tests that touch the crew card pass (149 pass, 0 fail). I did not run the full suite.
Left out
- The Team card, which already wraps.
- Any change to shared row rules.
- Any new preview look.
Settings › Crew now wraps on a 390 px phone, and the push should clear the gate rule that failed the check.
The failure was a missing "Try:" line in the commit messages. I added a new empty commit carrying one: "Try: open /alice/fit/settings#crew on the preview at 390 px and check the Crew list wraps with no sideways scroll". I pushed it as a plain push, not a force push. bun scripts/gate.ts printed nothing locally. I haven't seen the forge's re-run yet.
What changed
src/web/studio/crew.ts: the Crew card's list is now<ul class="list setting-list">, the same wrapping rows the Team card uses. A long agent name or brief now breaks instead of widening the page.#crewalso carriesdata-crew-settings.src/web/style/content.ts: one rule scoped to[data-crew-settings]setsoverflow-wrap: anywhere; min-width: 0. No shared rule changed.test/crew-settings-fit.test.tsseeds 12 agents, including a 39-character name and three briefs with a 250-character unbroken word. It checks that:
- the seeded content renders;
- no width over 390 px is fixed;
- the crew list wraps and its container wraps anywhere.
It also has a Chromium case at 390x844 that asserts scrollWidth <= innerWidth.
Checks
- With the source changes stashed, the test fails; with them, its 3 non-Chromium cases pass.
- The Chromium case is skipped in this sandbox because no Chromium starts here, so the sideways-scroll measurement is unconfirmed until the forge's check runs it and logs the numbers.
bun x tsc --noEmitandbun scripts/design-lint.tspass. The other*-fittests and the tests that touch the crew card pass (149 pass, 0 fail). I did not run the full suite.
Left out
- The Team card, which already wraps.
- Any change to shared row rules.
- Any new preview look.
Try: open /alice/fit/settings#crew on the preview at 390 px. The Crew list should wrap with no sideways scroll.
The Crew list now uses the same wrapping rows as the Team card (setting-list gives 18rem basis, wrapping title and meta, trail drops below at 640px), and one scoped rule sets overflow-wrap:anywhere. Small, no shared rule changed, no JS, nothing new needing a TUI screen. The preview answers 200. Next: (1) read the Chromium-measured scrollWidth/viewportWidth from the forge check log and put that line in the pull; (2) add a case with a wide non-wrapping element if the Crew card ever grows one, so overflow-x:auto is pinned.
Left #9373 open: 1 unticked item remain (Like test/milestones-fit.test.ts, a Chromium-measured case (skipped where no Chromium) loads the page at 390x844 and asserts scrollWidth <= innerWidth; the pull says in one line what it printed.).
Settings › Crew now wraps on a 390 px phone. The Chromium case didn't run here, so the sideways-scroll measurement is still unconfirmed.
/settings/crewredirects to/settings#crew, so the page under test is/alice/fit/settings. Its Crew card was the only part that didn't fit: its list lacked thesetting-listclass, so a long agent name or brief was cut off at the row edge or pushed the page wider.What changed
src/web/studio/crew.ts: the Crew card's list is now<ul class="list setting-list">, the same wrapping rows the Team card uses.#crewalso carriesdata-crew-settings. I dropped the now-unusedlistCardimport.src/web/style/content.ts: one rule scoped to[data-crew-settings]setsoverflow-wrap: anywhere; min-width: 0. No shared rule changed.test/crew-settings-fit.test.tsseeds 12 agents on the crew: one with a 39-character name, three with a 250-character unbroken word in the brief, and the rest with long briefs. It asserts:- the page renders the seeded content; - no inline width or fixed width over 390 px; - the crew list wraps and the container wraps anywhere.
scrollWidth <= innerWidth.Checks
crew-settings-fit.test.tsfails, so it would catch a regression. With them, its 3 non-Chromium cases pass.scrollWidthandviewportWidthit measures.bun x tsc --noEmit,bun scripts/design-lint.tsandbun scripts/gate.tspass. All*-fittests and the other tests that touch the crew card pass (149 pass, 0 fail). I did not run the full suite.Left out
Closes #9373