renderer: disable stale-frame resize guard for embedded#8
renderer: disable stale-frame resize guard for embedded#8shuhei0866 wants to merge 3 commits intomanaflow-ai:mainfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughIntroduced a runtime-dependent guard in Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Upstream tracking issue: ghostty-org#11223 |
|
Upstream issue attempt: ghostty-org#11223. It was auto-closed by Ghostty's vouch policy, so for now this draft PR is the canonical review surface. |
Greptile SummaryThis PR disables the synchronous-draw stale-frame guard in Key changes:
Confidence Score: 5/5
Last reviewed commit: 702a962 |
702a962 to
4a2b594
Compare
Summary
Disable the stale-frame resize guard for the embedded runtime in
renderer/generic.zig.Problem
The generic renderer keeps the last presented frame on-screen during some resize transitions to avoid a transient blank flash while the resized cell buffers catch up.
That policy is reasonable for native hosts that may synchronously request display during resize.
For the embedded runtime, it can produce the opposite failure mode: the UI keeps repainting, but the terminal body visibly stays on a stale frame during resize.
Change
use_stale_frame_guardapprt.embeddedWhy this layer
This is renderer presentation policy, not host event wiring.
The embedded host was already delivering:
The remaining failure was that the renderer intentionally preferred the previous frame for a size-mismatch window that is acceptable in native hosts but wrong for the embedded host.
Validation
Validated from the cmux embedded host against the failure mode this branch was hitting:
Notes
Related draft PRs
This PR is one part of the Ghostty-side dependency chain for the Ubuntu/cmux MVP.
Scope split:
#8: renderer policy forapprt.embeddedresize presentation#9: Linux embedded host support forGtkGLArea/ OpenGL bring-upSummary by CodeRabbit