Skip to content

Fix terminal panes going blank after repeated tab drag/reorder - #512

Merged
austinywang merged 1 commit into
mainfrom
fix/issue-483-terminal-portal-recovery
Feb 26, 2026
Merged

austinywang merged 1 commit into
mainfrom
fix/issue-483-terminal-portal-recovery

Conversation

@austinywang

@austinywang austinywang commented Feb 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • add transient portal recovery in WindowTerminalPortal for drag/reorder churn, gated by CMUX_ISSUE_483_PORTAL_RECOVERY
  • avoid hiding a currently visible hosted terminal during short transient anchor/geometry invalidation windows
  • keep visible entries from being aggressively pruned while SwiftUI/AppKit briefly rehomes anchors
  • rebind portal entries on geometry callbacks when a binding is unexpectedly missing
  • prevent stale host updates from forcing setVisibleInUI(false) on an actively bound hosted view
  • update the static regression guard to accept helper-based deferred recovery scheduling

Validation

  • python3 tests/test_terminal_resize_portal_regressions.py
  • python3 tests/test_browser_devtools_portal_regressions.py
  • ./scripts/reload.sh --tag issue-483-v3
  • xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug -destination 'platform=macOS' build
  • local flagged build launched with OTHER_SWIFT_FLAGS='$(inherited) -DCMUX_ISSUE_483_PORTAL_RECOVERY'

Closes #483

@vercel

vercel Bot commented Feb 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Building Building Preview, Comment Feb 26, 2026 1:54am

@austinywang
austinywang merged commit d517be8 into main Feb 26, 2026
6 checks passed
bn-l pushed a commit to bn-l/cmux that referenced this pull request Apr 3, 2026
…minal-portal-recovery

Fix terminal panes going blank after repeated tab drag/reorder

This branch was successfully deployed

1 active deployment
Preview — de8c5120 Deployed Feb 26, 2026 by vercel[bot]
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.

Terminal panes fail to render after repeated tab dragging/reordering

1 participant