Repository navigation
cmux NEXT What's New: the changelog page answers a PR chip's card (pr.inspect, browser.list, browser.openIn) - #24088
Conversation
cmux.changelog.pr.inspect {url} answers from the app's pull request cache with
the agent page's pr.inspect reply (one shared AgentPanePullRequestAnswer.reply).
cmux.changelog.link.open {url} opens an https link in a cmux browser tab via
LinkOpener.openWeb, spending one of the person's gestures in the page view.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c1c-9365-71b3-b73b-dc961610d618&host=huge-blue
|
Owned by release-rings on huge-blue · session |
|
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)
red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 44fc3d3 to compare; do not merge until green; see lane-rules Tour of |
|
Found 11 test failures on Blacksmith runners: Failures
...and 1 more test failures. View all on Blacksmith
|
|
Bead |
…methods The web card maps each chip call m to cmux.changelog.<m>, so the changelog page answers pr.inspect, browser.list and browser.openIn with the agent page's params and replies, through one shared AgentPaneReplyLinks.respond(toCard:). The agent page now calls the same method. On the changelog page, browser.openIn takes only https and spends one gesture from the page view. link.open is removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c1c-9365-71b3-b73b-dc961610d618&host=huge-blue
…rings/changelog-chip-ops
|
|
|
Review (codex xhigh, independent, different model): SHIP at 1733afe Checked: gesture spending and https-only on |
…rings/changelog-chip-ops
|
Review (codex xhigh, independent, different model, run on cmux16 from a diff bundle): SHIP at 0ab0b44
|
…rings/changelog-chip-ops # Conflicts: # Packages/macOS/CmuxNext/Sources/CmuxNextAgentPane/AgentPaneReplyLinks.swift
|
Review (codex xhigh, independent, different model, run on cmux16 from a diff bundle): SHIP at a8c231f
|
|
Orphaned: no activity for 13 h, and no lane holds a lease on it. Adopted by the orphan sweep: merged |
|
|
|
Review (Codex gpt-6.1-sol, xhigh, on big-red, diff-only from
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Summary
The What's New lane (gallery-loop-b4) is adding a PR chip with the agent page's link hover card to the changelog page. The card maps each of its calls
mtocmux.changelog.<m>. Today the changelog page answers onlycmux.changelog.list|get|reelandcmux.app.action.run, so the card's calls came backunknown_op. This PR has the changelog page answer the card's three methods with the agent page's params, checks and replies. There are no web changes; the web lane points its card at these names.cmux.changelog.pr.inspect {url}: what the app's pull request cache (AgentReplyPullRequests.shared) has,{pullRequest | null, reading, fetchedAt?}. Only a plainhttps://github.com/<owner>/<repo>/pull/<n>. Passive.cmux.changelog.browser.list {}: the installed browsers by opaque id,{browsers: [{id, name, icon?}]}. Passive.cmux.changelog.browser.openIn {url, browserId}:cmuxopens the link in a cmux browser tab throughLinkOpener.openWeb, the path the agent page's card uses, from the pane that shows the page. An id from the lastbrowser.listopens the link in that browser.cmux.protocol.invalid_params.context.userGestureplus agestureEventnot already spent. Without one it fails withlink.gesture_required, as on the agent page.One code path, not a copy:
AgentPaneReplyLinks.respond(toCard:consumeGesture:openInCmux:), andAgentPaneModel.respondnow calls it.AgentPaneReplyRequest(itsknownParams, URL and pull request checks) and turns the reply into aPageErrorthrough the sameAgentPageProvider.value(of:). Only the gesture source (each page's own) and the https-only rule differ.PageFactory.changelogNotes: the changelog tab and the update surface island. Each sets the provider'sanchorto its page view.Known-params lists:
AgentPaneReplyRequest.knownParams, unchanged. The changelog provider admits onlyAgentPaneReplyLinks.cardMethods(pr.inspect,browser.list,browser.openIn).cmux.changelog.namespace.cmux-agent-pane-policycovers the agent pane's_acpmux/*requests, notAgentPaneReplyRequest, andcmux-tui/spec/page-router.jsonhas no changelog entry. So nothing in Rust changes.ReleaseNotes.Highlightis not touched; the What's New lane adds itsprfield.No capture: no visible UI changes. The PR adds host ops the changelog page can call (
pr.inspect,browser.list,browser.openIn) and moves the agent page's handling of them into one shared method. The chip and card that use them land in the What's New lane's web PR.Testing
Packages/macOS/CmuxNext/Tests/CmuxNextAppTests/ChangelogPRChipTests.swift:pr.inspectpullRequestbefore the cache has one.browser.listlink.browser_unknown.browser.openIncmux, an https URL and a gesture, it reaches the injected opener. Without a gesture it is refused (link.gesture_required), and one gesture opens one link.invalid_params) without opening anything.browserId, a non-string url, an extra key) is refused, and a failed open islink.open_failed.link.openPath,image.load, and so on) and the oldlink.openareunknown_opon this page.Observed / Not run
python3 scripts/cmux-next/prepush-gate.pyreported no new violations.ambiguous use of 'display', the same lines as base f8c77f4), so no CmuxNext test has run on this head. fix(next tests): CmuxNext test targets compile again (HomeChiefLinkInk selector, HoleRecordingPage setSeeThrough) #24211 fixes that base red. A fleet suite step queued for over 100 minutes with no worker and was cancelled. The fast-tier log shows ChangelogPRChipTests.swift compiling without errors.Changelog
none
Agent session: huge-blue
🤖 Generated with Claude Code