Skip to content

Session Info: Context opens by default - #30269

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/si-context-open
Nov 1, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/si-context-open

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, 2026-11-01: "anyways, context tho is pretty good i think to keep expanded by default? it seemed like it was collapsed initially but idk"

What

  • DEFAULT_SECTIONS.context is now true. Connectors stays folded, and every other default is unchanged.
  • Each chat saves its whole section map when a pane first shows it, so every existing chat holds the old folded Context, and the default alone would never reach them. The saved sections now carry v: 2. A saved context without it gives way to the new default. Any other saved section, and a Context fold made after this change, is kept.

Spec: leo-workspace design/session-panel.md ("Context and Connectors start folded" → only Connectors), updated in the same pass.

Changelog

  • Changed: Session Info's Context section starts expanded.

Observed / Not run

  • New test Context opens by default, even in a chat saved before that, and a fold made since stays (session-info-per-pane-state.test.ts). On base it fails because the default is folded; on head it passes.
  • bun test test/session-info*.test.* (non-browser): 158 pass, 1 fail. The failure is session-info-subagent-card-stays, which fails identically on base when the files share one bun process and passes alone (3/3) on head.
  • scripts/web-lint.sh: passed.

Risk: small. The default flips, and a stored-state version guards only the context key.

Agent session: agent session

🤖 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

Opens Session Info's Context section by default instead of keeping it folded; Connectors and all other sections keep their previous defaults.

The saved per-chat pane state now carries a version (v: 2), so chats saved before this change, which stored Context folded by default, pick up the new expanded default, while a fold made after the change is preserved.

Written for commit 94f86ab. Summary will update on new commits.

View guided diff Turn on auto-fix

Leo, 2026-11-01: "context tho is pretty good i think to keep expanded by
default? it seemed like it was collapsed initially but idk".

DEFAULT_SECTIONS opens Context; Connectors stays folded. Every chat saved its
whole section map (Context folded by default) when a pane first showed it, so
the saved sections now carry a version: a saved Context from before version 2
gives way to the new default, and a fold made since is kept.

Test: bun test test/session-info*.test.* (non-browser): 158 pass; the one
failure (session-info-subagent-card-stays) fails the same way on base when the
files share one process, and passes alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-7a7568197607c3cdfb81
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 1, 2026
@github-actions

github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 94f86ab: 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=pr30269 -f ref=lane/si-context-open -f platform=macos -f backend_mode=local

Gallery before/after for 94f86ab: 16 states rendered, 22 images differ, 413 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 41281589391 -R manaflow-ai/cmux -n gallery-advisory-30269-94f86abf7328be7ecc92aa877747306255d0dc33 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.chat-inspector/full Apple System Colors Light changed 9.23% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/full Apple System Colors changed 9.18% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-running Apple System Colors Light changed 5.57% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-running Apple System Colors changed 5.52% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-finished Apple System Colors Light changed 5.34% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-finished Apple System Colors changed 5.3% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-compact Apple System Colors Light changed 5.17% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-compact Apple System Colors changed 5.14% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-detail Apple System Colors Light changed 5.57% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-detail Apple System Colors changed 5.52% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-grid Apple System Colors Light changed 5.47% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-grid Apple System Colors changed 5.41% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-narrow Apple System Colors Light changed 5.22% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/workflow-agent-row-narrow Apple System Colors changed 5.17% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/reorder-dragging Apple System Colors Light changed 9.26% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector/reorder-dragging Apple System Colors changed 8.69% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/transcript Apple System Colors changed 0.947% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/transcript Apple System Colors Light changed 0.946% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/diff-in-place Apple System Colors Light unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/diff-in-place Apple System Colors unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/document-beside Apple System Colors changed 0.947% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/document-beside Apple System Colors Light changed 0.946% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/diff-closed Apple System Colors changed 0.947% imports sessionInfoState.ts (1 hops)
agent-pane.chat-inspector-surfaces/diff-closed Apple System Colors Light changed 0.946% imports sessionInfoState.ts (1 hops)
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.chat-width/standard Apple System Colors unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.chat-width/wide Apple System Colors unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.composer-edge/short-edge Apple System Colors Light unchanged 0% imports sessionInfoState.ts (1 hops)
agent-pane.composer-edge/short-edge Apple System Colors unchanged 0% imports sessionInfoState.ts (1 hops)

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

