Skip to content

cx-6uj1l: agent pages follow Labs and page settings from launch - #20878

Merged
teamleaderleo merged 9 commits into
feat-cmux-nextfrom
op-next-cursors/labs-page-follow
Oct 15, 2026
Merged

teamleaderleo merged 9 commits into
feat-cmux-nextfrom
op-next-cursors/labs-page-follow

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

cx-6uj1l. With labs.previewFeatures on, agent pages never got preview, whether at launch or when it was turned on while the app ran. The setting read true and the sidebar showed Lanes, but the agent pane's Labs surfaces (the session coverage label, and the plan card in #20833 and recap card in #20867) never appeared. The same bug left the other page settings at their fallbacks on every agent page: agentPane.editedFiles.*, zoom, composer and diff.colors.

Cause. At launch, AppActions.bind runs before Settings start. Three bindings read services.agentTabs right away:

  • FilePageHandlers (openFiles)
  • AgentHandlers (moveToFloatingChat)
  • CloudHandlers+Move (uploader)

That creates the lazy store while services.settings is nil, and the store follows the page settings only when it gets them in its init. So it never followed them.

Fix. AppServices.settings now has a didSet that makes an already-created store follow the settings. A store made later still follows them through its init, so it works whatever touches the store first.

Testing

  • New AgentPageLabsFollowTests. It binds the actions, then sets Settings with Labs on, opens an agent view and expects preview on. Then it turns Labs off and expects preview off.
    • Red at 17768a4: fleet step 48047a72e5f13aaf527364ae fails with "Labs on in cmux.json, but the agent page did not get preview".
    • Green at 97dc54a: fleet step 54781528a98ba09151dc80d5.
  • That green run had one unrelated failure, SidebarInsertWhileDisplayAsleepTests. It is likely display-host dependent, but that isn't confirmed. It also had the known same-tree skip guard.
  • Live: a DEV build of this fix merged with Agent pane (Labs): live todo card and activity line (cx-ncc.102) #20833, on a fleet capture slot.
    • With Labs on, the page shows the plan card and the coverage label.
    • Turning Labs off while running removes both, and turning it back on brings them back.
    • The same build without this fix showed neither.
Labs on (coverage label in the header, plan card) Labs turned off while running
labs on agent page dark labs toggled off dark

Changelog

  • Fixed: Labs features and agent pane settings (edited files, zoom, composer, diff colors) now reach agent chats from launch and update live.

🤖 Generated with Claude Code

teamleaderleo and others added 2 commits October 14, 2026 20:36
…tings

Launch binds the actions before Settings start, and those bindings make
the agent tabs store, which then never follows cmux.json: Labs on shows
in Settings and the sidebar, never on an agent page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AppActions.bind runs before startSettingsAndControl, and FilePageHandlers,
AgentHandlers and the Cloud move bindings touch services.agentTabs, so the
store was made with services.settings nil and never followed cmux.json:
labs.previewFeatures (session coverage label, plan card),
agentPane.editedFiles, zoom, composer and diff colors stayed at their
fallbacks on every agent page, and toggling did nothing. Setting
AppServices.settings now makes an existing store follow it.

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

cursor Bot commented Oct 15, 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.

@coderabbitai

coderabbitai Bot commented Oct 15, 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: 57492163-d506-428a-a499-e240c205e21b

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.

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

all web/size checks green

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Not verified: macOS jobs did not run: compile and app tests were skipped on e5722520da; ci-status is green without them.

