Repository navigation
What's New: click a change's picture to enlarge it; digest entries show their highlight's picture - #23874
Conversation
…cture beside it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
…hanges in a glass frame Leo 2026-10-21: content fills the pane with modest margins, the version and date column stays compact, the width goes to pictures beside the items and to full descriptions; no column cap; glass, never opaque. The Ledger drops its 640 px measure for 32 px margins and a 112 px gutter; each row shows its whole description (76ch measure) and, where its column is at least 720 px wide, its picture as a second column. Picture frames blur what is behind them (--surface-blur, none under Reduce Transparency) with a lit top rim. The gallery's Ledger fixture gains an Improved row with a picture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
…gelog tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
… their own Review of #23420: the wide row put Try it / Learn more in a block under the description, hidden until hover, so every row with an action kept an empty line (the #21185 bug). They now sit inline at the end of the last paragraph (after the title when there is none). The links test renders the Ledger as the page does (rowMedia) and checks where the actions sit. A side-by-side picture fills its column. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
…picture stops at 720 px The first captures put the picture at the pane's right edge, far from a 76ch line, and blew the lead screenshot up past its pixels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
At 1000 px the picture column squeezed the text to about 240 px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
… not inside one Review: inside one act React commits nothing, so the loop never saw the row and always ran its 200 turns. Each turn is now its own act. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
…y shows its highlight's picture Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
…ow their highlight's picture Leo 2026-10-21, design pass item 2: each New/Improved change can carry a picture, lazy-loaded in a glass frame, click to enlarge. A picture's frame is now a button that opens it in a dialog (ui/Dialog: Escape, Close or a press outside close it) on a blurred backdrop, the picture whole. A nightly digest entry (digest.py) has no picture, and the page dropped its highlight file, which can have one, as a duplicate: the entry now takes that picture, matching ids as digest.py writes them. Two strings, in every language: Close (as Home's lightbox) and Enlarge picture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
…-new-pictures # Conflicts: # webviews/src/pages/changelog/ReleaseParts.tsx
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Unclear: CI failed on
Not re-run automatically: Written by red: web / Web status; NEW: green on the base cb213ba; do not merge until green; see lane-rules Tour of Gallery before/after for
States
Pick other states with a |
|
Found 3 test failures on Blacksmith runners: Failures
|
|
Owned by claude-sr2/gallery-loop on cosmic-gray · session |
|
Bead |
… its entry stay one change in any language Review of #23874: the changelog page never loaded ui/popupSurface.css, which places a ui/Dialog and its backdrop (position: fixed, layers), so the lightbox would open as a flow child under the page. And add() compared raw ids, so in a non-English page a highlight file (Group_Band_Colors, English title) and its digest entry (group-band-colors, localized title) showed twice, now both with the picture: ids compare as digest.py writes them. An empty alt no longer leaves a trailing colon in the enlarge label. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f&host=cosmic-gray
|
Review (subagent, correctness first): SHIP at becf144 An independent review subagent made two passes:
|
|
base-red-watch: |
|
Shipped in:
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Summary
Leo's What's New design pass, part 2a. Leo, 2026-10-21: "Each New/Improved item can carry a screenshot or short looping video, taken from the PR body's before/after images. Lazy-load them, in a glass frame, click to enlarge."
This PR is the page side (webviews only):
ui/Dialogon a blurred glass backdrop (--surface-blur, none under Reduce Transparency). Escape, Close or a press outside closes it. Pictures still load lazily (loading="lazy"; clips usepreload="none").digest.py, which writes no media, and the page skipped the highlight file with the same id as a duplicate. The highlight carries the picture (release-notes.py), so an entry with no picture now takes its highlight's. Ids are matched the waydigest.pywrites them (lower case, other runs as-).changelog.page.close(the same words as Home's lightbox Close) andchangelog.page.enlarge("Enlarge picture", the button's label, followed by the picture's description).Not in this PR:
release-notes.py,nightly.yml).ReleaseMediaStore) and the page CSP has nomedia-src, so clips play as GIF or animated WebP. MP4 needs an app change inCmuxNextUpdater(release-rings' area).Testing
cd webviews && bun test test/changelog-pictures.test.tsx(new). The test commit (f4af624) comes before the change (4809da7). It should fail on the test commit (no.cl-media-open, and the entry has no picture) and pass at the head. Both results come from PR CI: the hook blocks localbun teston this Mac.Group_Band_Colorsand the entrygroup-band-colors.Observed / Not run
scripts/web-lint.shpasses (Oxfmt, Oxlint and type check, layers check), as dobun scripts/check-fixed-waits.tsand the localization catalog (only the two keys added; the file otherwise round-trips byte for byte).Changelog
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Click a What's New change's picture to view it enlarged, and digest entries now show the picture from their highlight file.
digest.pywrites them so a highlight and its entry stay one change in any language.Written for commit becf144. Summary will update on new commits.