red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base d8f537d; does not block

Shipped in:

@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Nov 1, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 3 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="webviews/test/session-info-per-pane-state.test.ts">

<violation number="1" location="webviews/test/session-info-per-pane-state.test.ts:293">
P3: This regression test does not verify preservation of any non-Context saved section because every asserted non-Context value equals its default. Set one legacy section to a non-default value, such as `environment: false`, and assert that value after loading `chat-old`.</violation>
</file>

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

// Leo, 2026-11-01: "context tho is pretty good i think to keep expanded by default? it seemed like it
// was collapsed initially". Every chat saved its whole state, Context folded by default, before
// the change; that saved fold gives way, and a fold saved since (version 2) is kept.
const folded = { environment: true, context: false, connectors: false, changes: true };

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This regression test does not verify preservation of any non-Context saved section because every asserted non-Context value equals its default. Set one legacy section to a non-default value, such as environment: false, and assert that value after loading chat-old.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At webviews/test/session-info-per-pane-state.test.ts, line 293:

<comment>This regression test does not verify preservation of any non-Context saved section because every asserted non-Context value equals its default. Set one legacy section to a non-default value, such as `environment: false`, and assert that value after loading `chat-old`.</comment>

<file context>
@@ -285,3 +285,25 @@ for (const [name, savedByB] of [
+  // Leo, 2026-11-01: "context tho is pretty good i think to keep expanded by default? it seemed like it
+  // was collapsed initially". Every chat saved its whole state, Context folded by default, before
+  // the change; that saved fold gives way, and a fold saved since (version 2) is kept.
+  const folded = { environment: true, context: false, connectors: false, changes: true };
+  localStorage.setItem(
+    `${PREFIX}chat-old`,
</file context>

…open

Review of 1af2e21 (BLOCK): the test clicked Context's head to open it, which
now folds it, then timed out waiting for its rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-7a7568197607c3cdfb81
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at 94f86ab

Delta review after the BLOCK at 1af2e21: the card-fit test now folds Context from its open start instead of clicking it open. The shrank, belowCeiling, sameAsTallestPane, endsAtContent and scrolls expectations still hold with Context open; the rest is unchanged since the last review. Versioning was verified in the first review (no Swift reader; v never reaches the typed sections).

Follow-ups:

  • [follow-up] the card-fit test's "about 200px" comment could say about 300px with Context open
  • [follow-up] a pane key written by an older build without v resets Context to open

@blacksmith-sh

blacksmith-sh Bot commented Nov 1, 2026

Copy link
Copy Markdown

Found 2 test failures on Blacksmith runners:

Failures

Test View Logs
nightly must build and hand off the macOS 26 helper and Xcode 26.5 app before publishin
g/
nightly must build and hand off the macOS 26 helper and Xcode 26.5 app before publishin
g
View Logs
test_the_nightly_is_covered (main.NightlyStepCoverageTests.test_the_nightly_is_cove
red)/
test_the_nightly_is_covered (main.NightlyStepCoverageTests.test_the_nightly_is_cove
red)
View Logs

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

@teamleaderleo
teamleaderleo merged commit 2fb4eb0 into feat-cmux-next Nov 1, 2026
182 of 195 checks passed
@teamleaderleo
teamleaderleo deleted the lane/si-context-open branch November 1, 2026 09:38

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 94f86abf Deployed Nov 1, 2026 by teamleaderleo via cmux-tui tree preflight #94312
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