fix(browser): activate Chromium pane resize synchronization

TE
2d ago
+362-17

HOLD: Resize sync needs a security-patched CEF API 27+ release and its matching remote browser host. The existing cmux.38 pin must stay until that dependency is available and the same-harness comparison passes.

Leo reported: “resizing the panes it propagates so f***ing slowly to the right side browser tab thing.”

Carries Austin Wang’s resize-sync implementation from #26595. In the resizeSync mode, pane page windows and docked DevTools wait for their new-size frame during a divider drag and its landing, capped at half the shortest display frame. Drag shares end on landing, view detachment, and page teardown.

The shipped default remains live. This PR does not yet fix the default user flow. The security-patched cmux.38 pin exposes API 24; resize sync requires API 27+. The earlier proposed cmux.36 downgrade has been removed because it would lose security fixes and mismatch the remote browser host built for cmux.38. See base commit 10fe92bbf63dd64e6fac6fc22b99e121a4cc5e42 and plans/cmux-next/browser.md (Chromium security updates).

Design: plans/cmux-next/cef-layer-hosting-DESIGN.md.

Validation

  • The intermediate implementation compiled through the fleet at bb5c20c75ef2abf05aced1162d3ad864673a94e3 (311 seconds); this is not validation of the final head.
  • Focused tests and a live versus resizeSync fleet benchmark were requested before the insecure pin was identified. They do not prove the final shipped behavior.
  • Final-head review, validation, and DEV flow verification remain outstanding.

Performance

metricbeforeafterdeltaharness or run link
Chromium pane resize latencyunmeasuredunmeasuredpending supported forkscripts/cmux-next/split-resize-bench.py --variants=live,resizeSync

Agent session: agent session
🤖 Generated with Claude Code