CI passes on e5722520da (run 38686365469 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

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.

teamleaderleo and others added 4 commits October 14, 2026 21:04
… test restores env

Review on #20878: cancel the old observation tasks before following a new
controller, check the store exists before Settings (the case under test),
and put the test's process environment back afterwards.

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

This comment has been minimized.

teamleaderleo and others added 2 commits October 14, 2026 21:35
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo
teamleaderleo temporarily deployed to cmux-tui-merge-tree October 15, 2026 04:39 — with GitHub Actions Inactive
@teamleaderleo
teamleaderleo merged commit cb8fb0c into feat-cmux-next Oct 15, 2026
93 checks passed
@teamleaderleo
teamleaderleo deleted the op-next-cursors/labs-page-follow branch October 15, 2026 07:32
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
github-actions Bot added a commit that referenced this pull request Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

cmux-next tour of e5722520da88c5eb5cb5af01a82df8821c872cdb (run)

Path-selected interactions

Interaction Changed paths
agent-pane Packages/macOS/CmuxNext/Sources/CmuxNextApp/AgentPanePageSettings.swift
core Packages/macOS/CmuxNext/Sources/CmuxNextApp/AgentTabs.swift
Packages/macOS/CmuxNext/Sources/CmuxNextApp/AppServices.swift
Packages/macOS/CmuxNext/Tests/CmuxNextAppTests/AgentPageLabsFollowTests.swift

Agent pane (before): 3 ok

tour

Video (mp4)

# Step Result Command
1 Launch ok
2 Open agent chat ok cmux agent new-chat
3 Queue a second chat ok cmux agent new-chat
Screenshots (3)

1. Launch
Launch

2. Open agent chat
Open agent chat

3. Queue a second chat
Queue a second chat

### Agent pane \(after\): 3 ok

tour

Video (mp4)

# Step Result Command
1 Launch ok
2 Open agent chat ok cmux agent new-chat
3 Queue a second chat ok cmux agent new-chat
Screenshots (3)

1. Launch
Launch

2. Open agent chat
Open agent chat

3. Queue a second chat
Queue a second chat

### Core UI \(before\): 12 ok

tour

Video (mp4)

# Step Result Command
1 Launch ok
2 New workspace ok cmux workspace new --name Tour
3 Type in the terminal ok cmux workspace name:Tour screen current pane current tab current terminal current write --text "echo hello from the cmux-next tour\r"
4 Split right ok cmux action run splitRight
5 Split down ok cmux action run splitDown
6 New terminal tab ok cmux action run newSurface
7 Browser tab ok cmux tab new-browser --url https://example.com
8 Hide the sidebar ok cmux action run toggleSidebar
9 Show the sidebar ok cmux action run toggleSidebar
10 Notification ok cmux notify --title Tour --body "Hello from CI"
11 Notifications panel ok cmux action run showNotifications
12 Agent chat ok cmux agent new-chat
Screenshots (11)

1. Launch
Launch

2. New workspace
New workspace

3. Type in the terminal
Type in the terminal

4. Split right
Split right

5. Split down
Split down

6. New terminal tab
New terminal tab

7. Browser tab
Browser tab

8. Hide the sidebar
Hide the sidebar

10. Notification
Notification

11. Notifications panel
Notifications panel

12. Agent chat
Agent chat

### Core UI \(after\): 12 ok

tour

Video (mp4)

# Step Result Command
1 Launch ok
2 New workspace ok cmux workspace new --name Tour
3 Type in the terminal ok cmux workspace name:Tour screen current pane current tab current terminal current write --text "echo hello from the cmux-next tour\r"
4 Split right ok cmux action run splitRight
5 Split down ok cmux action run splitDown
6 New terminal tab ok cmux action run newSurface
7 Browser tab ok cmux tab new-browser --url https://example.com
8 Hide the sidebar ok cmux action run toggleSidebar
9 Show the sidebar ok cmux action run toggleSidebar
10 Notification ok cmux notify --title Tour --body "Hello from CI"
11 Notifications panel ok cmux action run showNotifications
12 Agent chat ok cmux agent new-chat
Screenshots (11)

1. Launch
Launch

2. New workspace
New workspace

3. Type in the terminal
Type in the terminal

4. Split right
Split right

5. Split down
Split down

6. New terminal tab
New terminal tab

7. Browser tab
Browser tab

8. Hide the sidebar
Hide the sidebar

10. Notification
Notification

11. Notifications panel
Notifications panel

12. Agent chat
Agent chat

Tours are data in scripts/cmux-next/media/tours: add a step or a tour file to show your feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant