Repository navigation
Fix Windows console UTF-8 and mouse ownership for 1.29.2 - #89
Merged
Merged
Conversation
uniblab
marked this pull request as ready for review
October 16, 2026 04:02
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
docs/and repair their repository-relative referencesMotivation
Live Icod.Dedit qualification exposed UTF-8 box-drawing bytes decoded under an OEM code page (
─rendered asΓöÇ). The resulting multi-cell expansion broke popup borders and About-dialog geometry. Menu clicks were also unreliable because noncanonical Windows input did not explicitly own mouse and Quick Edit console flags.The accumulated versioned roadmaps also obscured the repository root; documentation now has one consistent home.
Implementation
System-backed interactive Windows output now acquires UTF-8 console-output decoding alongside virtual-terminal output processing. The lease changes the code page only when needed, rolls back partial setup, and restores the captured value on lifecycle release, re-entry, and final disposal.
Windows Raw and CBreak mode policy now sets
ENABLE_MOUSE_INPUT,ENABLE_EXTENDED_FLAGS, and virtual-terminal input while clearing Quick Edit. Raw continues to clear processed input so Ctrl+C and Ctrl+Z remain application keys; CBreak retains processed-input semantics. Canonical mode is unchanged.All 46 current and historical development-roadmap Markdown files formerly at the repository root now live under
docs/. Their links—and references from README, changelog, release notes, historical records, plans, and specifications—were rebased for the new location. The audit also repaired two older broken relative documentation links.Validation
2cb41379b74b455d6a367ce329bbcff62523a90bCompatibility
No public API or production dependency changes. Targets remain .NET 8, .NET 9, and .NET 10.