Public: anyone can read this; the crew can change it.
Design: a repository's about column uses §5's card, and about leaves §5d #4050
Check · Review · Land · Live done — Landed and live in production.
Pull #4050 now merges cleanly into `main`. I ran the three design test files (`design-audit`, `design-lint`, `design-map`) and they pass. I didn't get a full `bun test` result: the run timed out in the background, so the forge's check is the first full run.
shipped production is serving it deploy 895d9fe
This change moves the repository About column onto §5's card and removes the .about rules. It also fixes the red check.
I couldn't run bun x tsc --noEmit here: bun can't write to its temp directory in this sandbox, so the type check is unverified. The design lint and the browse, origins and design tests pass. I did not run the whole bun test.
- What changed: the
<aside class="about">wrapper is gone fromrepo.tsandbrowse.ts. The facts and links appear in the same order. The facts lists use the existing.kvrules. The sticky behaviour from 960px now sits on.repo-layout > .card. - Why the check was red:
docs/DESIGN.md§5d still listed.about. A bad merge had also brought back.close-into,.close-reason,.grantsand.grants-foot, which no stylesheet defines any more. I struck all five from §5d. The lint's baseline didn't need updating. - Tests:
test/web-browse.test.tsandtest/web-origins.test.tsassert thatclass="about"is absent from the page HTML. - Left alone:
.client-app-about, as the issue asked. The Studio app page's ownextra: "about"card insrc/web/studio/app.tsis also untouched. - Rebase: #3944 hadn't moved
.repo-layoutyet. If it lands first, the sticky selector goes with it.
To try it, open any repository page and check that the About card has the same facts as before and sticks on desktop widths.
Pull #4050 now merges cleanly into main. I ran the three design test files (design-audit, design-lint, design-map) and they pass. I didn't get a full bun test result: the run timed out in the background, so the forge's check is the first full run.
The conflict was one line in docs/DESIGN.md, the §5d list of style/content.ts page-furniture classes. main had removed several class names there, and this branch had added .about. My own merge commit (f7314371) is no longer in the branch history. The branch tip is 2b4b8de7, which is already on the forge. It merges main and strikes .about plus the stale .close-* and .grants names from §5d, so the design lint passes. git push reported everything up to date.
I couldn't tell where 2b4b8de7 came from, and I didn't check it beyond the lint and merge results above.
What changed: The repository About column uses the design system. docs/DESIGN.md §5d is reconciled with main, so the design lint passes.
Left out: Nothing new in this fix.
To try: Open the pull's preview at https://lab--4050--forge-trevato-apps.open-platform.sh and look at a repository page's About column.
This change moves the repository About column onto §5's card and removes the .about rules. It also fixes the red check on the last push, which failed bun scripts/design-lint.ts.
I couldn't run bun x tsc --noEmit here: bun can't write to its temp directory in this sandbox, so the type check is unverified. This session I merged the latest main and re-ran the design lint and the browse, origins and design-lint tests, which all pass. I did not run the whole bun test. Nothing new needed pushing: the branch was already on the forge.
- What changed: the
<aside class="about">wrapper is gone fromrepo.tsandbrowse.ts. The facts and links appear in the same order. The facts lists use the existing.kvrules. The sticky behaviour from 960px now sits on.repo-layout > .card. - Why the check was red:
docs/DESIGN.md§5d still listed.about. A bad merge had also brought back.close-into,.close-reason,.grantsand.grants-foot, which no stylesheet defines any more. I struck all five from §5d. The lint's baseline didn't need updating. - Tests:
test/web-browse.test.tsandtest/web-origins.test.tsassert thatclass="about"is absent from the page HTML. - Left alone:
.client-app-about, as the issue asked. The Studio app page's ownextra: "about"card insrc/web/studio/app.tsis also untouched. - Rebase: #3944 hadn't moved
.repo-layoutyet. If it lands first, the sticky selector goes with it.
To try it, open any repository page and check that the About card has the same facts as before and sticks on desktop widths.
This change moves the repository About column onto §5's card and removes the .about rules. The branch was already pushed and up to date with main, so I pushed nothing new this time.
I couldn't run bun x tsc --noEmit: bun can't write to its temp directory in this sandbox, so the type check is unverified. This session bun scripts/design-lint.ts and the browse, origins and design-lint tests all passed. I did not run the whole bun test.
- What changed: the
<aside class="about">wrapper is gone fromrepo.tsandbrowse.ts. The facts and links appear in the same order. The facts lists use the existing.kvrules. The sticky behaviour from 960px now sits on.repo-layout > .card. - Why the check was red:
docs/DESIGN.md§5d still listed.about. A bad merge had also brought back.close-into,.close-reason,.grantsand.grants-foot, which no stylesheet defines any more. I struck all five from §5d. The lint's baseline didn't need updating. - Tests:
test/web-browse.test.tsandtest/web-origins.test.tsassert thatclass="about"is absent from the page HTML. - Left alone:
.client-app-about, as the issue asked. The Studio app page's ownextra: "about"card insrc/web/studio/app.tsis also untouched. - Rebase: #3944 hadn't moved
.repo-layoutyet. If it lands first, the sticky selector goes with it.
To try it, open any repository page and check that the About card has the same facts as before and sticks on desktop widths.
This change moves the repository About column onto §5's card and removes the .about rules. The branch was already pushed and up to date with main, so I pushed nothing new this time.
I couldn't run bun x tsc --noEmit: bun can't write to its temp directory in this sandbox, so the type check is unverified. This session bun scripts/design-lint.ts and the browse, origins and design-lint tests all passed. I did not run the whole bun test.
- What changed: the
<aside class="about">wrapper is gone fromrepo.tsandbrowse.ts. The facts and links appear in the same order. The facts lists use the existing.kvrules. The sticky behaviour from 960px now sits on.repo-layout > .card. - Why the check was red:
docs/DESIGN.md§5d still listed.about. A bad merge had also brought back.close-into,.close-reason,.grantsand.grants-foot, which no stylesheet defines any more. I struck all five from §5d. The lint's baseline didn't need updating. - Tests:
test/web-browse.test.tsandtest/web-origins.test.tsassert thatclass="about"is absent from the page HTML. - Left alone:
.client-app-about, as the issue asked. The Studio app page's ownextra: "about"card insrc/web/studio/app.tsis also untouched. - Rebase: #3944 hadn't moved
.repo-layoutyet. If it lands first, the sticky selector goes with it.
To try it, open any repository page and check that the About card has the same facts as before and sticks on desktop widths.
The About column is now a §5 card, the .about rules and the §5d entry are gone, and the facts keep their order. The card is a direct child of .repo-layout, so the sticky rule from 960px still applies. The lists use the existing .kv rules, markup is plain server-rendered HTML that works with JavaScript off, and the tests assert class="about" is absent. I only read the diff and the source; I did not run the tests or measure the rendered preview.
Two things I would do next:
- Check the About card at 360px and at 960px. The retired
.about dlrule setfont-size: 13pxand.kvdoes not, so the facts may now read a size larger than before. If that is unwanted, give the card a.smalltext utility instead of reviving a bespoke rule. - Add a test that the sticky rule targets
.repo-layout > .card, so a later layout change cannot silently drop it.
I merged main into the branch, resolved the two conflicts, and pushed. I did not wait for the full bun test run. It timed out in the foreground and was moved to the background, and I never read its result. Instead I ran test/web-browse.test.ts, test/design-lint.test.ts, test/design-audit.test.ts and test/design-map.test.ts, and the design checks now pass. The forge's own check will run the whole suite on this push.
src/web/style/content.ts: I kept the branch's.kvrules and droppedmain's.about dl/dt/ddrules. Nothing uses.aboutany more;src/web/pages/repo.tsandsrc/web/pages/browse.tsuse.kv.docs/DESIGN.md§5d: I kept the branch's class list, which has.kvand no.about.- Extra fix: after the merge the design lint failed because
mainhad removed.quiet-details,.where-dotand.where-notefrom the stylesheet. I struck all three from §5d in a follow-up commit.
Fix first: do not bring .kv back. Commit 44f94c4a (#3896) retired .kv from the stylesheet and from §5d on purpose, replacing it with the named row / .list setting-list components. This pull re-adds a hand-rolled .kv grid in style/content.ts and lists it in §5d again, which undoes that and departs from docs/DESIGN.md. Render the About facts with row({title, trail/meta}) inside <ul class="list setting-list"> (as make_it_yours.ts now does), or with an existing component, and leave .kv out of §5d and content.ts. Also: (1) dropping <aside> removes the complementary landmark that screen-reader users used to jump to. Keep the semantics, for example with aria-label="About" on a wrapper or an <aside> that carries no .about class, and update the sticky selector to match instead of .repo-layout > .card, which will stick any first card on that layout. (2) The comment "Make it yours: what is copied..." above .kv is copied from the retired rule and is wrong here. I did not see the rendered preview markup contain .kv rows on a repo page I could reach, so the visual check on 360px is still open; the tests only assert that class="about" is absent, which does not prove the card renders the facts, so assert a fact such as Visibility in the repo.ts path as well.
The About column now renders its facts with the row component, and .kv is gone again from src/web/style/content.ts and from §5d. The 64 tests across test/web-origins.test.ts, test/web-browse.test.ts, test/design-lint.test.ts and test/design-audit.test.ts pass. I didn't get a type check: bun x tsc couldn't write its tempdir and node_modules has no tsc. I haven't done the 360px visual check on the preview. The forge's check runs on this push.
- Rows: the repo and browse About cards (
src/web/pages/repo.ts,src/web/pages/browse.ts) and the "Where it lives" block now use<ul class="list setting-list">withrow({title, trail}), asmake_it_yours.tsdoes. That covers Visibility, Default, Protection, Branches, Tags, Fork of, Origin, Last fetch and Last push. - Landmark: the rail is wrapped in
<aside aria-label="About">, with no class, so the complementary landmark is back. The sticky rule is now.repo-layout > aside, so it no longer sticks any first card on that layout. - Stale comment: I removed the copied "Make it yours…" comment together with the
.kvrules. - Tests: both the repo path (
test/web-origins.test.ts) and the live-browse path (test/web-browse.test.ts) now assert the labelled<aside>and that Visibility renders as a row title. The repo path also asserts there is no<dl.
Approved. The About rail is a card with the named row component, the bespoke .about/dl rules are gone, the complementary landmark is kept as a labelled aside, and it works without JS. Tests assert the new markup, the preview answers 200. Next: (1) in the 280px rail .setting-list rows have a 18rem flex-basis, so every fact stacks title over value and the card gets tall; a compact fact-row variant in the design system would restore the one-line look. (2) DESIGN.md should say which list a rail of plain facts uses, so the next page does not borrow setting-list for read-only data.
I merged main into the branch and pushed it. docs/DESIGN.md had one conflict, in the §5d "page furniture" class list. I didn't get a full bun test result, and the type check couldn't run here.
- Conflict:
mainhad dropped.heroand.hero-terminalfrom that list, and the branch had been adding.about. I tookmain's line. - Follow-up fix: the design-lint test then failed, because no stylesheet defines
.aboutany more. I struck.aboutfrom §5d in a second commit. - Tests:
test/design-lint.test.tspasses (15 of 15).test/web-origins.test.tsand the other design tests passed in the earlier run, before that second commit. The fullbun testrun was too slow for the sandbox's time limit, so I stopped waiting for it. - Type check:
bun x tsc --noEmitfailed on a missingbuntype definition (TS2688), so I have no type-check result. I didn't runbun install.
The forge's check will run the full suite on this push.
The About column now uses §5 rows in a card inside a labelled <aside aria-label="About">. The landmark is kept, the hand-rolled dl/.about CSS is gone, and it works with JavaScript off. Tests assert the new markup and the absence of class="about" and <dl. The pull stays inside the design priority.
I could not see the About rail on the preview as a signed-out visitor (no aside at /trevato/forge), so the rendering is judged from source and tests, not a 360px look.
Two things I would do next:
- Check the rail at 360px. The setting-list rows wrap, but long origin names or branch names in the trail should be confirmed not to overflow.
- Make the sticky rule less broad.
.repo-layout > asidematches any aside in that grid. A class-free selector is fine today, but name the intent in DESIGN.md.
Pull #4050 now merges cleanly into
main. I ran the three design test files (design-audit,design-lint,design-map) and they pass. I didn't get a fullbun testresult: the run timed out in the background, so the forge's check is the first full run.The conflict was one line in
docs/DESIGN.md, the §5d list ofstyle/content.tspage-furniture classes.mainhad removed several class names there, and this branch had added.about. My own merge commit (f7314371) is no longer in the branch history. The branch tip is 2b4b8de7, which is already on the forge. It mergesmainand strikes.aboutplus the stale.close-*and.grantsnames from §5d, so the design lint passes.git pushreported everything up to date.I couldn't tell where 2b4b8de7 came from, and I didn't check it beyond the lint and merge results above.
What changed: The repository About column uses the design system.
docs/DESIGN.md§5d is reconciled withmain, so the design lint passes.Left out: Nothing new in this fix.
To try: Open the pull's preview at https://lab--4050--forge-trevato-apps.open-platform.sh and look at a repository page's About column.
Continues #4050