Conversation
dawNotPoi
marked this pull request as ready for review
September 24, 2026 10:07
Contributor
Author
|
@xintaofei 这个 PR 已完成独立 review:刷新后可重新接管同一后端进程中的终端,断线后补取输出,并修复并发启动、显式关闭和画布重启的竞态。最新提交的 7 项 CI 全部通过,现已转为 Ready;具体验证结果和已知边界写在 PR 描述中。请审阅。 |
Owner
|
感谢PR,最近版本就会处理 |
dawNotPoi
force-pushed
the
fix/terminal-refresh-recovery
branch
from
September 28, 2026 07:04
50d0fdc to
49161b6
Compare
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.
Summary
window.namerejects opener-clonedsessionStorage; neither is treated as backend authorization. Initial commands are never stored or replayed.Verification
vitest run --silent: 520 files, 7,756 tests passed.eslint .andtsc --noEmit: passed.next build --webpack: passed. Local Turbopack cannot follow this worktree's symlinkednode_modulesoutside its root; CI uses a normal install.cargo clippy --all-targets --features test-utils -- -D warnings: passed.cargo clippy --no-default-features --bin codeg-server --lib -- -D warnings: passed.cargo test --no-default-features --bin codeg-server --lib: 4,274 passed, 1 ignored.cargo test --features test-utils terminal::manager::tests:: --lib: 13 passed, including real PTY output/exit, EOF ordering, duplicate spawn, and close-before-spawn.Scope
Recovery requires the same backend process; a backend restart cannot restore its lost PTY. A real browser tab close is not a reliable signal to kill a live PTY, so automatic cleanup after permanent browser closure would require a backend lease/grace mechanism. Cached exit status becomes available after reader EOF or a list/count reconciliation; on Windows, delayed ConPTY EOF can temporarily make a snapshot report an exited process as live after refresh. Session storage only discovers opaque IDs under the existing server access model. No physical mobile device or remote host was manually exercised.
Fixes #749