Repository navigation
release: v0.8.6 terminal resize and output ordering fixes - #64
Merged
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
eggplantiny
marked this pull request as ready for review
September 22, 2026 09:26
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes for users?
Prepare the v0.8.6 preview patch with the terminal ordering fixes below, synchronized versions/download links and bilingual release notes.
Opening and quickly dismissing an approval dock in a fixed window could leave the shell at an obsolete size or apply shell redraws at different dimensions in the visible terminal. A delayed shrink reproduced a 38-row UI with a 27-row PTY; ordering resize requests alone still left mismatched cursors during a longer command.
Serialize each terminal's resize requests and retain the latest pending size. Deliver applied dimensions with the backend's owner output stream, including silent resize frames, and finish earlier xterm writes before applying later dimensions. Keep the existing dock motion. Add regressions for delayed width changes, fixed-window dock motion, pixel density, and JSON output with and without a trailing newline.
Validation
e97c2048e320d6c09fa1d556bd343c52deab0b58passed in an isolated ad-hoc debug app and real loopback SSH: 18 approval cycles, including 12 denials 80–82 ms after the card appeared, and 38 full native DOM/core grid and cursor comparisons. Human editing/takeover, rule-scoped session allowance, original-shell return and six JSON line-ending comparisons also passed. The Mac independently passed 259 Rust tests, 55 frontend tests and frontend/native bundle builds.Limits or follow-up
Native synthetic-SSH acceptance is now recorded; the user's actual remote account/gateway, physical-keyboard IME, and the separate canonical
/bin/shwrapped-text behavior remain unverified or unresolved. The Mac used Bash 3.2.57 with UTF-8 andxterm-256color, preserving the same remote and original local shell processes.ResizeObserver warnings remain: the twelve native rapid-denial cycles recorded 24 warnings, while all checked post-motion grids and cursors matched. Temporary native visible-DOM instrumentation and bounded UI deny-button clicks were used for measurement, without replacing or delaying the product transport. They were removed afterward. No additional product-code change was required by this run. Raw logs, private paths and synthetic keys were not committed.
The debug bundle is distinct from the installed 0.8.5 app. This is not signed/notarized installed-app upgrade acceptance or public deployment. The release preparation keeps this distinction explicit; release artifacts will be built, signed, verified and published separately after the PR and main checks pass. Linux harness, native Mac GUI, CI/build and user-environment evidence are recorded separately in the verification documents.
The JSON/prompt adjacency report matches a missing trailing newline in controlled tests; the user's original response bytes remain unverified. No artificial newline is inserted.
Evidence and reproduction details: English, 한국어, browser harness.