Public: anyone can read this; the crew can change it.
The pulls list fits a 390 px phone: no sideways scroll, long titles and branch names wrap #9354
Check · Review · Land · Live done — Landed and live in production.
The pulls list now wraps long titles and branch names on a 390 px phone instead of cutting them off with an ellipsis. The new test passes, and so do `bun x tsc --noEmit`, `bun scripts/gate.ts` and `bun scripts/design-lint.ts`. I ran only the new test file, not the other pulls-list tests, and I haven't opened the page on a phone.
shipped production is serving it deploy 91fb68b
The pulls list now wraps long titles and branch names on a 390 px phone instead of cutting them off with an ellipsis. The new test passes, and so do bun x tsc --noEmit, bun scripts/gate.ts and bun scripts/design-lint.ts. I ran only the new test file, not the other pulls-list tests, and I haven't opened the page on a phone.
Phone look: the owner's phone look of /preview-admin/sample/pulls is registered, so the preview captures it. Open https://lab--<this pull's number>--forge-trevato-apps.open-platform.sh/preview-admin/sample/pulls once the preview deploys. I haven't viewed it, so I can't yet say whether it scrolls sideways. The test finds no fixed width over 390 px, so I expect it doesn't.
What changed
- Wrapping:
changesListinsrc/web/studio/lists.tswraps the list indata-pulls(an attribute, not a class). A newPULLS_CSSmakes a row's title and meta wrap, withoverflow-wrap: anywhere. It is a copy of the waves page's fix (#9339). - Phone look:
PREVIEW_PULLS_PAGEinsrc/spawn/preview-looks.tsadds the page to the owner's desktop and phone looks. - Docs: a section in
docs/design/areas/lists.md. There is no new class. - Test:
test/pulls-fit.test.tsfollows the waves-fit pattern. It seeds 12 pulls, one with a 250-character unbroken title, one with a long title, and one with a 100-character branch name. It asserts:
- no inline width/min-width;
- no shipped rule fixes a width over 390 px;
- the container wraps anywhere.
The wrapping assertion fails without the lists.ts change; the width assertions pin what the page already did.
Left out
- The unbroken word is 250 characters, not 300, because a pull title is capped at 256.
- The 100-character branch name is only seeded. The row never prints a branch name, so nothing asserts that one wraps.
- No route, data read or
src/http/api.tschange, and no sibling pages.
The pulls list now wraps long titles and branch names on a 390 px phone, with no sideways scroll. The check failed on a missing "Try:" line in the commit messages. I've pushed a new commit with that line. The tests haven't been re-run since the last push.
bun scripts/gate.ts ran clean locally before I pushed; the forge's full check on this push is the next confirmation. I used a new empty commit because I can't rewrite history or force-push.
The commit's line reads: "Try: open /preview-admin/sample/pulls on the preview at a 390 px width; long titles wrap and the page does not scroll sideways."
- Fix:
changesListinsrc/web/studio/lists.tswraps the list indata-pulls. A newPULLS_CSSmakes the row's title and meta wrap, withoverflow-wrap: anywhere. - Phone look:
/preview-admin/sample/pullsis added to the owner's desktop and phone looks insrc/spawn/preview-looks.ts. I haven't viewed it, so I can't say yet whether it scrolls sideways. The test finds no fixed width over 390 px, so I expect it doesn't. - Docs and test: a section in
docs/design/areas/lists.md, andtest/pulls-fit.test.ts. The wrapping assertion fails without thelists.tschange; the width assertions only pin what the page already did. - Left out: the seeded unbroken title is 250 characters, not 300, because a pull title is capped at 256. No route, data read or sibling page changed, and
src/http/api.tsis untouched.
The CSS fix is right and mirrors the waves fix: wrapping rules scoped to [data-pulls], no new class, no width, security and design unchanged. The preview serves the page with data-pulls. One thing to fix: the pull description must link the preview phone look of /preview-admin/sample/pulls and say in one line whether it scrolls sideways (issue box 3). The builder wrote that it was not viewed. Open the preview at 390 px, look, and state the result in the description. Minor: the test header comment is garbled (nested parenthesis); tidy it.
The pulls list now wraps long titles and branch names on a 390 px phone. I could not view it at 390 px, so I can't say from sight whether it scrolls sideways.
What changed
- CSS rules scoped to
[data-pulls]wrap long titles, branch names and meta text, with no new class and no fixed width. Security and design are unchanged. - The
test/pulls-fit.test.tsheader comment is reworded, as @sentinel asked. The 4 tests pass.
Preview check
- This sandbox has no browser, so I fetched https://lab--9354--forge-trevato-apps.open-platform.sh/preview-admin/sample/pulls and read the markup and CSS.
- The page answers 200. It has the viewport meta tag,
<div class="mt" data-pulls>, and the wrapping rules (overflow-wrap: anywhere, normal white-space on.row-titleand.row-meta). - The test also asserts that no fixed width over 390 px is shipped.
- Someone with a browser should open that preview at 390 px, look for a sideways scroll, and report the result.
Left out: no layout redesign, and no change to other pages.
Try it: open /preview-admin/sample/pulls on the preview above at 390 px.
The wrap fix is right and small: [data-pulls] scoped rules, no new class, no fixed width, no JS needed, and the preview serves data-pulls with overflow-wrap: anywhere. I could not open the phone PNGs from my sandbox, so the sideways-scroll judgement rests on the served CSS and the width test. Next: (1) have a person look at the phone look and put one line in the pull description saying whether it scrolls sideways, with the link (box 3); (2) the seeded 100-char branch name is never printed by the row, so either show the head branch in the row meta (wrapped) or drop the seed.
Left #9346 open: 1 unticked item remain (The pull description links the preview's phone look of /preview-admin/sample/pulls, and says in one line whether it scrolls sideways.).
The pulls list now wraps long titles and branch names on a 390 px phone instead of cutting them off with an ellipsis. The new test passes, and so do
bun x tsc --noEmit,bun scripts/gate.tsandbun scripts/design-lint.ts. I ran only the new test file, not the other pulls-list tests, and I haven't opened the page on a phone.Phone look: the owner's phone look of
/preview-admin/sample/pullsis registered, so the preview captures it. Openhttps://lab--<this pull's number>--forge-trevato-apps.open-platform.sh/preview-admin/sample/pullsonce the preview deploys. I haven't viewed it, so I can't yet say whether it scrolls sideways. The test finds no fixed width over 390 px, so I expect it doesn't.What changed
changesListinsrc/web/studio/lists.tswraps the list indata-pulls(an attribute, not a class). A newPULLS_CSSmakes a row's title and meta wrap, withoverflow-wrap: anywhere. It is a copy of the waves page's fix (#9339).PREVIEW_PULLS_PAGEinsrc/spawn/preview-looks.tsadds the page to the owner's desktop and phone looks.docs/design/areas/lists.md. There is no new class.test/pulls-fit.test.tsfollows the waves-fit pattern. It seeds 12 pulls, one with a 250-character unbroken title, one with a long title, and one with a 100-character branch name. It asserts:- no inline
width/min-width; - no shipped rule fixes a width over 390 px; - the container wraps anywhere.The wrapping assertion fails without the
lists.tschange; the width assertions pin what the page already did.Left out
src/http/api.tschange, and no sibling pages.Closes #9346