Skip to content

cmux NEXT layout: trim only a column's rounding, not a column meant to run past the edge (base red) - #26100

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix/next-column-strip-base-red
Oct 27, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix/next-column-strip-base-red

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

What this fixes

Three suites fail on the feat-cmux-next tip: ColumnStripFitTests, ColumnCloseMotionTests and DividerCursorUnderDockTests (tip suite job). All three come from one line in ColumnStripGeometry.frames, added by 0f8696c ("fix(layout): columns that fit the strip end on the viewport edge"):

let room = viewport.width - gap - x
if width > room { width = max(1, room) }

The commit meant to trim rounding: equal columns, each rounded to a pixel on its own, overflowed by up to 1.5 pt. The line trims any column past the trailing edge, though, including one that is meant to overflow:

  • A second full-width column collapses to 1 pt. In ColumnCloseMotionTests, revealing it leaves the chat on screen.
  • A 0.6 column no longer runs on under a right dock. DividerCursorUnderDockTests finds no divider under the dock.
  • Rounded-down columns still stop short. In ColumnStripFitTests, equal columns end 0.25 to 2.25 pt before the edge.

The change

A column now takes the room left in two cases, and only before any column was widened to its minimum:

  • it fits before rounding, and rounding pushes it past the edge;
  • its unrounded end is the trailing edge.

A column whose own fraction runs past the edge keeps its width, and the strip scrolls, as it did before 0f8696c.

Test changes

  • New test, aColumnPastTheEdgeKeepsItsWidth: two full columns stay equal and the strip scrolls.
  • Changed expectation, screenGeometryOfEqualColumnsHasNoOverflow: it still requires zero overflow wherever the equal share is at least the column's minimum width. Below that minimum it now expects the strip to scroll. Columns widen to the pane minimum so panes never collapse; that is the existing minimumWidths contract. The old expectation (fit 5 columns into 600 pt) contradicted it, and the 23 to 435 pt "overflow" in that check is that widening.

Order this serves:

"Find the common failure ... fix it so swift test goes green on base, and confirm on PR runs. A base red that hides signal blocks Swift-surface landings until it's green"

Source change: 0f8696c, with its test c35c180. This is a minimal forward fix that keeps that commit's intent (no overflow from rounding).

No capture: a pure geometry fix whose visible effect (columns end on the strip edge; a second full column or a column under a dock keeps its width) is asserted pixel-exact by the three suites above. Two cmux-ci capture --state tour:core attempts on fleet minis released their lease before the app could be driven ("the lease has 13s left" and "45s left: too little to drive the app").

Risk: low. Pure geometry, one function, covered by the three suites above.

Review (codex gpt-6-astra xhigh): SHIP at fa681c4

Agent session: agent session

🤖 Generated with Claude Code

…t the strip's edge

0f8696c cut any column that ran past the trailing edge back to the
room left, so a column that overflows on its own fraction (a second full
column, a column running on under a right dock) collapsed to 1 pt. That
broke ColumnCloseMotionTests and DividerCursorUnderDockTests on base, and
the rounded columns still stopped short of the edge (ColumnStripFitTests).

A column now takes the room left only when it fits before rounding and
rounding pushes it past the edge, or when its unrounded end is the
trailing edge. Equal columns too narrow for a pane's minimum widen and
scroll, as asked for; the screen-geometry check expects that scroll.

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

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

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

Review fa681c4: 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=pr26100 -f ref=fix/next-column-strip-base-red -f platform=macos -f backend_mode=local

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 8ff9fcf to compare; do not merge until green; see lane-rules

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 27, 2026
@blacksmith-sh

blacksmith-sh Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Found 15 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp0p8_o4_4/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpsc2dp4at/summary-missing.json (live):/summary-missing.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
main.DeveloperIdAppTests.test_download_prints_the_active_profile_only/
test_download_prints_the_active_profile_only
View Logs
convention violations found (ERROR lines above)./
convention violations found (ERROR lines above).
View Logs
stubs: /System/Library/Frameworks/Security.framework/Versions/A/Security has no stub/
Security has no stub
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_CFRetain']/
CoreFoundation, missing 1: ['_CFRetain']
View Logs

...and 5 more test failures. View all on Blacksmith: run 40481711284, run 40481710740

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-5luhpt created for this PR by the cmux coordinator.

@teamleaderleo
teamleaderleo merged commit 998b9a4 into feat-cmux-next Oct 27, 2026
162 of 171 checks passed
@teamleaderleo
teamleaderleo deleted the fix/next-column-strip-base-red branch October 27, 2026 11:51
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

This branch was previously deployed

1 inactive deployment
ci-routing-agent — fa681c4a Deployed Oct 27, 2026 by teamleaderleo via wait for same-key tree publisher #63563
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