Skip to content

cmux NEXT: the chat header's Changes opens the turn's changes on the right outside a repository, not the palette - #31815

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/header-changes-no-palette
Nov 2, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/header-changes-no-palette

Conversation

@teamleaderleo

Copy link
Copy Markdown
Collaborator

Leo-ask: ask-8fd4350f48

Leo (2026-10-28): "this changes button. This doesn't really do anything. All it does is open up the command palette, and it doesn't open up the diff viewer on the right side."

What changed

The chat header's Changes (±) runs the app's openDiffViewer for the chat's folder. In a folder outside a git repository that open fails, and the app falls back to the folder picker in the command palette, so the click never shows a diff. Now, when the chat's folder is in no repository, Changes toggles the last turn's in-page changes view, which sits on the chat's right at every width since #29672. The edited-files card already did this. In a repository, nothing changes: the folder's diff tab opens beside the chat, and the earlier right-column work (#29682, #29828, #29861, #30010) still places it.

  • turnChanges/viewChanges.ts: headerChangesInPlace(folder, open, readStatus): true only for a local folder with no repository root while no diff tab from Changes is open.
  • App.tsx: the header's onChanges (button and "…" row) goes through it.

Test

cd webviews && bun test test/agent-pane-header-changes-no-repo.test.ts

  • base (origin/feat-cmux-next): fails (headerChangesInPlace not exported)
  • head: 6 pass

Observed / Not run

Ran: the test above, red then green; test/agent-pane-changes-placement.test.tsx green; scripts/web-lint.sh passed.
Not run: a DEV build click-through.

Changelog

Fixed: the chat header's Changes in a folder outside a git repository shows the turn's changes on the right instead of opening the command palette.

Agent session: agent session

🤖 Generated with Claude Code

teamleaderleo and others added 2 commits November 2, 2026 04:39
… changes, not the palette

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-84793fd1ab4c4fef5f37
…right in a folder outside a repository

It opened only the folder picker in the command palette there, since the folder's diff tab has
nothing to show without a repository. It now toggles the last turn's in-page changes view on the
chat's right, as the edited-files card does; in a repository it still opens the diff tab beside the chat.

Red on base (headerChangesInPlace missing), 6/6 green on head:
bun test test/agent-pane-header-changes-no-repo.test.ts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-84793fd1ab4c4fef5f37
@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 6873593: 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=pr31815 -f ref=lane/header-changes-no-palette -f platform=macos -f backend_mode=local

Gallery before/after for 6873593: 16 states rendered, 1 images differ, 1243 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41389730146 -R manaflow-ai/cmux -n gallery-advisory-31815-68735937c860e561479ad372cecee92ce8c7133f (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/standard Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-edge/short-edge Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-edge/short-edge Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-edge/wide-edge Apple System Colors Light changed 0% own App.tsx
agent-pane.composer-edge/wide-edge Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-edge/no-edge Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-edge/no-edge Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-floats/scrolled-to-end Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-floats/scrolled-to-end Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-floats/composer-grown Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-floats/composer-grown Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-40 Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-40 Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-56 Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-56 Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-72 Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-rest-gap/gap-72 Apple System Colors unchanged 0% own App.tsx
agent-pane.continuation-spacing/shipped Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/shipped Apple System Colors unchanged 0% own App.tsx
agent-pane.continuation-spacing/two-thirds Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/two-thirds Apple System Colors unchanged 0% own App.tsx
agent-pane.continuation-spacing/half-tucked Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/half-tucked Apple System Colors unchanged 0% own App.tsx
agent-pane.continuation-spacing/before Apple System Colors Light unchanged 0% own App.tsx
agent-pane.continuation-spacing/before Apple System Colors unchanged 0% own App.tsx
agent-pane.copy-controls/output Apple System Colors Light unchanged 0% own App.tsx
agent-pane.copy-controls/output Apple System Colors unchanged 0% own App.tsx

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

Shipped in:

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at 6873593
Follow-ups: native Changes shortcut/palette route outside a repository; button not lit while the in-page view is open; one extra git.status before the native open.

@teamleaderleo
teamleaderleo merged commit 9efaeb7 into feat-cmux-next Nov 2, 2026
61 of 66 checks passed
@teamleaderleo
teamleaderleo deleted the lane/header-changes-no-palette branch November 2, 2026 04:40
@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 2, 2026

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 68735937 Deployed Nov 2, 2026 by teamleaderleo via cmux-tui tree preflight #99273
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant