Fix cmux.json split ratios

Merged
AU
5mo ago
+135-1

Summary

  • Add a regression test for cmux.json custom split ratios through the rendered Bonsplit view lifecycle.
  • Preserve the requested Bonsplit divider ratio during split entry layout instead of forcing 50:50.
  • Merge current main and update vendor/bonsplit to 627251f, which is now reachable from manaflow-ai/bonsplit/main via bonsplit PR #132.

Closes #2429

Reproduction

Issue #2429 reproduced the bug with a ~/.config/cmux/cmux.json command whose layout uses "split": 0.33; running the command rendered the panes as 50:50 instead of 33:67.

Regression Coverage

  • Commit 39405e8854c4f540f1aae4852dd241c14a91fce2 adds the behavior-level regression test before the fix.
  • The fix follows in the bonsplit submodule pointer update, preserving the two-commit regression-test policy.
  • Red/green proof: targeted CI run https://github.com/manaflow-ai/cmux/actions/runs/26323428031/job/77496607371 ran that test against the pre-fix app code and failed with a rendered ratio of 0.500556... instead of 0.33, plus Bonsplit model state rewritten to 0.5.
  • Current PR CI run https://github.com/manaflow-ai/cmux/actions/runs/26322403385/job/77493833735 passes the full unit-test job with the fix.
  • The test renders a BonsplitView in an NSWindow and asserts the requested divider ratio survives both the model and rendered NSSplitView layout pass.

Testing

  • ./scripts/reload.sh --tag issue-2429-cmux-json-split-ratio
  • GitHub Actions: tests, tests-build-and-lag, release-build, ui-regressions, web-typecheck, web-db-migrations, remote-daemon-tests, workflow-guard-tests, and activation-session pass.
  • Vercel preview deployments are still queued externally as of the latest poll; no Vercel build logs have started yet.