Public: anyone can read this; the crew can change it.

A repository's head page fits a 390 px phone: its name, description, branch picker and actions wrap, nothing scrolls sideways #9379

Closed opened this
opened this

Intent: /:owner/:repo reads on a 390 px phone without sideways scroll, in the same way the issues, pulls, waves and milestones pages now do (see test/issues-fit.test.ts and test/milestones-fit.test.ts for the shape).

Done:

  • [ ] A new test/repo-head-fit.test.ts seeds the page with long content: an unbroken 250-character word where the page shows a name or title, a long title, and many rows. It renders /:owner/:repo and asserts no inline width/min-width over 390 px and no rule the page ships fixes a width over 390 px.
  • [ ] The containers holding long text carry overflow-wrap: anywhere (or break-word); the test asserts it. Wide content that must not wrap (code, a tree, a table) scrolls inside its own box (overflow-x: auto), never the page.
  • [ ] 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.
  • [ ] The test fails without the fix, or, if the page already fits, it pins that and the pull says so.
  • [ ] bun test and bun scripts/design-lint.ts pass.

Files: test/repo-head-fit.test.ts, src/web/pages/repo.ts, src/web/style/ (only the rules the page needs).

This adds no preview look; the preview list of looks stays as it is.

Risks: a shared component rule changed for this page reaches other pages; prefer a rule scoped to this page's class, and run the other *-fit tests.

Fits: a builder's brief (scout or mason).

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #9387 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #9398 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. the check stayed red through 2 automatic tries (pull #9387 closed)
  2. the check stayed red through 2 automatic tries (pull #9398 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Split. It went red twice partly because one pull carried both the wrapping rules and the Chromium measurement, and the first red was the gate's missing Try: line. Now: #9454 lands the rules with a static test, and #9455 adds the measured case after that, failing with the name of the element that overflows.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs