Cells were 13px at most and left in the panel, so on a wide page the 53 weeks took about 790px and left the rest empty. Now the cell is always the panel's width over 53 weeks, less the gaps, at least 10px: the grid spans the panel at any width, and narrower boxes shrink and then drop the oldest weeks as before. ui.njk's comment and DESIGN.md say so.
- commit
- 1cf16ec9e3d1aadfa35eac01e002be9be0871943
- parent
- cf8d4d285de2caff71cbc44b6efaefcb16476dab
- author
- cat <admin@dev.site>
- ci
- ✗ failed in 75s, signed by cat
- kind
- fix risk score 1.7 of 3, Jev's estimate
ci attestation
forge-attestation 1 type ci commit 1cf16ec9e3d1aadfa35eac01e002be9be0871943 tree 12150ace8cfb2398a7b4079705a036c9a6cfaca8 script .forge/ci 3dbc91920fbe9105a57a13da4f17861aa3500f04 result fail exit 1 started 2026-11-04T03:22:03Z duration 75s runner (not shown here; refs/notes/ci has it) system Darwin 27.2.0 arm64 env host log sha256:46a9bc64e6d0f6995e11958d0afbdeed9268cbe575210ffd436aa2943d1cbbc7 178 lines |ok release-files (6s) |ok mirror-interval (25s) |ok private-web-session (12s) |ok private-flip (18s) |ok release-gc (7s) |ok release-page (6s) |ok release-private-store (4s) |ok private-web-token (15s) |ok release-private-gc (7s) |ok profile-pins-public (15s) |ok release-private-store-flip (6s) |ok release-tab (4s) |ok release-verify (4s) |ok release-signature (6s) |ok release-private-store-backup (9s) |ok release-publish (7s) |ok profile-set (18s) |ok release-tag (6s) |ok release-private (8s) |ok release-private-flip (11s) |ok review-log (3s) |ok release-private-store-gc (9s) |ok times-relative (1s) |ok repo-front-facts (7s) |ok release-restore (9s) |ok repo-rm (7s) |ok times-columns (4s) |ok shelves-site-toggle (5s) |ok release-private-web (12s) |ok site-preview (5s) |ok web-approve (6s) |ok web-comment-line-page (5s) |ok search-phrases (10s) |ok shelves-all (9s) |ok web-comment-outdated (6s) |ok web-comment-csrf (8s) |ok shelves-fragment (11s) |ok shelves-tab (10s) |ok shelves (9s) |ok web-comment-same (5s) |ok shelves-sort (10s) |ok web-comment-token (6s) |ok web-comment-page (7s) |ok web-comment-limit (9s) |ok web-comment-private (7s) |ok web-headers (6s) |ok review-list (14s) |ok repo-front-about (23s) | |--- code-search-range |FAIL: got '(node:34627) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.', want 'many/zz.txt:1: beta and alpha' | | (node:34627) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided. | | (Use `node --trace-warnings ...` to show where the warning was created) | | many/zz.txt:1: beta and alpha | | requests 2 rounds 1 bytes 163840 | | range 206 bytes 0-99/98304 type application/vnd.sqlite3 encoding none length 100 | | cache no-cache | | wasm 200 type application/wasm cache public, max-age=31536000, immutable | |1 of 165 scenarios failed
Signature: good, cat
| M | DESIGN.md | 6 | +++--- |
| M | site/ | 6 | +++--- |
| M | site/ | 11 | +++++------ |
@@ -146,9 +146,9 @@ forms.
146146 - The activity grid (`ui.activity`, data from `lib/activity.ts`, behavior147147 in `site/assets/ui.ts`) is the one way the forge shows a year of days.148148 A column a week, Sunday at the top, no month row, no weekday column, no149- range picker; square cells of 13px at most with `--space-half` gaps,150- left in the panel. Narrower, the cells shrink to 10px and then the oldest151- weeks go, so the latest always show (27 weeks at 390px). Days are the149+ range picker; square cells with `--space-half` gaps, the 53 weeks150+ filling the panel's width. Narrower, the cells shrink to 10px and then151+ the oldest weeks go, so the latest always show (27 weeks at 390px). Days are the152152 reader's with JS (the page has each commit's or event's time), UTC153153 without. Each day is a button named154154 "2026-10-08: 11 commits"; clicking it (or Enter, Space) picks it with an@@ -116,9 +116,9 @@
116116 picture; with it (ui.ts) clicking a day, or Enter or Space on it, picks117117 it (an ink outline) and narrows the list under it, the arrow keys move118118 between days, and the address keeps the day (#2026-10-08, or119- #<shelf>/2026-10-08 on an owner's page with a shelf picked). Cells are120- 13px at most, left-aligned; narrower, they shrink to 10px, then the121- oldest weeks go (style.css). attrs: data-src="activity.json", what ui.ts119+ #<shelf>/2026-10-08 on an owner's page with a shelf picked). The 53120+ weeks fill the width; narrower, cells shrink to 10px, then the oldest121+ weeks go (style.css). attrs: data-src="activity.json", what ui.ts122122 fetches for fresher counts. still: a chart, with nothing to pick (a123123 repo's insights): each day a span, named and titled the same, and a124124 picture with JS too. #}@@ -323,15 +323,14 @@ svg.avatar .av-b { fill: var(--avatar-blue); }
323323 svg.avatar .av-y { fill: var(--avatar-yellow); }324324 325325 /* the activity grid (ui.activity): a column a week, a square button a326- day, coloured by how busy it was. Cells are 13px with --space-half gaps,327- left in the panel; in a narrower box they shrink to fit all 53 weeks,328- down to 10px, and below that the oldest weeks go (a<n>: n weeks before329- this one), a week each 12px, so the latest always show. A picked day has326+ day, coloured by how busy it was. The 53 weeks fill the panel's width,327+ square cells with --space-half gaps; in a narrower box the cells328+ shrink with it down to 10px, and below that the oldest weeks go (a<n>:329+ n weeks before this one), a week each 12px, so the latest always show. A picked day has330330 an ink outline. A still grid's days (a repo's insights) are spans, the331331 same squares with nothing to hover or pick. */332332 .activity-fit { container: activity / inline-size; }333-.activity { --cell: 13px; display: grid; grid-template-rows: repeat(7, var(--cell)); grid-auto-columns: var(--cell); grid-auto-flow: column; gap: var(--space-half); justify-content: start; }334-@container activity (width < 793px) { .activity { --cell: max(10px, calc((100cqw + 2px) / 53 - 2px)); } }333+.activity { --cell: max(10px, calc((100cqw + var(--space-half)) / 53 - var(--space-half))); display: grid; grid-template-rows: repeat(7, var(--cell)); grid-auto-columns: var(--cell); grid-auto-flow: column; gap: var(--space-half); justify-content: start; }335334 .activity > :is(button, span) { display: block; min-height: 0; width: 100%; height: 100%; padding: 0; border: 0; background: var(--heat-0); }336335 .activity > button { cursor: pointer; }337336 .activity > .l1 { background: var(--heat-1); }