Repository navigation
fix(server): keep terminal history after cancelled control sequences - #23417
yashranaway wants to merge 1 commit into
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused terminal-history bug fix that teaches the existing sanitizer to stop at standard cancellation characters, with regression coverage for CSI, OSC, DCS, and C1 forms. Runtime impact is limited to preserving output after cancelled sequences; no defaults, schemas, infrastructure, security, billing, or static-analysis configuration are changed. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
…(upstream pingdotgg#23417) Cherry-picked from pingdotgg#23417 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Closing: current main already covers this as of c839797b6d. If you still see it on a build that includes that commit, reply and we'll reopen. |
A cancelled terminal escape sequence can swallow later output from saved history. After reconnecting, an unfinished title or device-control sequence leaves the history blank, while a cancelled cursor sequence can eat the next character. This small parser fix recognizes both standard cancellation characters and resumes collecting output.
Six regressions failed before the fix and pass now, covering both escape encodings and history restored after reopening. All 48 terminal manager tests pass on Linux. Targeted lint, formatting and server typecheck pass.