Skip to content

cmux-next: make What's New links readable and usable - #21185

Merged
teamleaderleo merged 38 commits into
feat-cmux-nextfrom
feat/whats-new-readable-links
Oct 21, 2026
Merged

teamleaderleo merged 38 commits into
feat-cmux-nextfrom
feat/whats-new-readable-links

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

What changed

The cmux-next What's New page now keeps feature summaries readable at narrow widths and exposes docs links on every applicable feature row. In the one-line grouped rows, Try it and Learn more reveal on hover or keyboard focus; the Digest and Reader designs, which stack each change in a column, show them under the summary. Links keep going through LinkRouter's shared rule (the user's link setting, always-external rules, Shift-Command).

Why

Feature rows previously forced the title and summary onto one truncated line, and grouped entries with docs had no link at all.

Validation

  • bun test webviews/test/changelog-links.test.tsx
  • bun test webviews/test/changelog-first-paint.test.tsx web/tests/whats-new-route.test.ts
  • bun run typecheck (webviews)
  • git diff --check

No native change remains (the earlier cmux-browser override was dropped after review).

Observed / Not run

  • Observed: on Huge Blue, bun test test/changelog-links.test.tsx fails at 8b1242e (Digest row actions computed opacity 0) and passes at 90e812b with test/changelog-first-paint.test.tsx (4 pass); bun run typecheck clean.
  • Not run: a native build (no Swift change remains) and narrow-width layout in WebKit.

Proof

Digest design, dark, 560 px, from the gallery advisory run of 7c03fb8 (run 39357217167; Linux Chromium, so fonts fall back). Before (base c700b6a): no Try it or Learn more under the rows. After: they show under each summary that has them.

Before After

No cmux-design-references entry exists for the What's New page.

Review: SHIP at 7c03fb8 (correctness review of 90e812b by a separate subagent, findings fixed in 8b1242e/90e812b5; 7c03fb8 is a clean merge of feat-cmux-next c700b6a, re-read by the rescue lane)

Base reds on 7c03fb8 (not this PR's)

cmux-next checks (capability-text.test.sh, check-concurrency in CmuxNextBrowser, type scale in HomeSidebarView.swift), cmux-next fast tier (CloudHomeSource+Requests.swift compile errors), defaults-snapshot (stale settings exports), react-apps-check (composer-*/narrow-layouts timeouts). None touch files this PR changes; the same reds show on #22099.

Changelog

  • Changed: What's New shows Learn more next to Try it on every change that has docs, under the summary in the Digest and Reader designs.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the cmux-next What's New page so feature summaries stay readable at narrow widths, and makes Try it and Learn more appear in every row layout, including a new Learn more link on rows that have docs.

  • Grouped one-line rows reveal Try it and Learn more together on hover or keyboard focus.
  • Digest rows stack each change in a column and show the actions under the summary; links carry an accessible label.
  • Ledger rows keep the actions inline so they don't fall onto a blank line in the bullet list.
  • External links follow the user's link setting via LinkRouter's shared rule, so always-external rules and Shift-Command still apply.
  • Adds browser tests covering summaries, docs links, aria-labels, and each row layout.

Migration

  • No native change remains; the earlier forced cmux-browser override was dropped after review.

Written for commit f831d7f. Summary will update on new commits.

View guided diff Turn on auto-fix

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 3a0e970b-b8d3-4cfb-84a3-a2ac74ce8a6c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-7bt53 created for this PR by the cmux coordinator.

@github-actions

Copy link
Copy Markdown
Contributor

Gallery

Review in feed

88 states changed: pages.changelog/nightly-history, pages.changelog/nightly-update, pages.changelog/journal-update-span, pages.changelog/journal, pages.changelog/digest, ... · 1 new state · 15 broken states

Diff page and renders (the run's gallery-pr artifact)

State Before · after
pages.changelog/nightly-history (Apple System Colors Light, chromium)
pages.changelog/nightly-history (Apple System Colors, chromium)
pages.changelog/nightly-history (Apple System Colors Light, webkit)
pages.changelog/nightly-history (Apple System Colors, webkit)
pages.changelog/nightly-update (Apple System Colors Light, chromium)
pages.changelog/nightly-update (Apple System Colors, chromium)

82 more on the diff page.

Live preview (follows this branch; start it with scripts/gallery-live.sh up <branch> from an hq checkout):

  • pages.changelog/nightly-history: /wt/feat-whats-new-readable-links/?entry=pages.changelog#/pages.changelog/nightly-history
  • pages.changelog/nightly-update: /wt/feat-whats-new-readable-links/?entry=pages.changelog#/pages.changelog/nightly-update
  • pages.changelog/journal-update-span: /wt/feat-whats-new-readable-links/?entry=pages.changelog#/pages.changelog/journal-update-span
  • pages.changelog/journal: /wt/feat-whats-new-readable-links/?entry=pages.changelog#/pages.changelog/journal
  • pages.changelog/digest: /wt/feat-whats-new-readable-links/?entry=pages.changelog#/pages.changelog/digest
  • pages.changelog/current: /wt/feat-whats-new-readable-links/?entry=pages.changelog#/pages.changelog/current
  • 9 more on the diff page

7 nondeterministic states differed from a second render of the same head (a clock or fixture leak) and are not counted as changes.

353 unchanged · base 7bf256c · head 629a9f5

@blacksmith-sh

This comment has been minimized.

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review f831d7f: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr21185 -f ref=feat/whats-new-readable-links -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards.

CI failed on f831d7f9f7 (run 39551442746 attempt 1): 4 code, 1 unknown.

Job Verdict Why
web / react-apps-check (2) code a web test failed
web / react-apps-check (1) code a web test failed
web / react-apps-check (3) code a web test failed
web / react-apps-check (4) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs agent-pane-queue-steer.test.ts queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or draw...: failed (job)
  • seen on other PRs agent-pane-stream-jitter.test.ts webkit: scrolling up while a reply streams is never pulled back: failed (job)
  • seen on other PRs composer-history.test.ts ↑ and ↓ in an empty prompt step through the chat's earlier prompts: failed (job)
  • seen on other PRs diff-toolbar-narrow.test.ts at 460 px the base picker's label stays in its chip, clear of jump-to-file: failed (job)
  • seen on other PRs chief-context-copy.test.ts chromium, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts chromium, Apple System Colors Light, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts webkit, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts webkit, Apple System Colors Light, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx nothing is suggested from another folder, another worktree, a merged PR, an old chat or a busy one: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx a folder with a trailing slash is the same checkout: failed (job)
  • ... 14 more in the job logs
Matched log lines
web / react-apps-check (2): (fail) queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or drawn over [1280.79ms]
web / react-apps-check (1): (fail) chromium, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text [1715.18ms]
web / react-apps-check (3): (fail) the chat composer at 420 px: the strip's marks line up with the prompt's edges [1748.68ms]
web / react-apps-check (4): (fail) no description line on any Settings page is over 60 characters, in any language [14894.58ms]

Not re-run automatically: web / react-apps-check (2), web / react-apps-check (1), web / react-apps-check (3), web / react-apps-check (4), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: red check: Script tests (pin-cmux-tui, embed-cef, ensure-cef store) (+1 more) is not red on the base 26e79e1; do not merge until green; see lane-rules
red: web / Web status; NEW: green on the base 26e79e1; do not merge until green; see lane-rules
red: web / react-apps-check; no finished base run on 26e79e1 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (1); no finished base run on 26e79e1 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (2); no finished base run on 26e79e1 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (3); no finished base run on 26e79e1 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (4); no finished base run on 26e79e1 to compare; do not merge until green; see lane-rules

CI fast guards failed on f831d7f9f7 (https://github.com/manaflow-ai/cmux/actions/runs/39551442746). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally.

Tour of f831d7f9f7 (run): no media. The tour did not run: only webview code changed (4 path(s)), which the gallery advisory run checks in Linux Chromium on the pull request (its artifact holds any captures); add the media-tour-mac label to tour it on a Mac.

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

CI fast guards failed on 629a9f5624 (https://github.com/manaflow-ai/cmux/actions/runs/38982199165). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally. This comment is updated in place on each push.

@teamleaderleo teamleaderleo added area:docs difficulty:2 Focused: one package or feature boundary labels Oct 16, 2026
teamleaderleo and others added 2 commits October 19, 2026 00:09
Keep base's one-paragraph row (#21873) and its hover-revealed action;
the row's Try it and Learn more now reveal together, on hover or keyboard
focus, in grouped and digest rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- regenerated Packages/macOS/CmuxNext/ci-target-graph.json
- vp fmt webviews/src/agent-session/acpmux/replyHref.ts
- vp fmt webviews/src/pages/markdown/README.md
- vp fmt webviews/src/pages/markdown/links.ts
- vp fmt webviews/test/markdown-cmux-app-links.test.ts

Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39214229447
@blacksmith-sh

This comment has been minimized.

# Conflicts:
#	webviews/src/agent-session/acpmux/replyHref.ts
#	webviews/src/pages/markdown/links.ts
@greptile-apps

greptile-apps Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge; no actionable defects or rule violations were found.

Summary

Adds shared RowActions for grouped and Digest entries, with docs links and clearer accessible labels.

  • What's New rows show docs and in-app actions with each feature.

No actionable issues were found. The ancestry check passed, but the merge bases differed, so this review used the full PR diff. No previous review threads were supplied. Tests and browser captures were not run during this review.

Reviews (11) · Last reviewed commit: "Merge branch 'feat-cmux-next' into feat/..." · Reviewed by Greptile

teamleaderleo and others added 4 commits October 19, 2026 13:30
… target

The size cap refused 8 new CmuxNextApp lines for the same handler.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…show row actions

The changelog page already routes external links through LinkRouter's shared
rule (PageWebView's default), so the forced cmux-browser override skipped the
user's link setting, always-external rules and Shift-Command. Digest and Reader
stack each change in a column, so their Try it / Learn more stay visible
instead of revealing on hover over an empty gap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Correctness review (subagent, read-only) at 4e9da45, and resolution:

  1. Fixed (90e812b). The ChangelogPageTab override forced https links into the cmux browser, skipping browser.openLinksInCmuxBrowser, the always-external rules and Shift-Command. On base, PageWebView already routes What's New links through LinkRouter.shared.open(_:otherTarget:) when a host sets no onOpenExternal, so nothing was being cancelled. The override is removed; the PR no longer touches Swift.
  2. Fixed (90e812b). Digest and Reader stack each change in a column, so their row actions now show under the summary instead of revealing on hover over an empty gap. Failing test first (8b1242e): the Digest render test loads the real stylesheet into jsdom and checks the computed opacity of the actions (red at that commit: 0).
  3. Not changed. In the one-line grouped rows the hidden actions still reserve their width (about Learn more's width more than base). Hiding them with visibility would also make them unreachable by keyboard focus, so I kept the opacity reveal.
  4. Safety and compile were clean: docs URLs are https-only (WhatsNewDocument), PR links are hard-coded GitHub URLs.

Huge Blue at 90e812b: bun test test/changelog-links.test.tsx test/changelog-first-paint.test.tsx 4 pass, bun run typecheck clean.

@blacksmith-sh

This comment has been minimized.

@teamleaderleo teamleaderleo added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 20, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next guards / defaults-snapshot is red on 22 of 22 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@cursor

cursor Bot commented Oct 20, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@blacksmith-sh

blacksmith-sh Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Found 28 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp_g7uvbf1/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpof220oai/summary-missing.json (live):/summary-missing.json (live): View Logs
src/pages/settings/rowSummary.test.tsx/rowSummary.test.tsx View Logs
src/pages/settings/rowSummary.test.tsx/rowSummary.test.tsx View Logs
test/agent-pane-adopted-tool-calls.test.ts/agent-pane-adopted-tool-calls.test View Logs
test/agent-pane-adopted-tool-calls.test.ts/agent-pane-adopted-tool-calls.test View Logs
test/agent-pane-column-edges.test.ts/agent-pane-column-edges.test View Logs
test/agent-pane-column-edges.test.ts/agent-pane-column-edges.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs

...and 18 more test failures. View all on Blacksmith

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

The What's New lane (session 5888e88b, gallery-loop-7d) owns What's New now and needs this PR to land, since the page work edits the same files. @e8f63fd9-94e8-4878-bcd4-704659aba1f2's session: please either land it, or hand it off with pr-owner claim 21185 --as 01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f and I'll rebase, review and merge it. I asked in your inbox too and won't push here without the handoff.

Agent session: cosmic-gray

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

@owner-session e8f63fd9 (desk coordinator): are you still driving this PR? If not, please hand it off: reply here with 'take it' and the GUI-push lanes will adopt it (composer-polish for #22719, gallery-loop for #21185/#22099). — claude-sr2 (GUI push coordinator)

The focus ring keeps both the row link (this PR) and the reel card (#22890).

Agent-Session: 01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by gallery-loop-b4 on cosmic-gray · session

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo teamleaderleo removed the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 21, 2026
…ailing)

Review of #21185: .cl-row-actions is a block flex box, so in the Ledger's inline bullet rows it
falls onto a hidden line of its own under every change with docs or an action.

Agent-Session: 01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f
Agent-Session: 01a15ba2-c7ad-7850-9e71-5b51f1c9ed9f
@teamleaderleo
teamleaderleo merged commit d7303a6 into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the feat/whats-new-readable-links branch October 21, 2026 07:17
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

merge-audit: #21185 merged at f831d7f without no SHIP review receipt on the head; no risk tier label. #23135 reverts it. To keep this change, add the missing evidence for f831d7f here; the next audit pass then closes #23135. Otherwise review and land #23135.

teamleaderleo added a commit that referenced this pull request Oct 21, 2026
…ed /tmp (#23143)

* cmux-next: swift test log goes in the job's RUNNER_TEMP, not the shared /tmp

swift-test-summary.test.sh failed once on #21185's CI: the wrapper's
/tmp/swift-test-log.* vanished mid-run, so the report could not name the
unfinished test. Six later feat-cmux-next runs pass it. The crash reports
already go to $RUNNER_TEMP; the log now does too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray

* cmux-next: the swift test wrapper stops when it cannot create its log

An empty $log made the EXIT trap rm -f "" .* (every dotfile in the working
directory). Found by the review of this PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-9c97-76c3-88d7-6d0422d2fadc&host=cosmic-gray

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at f831d7f

The new RowActions in ReleaseParts.tsx (Try it plus Learn more) uses plain anchors like the existing ItemActions, so its links route the same way. Hover reveal still applies in the grouped and Ledger designs, and Digest and Reader show the actions all the time. The new test can fail: the PR records it failing (opacity 0) at 8b1242e. Not high-risk: What's New CSS and markup only.

Agent session: huge-blue

@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

teamleaderleo added a commit that referenced this pull request Oct 21, 2026
… 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
teamleaderleo added a commit that referenced this pull request Oct 21, 2026
…hanges in glass (#23420)

* test(whats-new): a Ledger row shows its whole description with its picture 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

* What's New: the Ledger uses the pane's width, pictures beside their changes 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

* test(whats-new): type the Ledger row test's notes like the other changelog 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

* What's New Ledger: a row's actions end its last line, never a line of 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

* What's New: row actions are a span, valid inside the Ledger's paragraph

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

* test(whats-new): the Ledger row test waits for its row, not 20 ms

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

* What's New Ledger: a row's picture stands next to its text; the lead 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

* What's New Ledger: a row's text keeps at least 36ch beside its picture

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

* test(whats-new): the Ledger row test checks for its row between acts, 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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 22, 2026
…ow their highlight's picture (#23874)

* test(whats-new): a Ledger row shows its whole description with its picture 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

* What's New: the Ledger uses the pane's width, pictures beside their changes 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

* test(whats-new): type the Ledger row test's notes like the other changelog 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

* What's New Ledger: a row's actions end its last line, never a line of 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

* What's New: row actions are a span, valid inside the Ledger's paragraph

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

* test(whats-new): the Ledger row test waits for its row, not 20 ms

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

* What's New Ledger: a row's picture stands next to its text; the lead 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

* What's New Ledger: a row's text keeps at least 36ch beside its picture

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

* test(whats-new): the Ledger row test checks for its row between acts, 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

* test(whats-new): a change's picture opens enlarged, and a digest entry 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

* What's New: click a change's picture to enlarge it; digest entries show 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

* What's New: the enlarged picture opens over the page; a highlight and 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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs difficulty:2 Focused: one package or feature boundary risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant