Skip to content

fix: recover hidden terminal renderer after window attach - #16548

Merged
teamleaderleo merged 3 commits into
mainfrom
fix/cloud-hidden-terminal-reveal-16412
Oct 3, 2026
Merged

teamleaderleo merged 3 commits into
mainfrom
fix/cloud-hidden-terminal-reveal-16412

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

A terminal created while its workspace is hidden can become visible after the portal has attached its geometry, but the renderer readiness transition may have already run before the hosted view entered the real window. With no later frame delta, the renderer stays released and the pane remains blank even though the PTY and screen buffer are alive.

Fix

Replay the renderer readiness transition from viewDidMoveToWindow after committed pane geometry is reapplied. This preserves the existing readiness guards and only retries when the portal, window, and drawable geometry are usable.

Tests

  • swiftc -parse Sources/GhosttyTerminalView.swift Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererPresentationTests.swift
  • python3 scripts/verify-local.py --affected upstream/main --timeout 60
  • git diff --check

Fixes #16412

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 2 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 1930d739-8df8-4e58-a825-89231f5277d9
📥 Commits

Reviewing files that changed from the base of the PR and between db77e58 and 7251436.

📒 Files selected for processing (2)
  • Packages/macOS/CmuxTerminal/Tests/CmuxTerminalTests/TerminalSurfaceRendererPresentationTests.swift
  • Sources/GhosttyTerminalView.swift
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@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.

All reported issues were addressed across 2 files

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

Re-trigger cubic

@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

CI failure attribution

CI failed on 7251436c1d (run 37155328383 attempt 1): 1 code, 1 unknown.

Job Verdict Why
Fast static checks code a static check failed
guards / workflow-guard-tests / ci unknown no known signature; failed step: Propagate failed independent fast guard
Matched log lines
Fast static checks: FAILED localization (1.22s)

Not re-run automatically: Fast static checks, guards / workflow-guard-tests / ci are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's.

@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Dogfood tours of b7d91c43

modifier-clicks-tour at b7d91c43: not run

skipped: CI built this head on a runner pool whose products the UI test Macs cannot load, and media never compiles one; gh workflow run pr-media.yml -f pr=<n> -f allow_compile=true does

Tours are picked by the paths globs in dogfood/scenarios/*.json; a Dogfood-tours: a, b line in the description picks them instead (none turns this off). Look at every frame before merging: a green tour only means no step failed.

@cursor

cursor Bot commented Oct 2, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

CI fast guards failed on 7251436c1d (https://github.com/manaflow-ai/cmux/actions/runs/37155328210). It does not block the merge; a red guard merged into main breaks it for every open PR.

Validate macOS jobs select a pinned Xcode (red on main too, not this PR)

Main has failed this step since #17206 by @teamleaderleo (self-merged) (#17169). Merge main again once the fix lands there.

Validate owned Mac build state (red on main too, not this PR)

Main has failed this step since #17168 by @teamleaderleo (self-merged) (#17169). Merge main again once the fix lands there.

Validate fork runner routing (red on main too, not this PR)

Main has failed this step since #17206 by @teamleaderleo (self-merged) (#17169). Merge main again once the fix lands there.

Run canonical CMUX CI guard profile (red on main too, not this PR)

Main has failed this step since #17206 by @teamleaderleo (self-merged) (#17169). Merge main again once the fix lands there.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally. This comment is updated in place on each push.

@teamleaderleo
teamleaderleo merged commit 9c41d59 into main Oct 3, 2026
55 of 62 checks passed
@teamleaderleo
teamleaderleo deleted the fix/cloud-hidden-terminal-reveal-16412 branch October 3, 2026 21:35
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Merge receipt for 7251436c1d, merged 2026-10-03 21:35:16 UTC

  • Not verified at merge: ci-status (failure), CI fast guards (failure), Fast static checks (failure), guards (18) (failure), linux-preflight (failure), tests (failure)
  • Verified: backend migrations applied, CI timing, detect-ios-changes, GhosttyKit release check, ios-tests, package-conventions-lint, plan, runner, Web complexity, web-validation
  • Skipped by policy: apply-production, apply-staging, browser, Claude wrapper regressions, Dogfood build #​${{ github.event.pull_request.number }}, full-suite-coverage, ios-simulator, ios-simulator-build, macos, macOS admission gate, mobile-core-package, remote-daemon, and 6 more
  • Full suite: runs on main after merge.

Labeled merged-unverified: if main breaks near this merge, look here first.

@github-actions github-actions Bot added the merged-unverified A judging check was not green at merge; see the merge receipt comment label Oct 3, 2026
rustybret pushed a commit to rustybret/bmux that referenced this pull request Oct 3, 2026
00f182f Set Claude idle after reentrant stop without work (manaflow-ai#16635)
d8ef7e7 Reject unknown and valueless options in cmux hooks setup (manaflow-ai#17183)
46b5f9c remote-tmux: let a failed socket request say what failed (manaflow-ai#17134)
e88d636 remote-tmux: re-read a pane from tmux when its width changes, not only when it grows (manaflow-ai#17140)
984baea remote-tmux: close a window emptied by gathering its mirrors into a new one (manaflow-ai#17141)
9c41d59 fix: recover hidden terminal renderer after window attach (manaflow-ai#16548)
70854a5 ci: publish dogfood artifacts from red CI runs (manaflow-ai#17210)
db77e58 fix(cli): reject missing notify text values (manaflow-ai#16778)
76ccbfc ci: activate org-member dogfood artifact publisher (manaflow-ai#17206)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-unverified A judging check was not green at merge; see the merge receipt comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Local terminal pane renders blank while read-screen returns full buffer; sidebar stuck on Running (0.64.25)

1 participant