fix: harden v1.2.0 Phase 2 visual progress - #24
Merged
HelloThisWorld merged 4 commits intoAug 1, 2026
Conversation
HelloThisWorld
marked this pull request as ready for review
August 1, 2026 03:49
HelloThisWorld
marked this pull request as draft
August 1, 2026 03:52
HelloThisWorld
marked this pull request as ready for review
August 1, 2026 03:57
HelloThisWorld
deleted the
codex/feature-v1.2.0-phase2-progress-hardening
branch
August 1, 2026 03:57
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
Phase 2 itself was already merged to
mainin #23 before this work began. This draft is a focused follow-up audit and hardening change based ond84d1e1f3a8931f1fa13a795acdc3c0ff69c3040; it fixes renderer lifecycle gaps and recognition/suppression safety defects without duplicating or reverting the shipped Phase 2 architecture.Phase 1 dependency #22 is merged. Its final feature head was
f686b6904fec94aeb9d6fe83770b3d8567362db6, with merge commite04724a4822feba0a93158719ba9dc7b95d3a30c. Because both #22 and #23 are merged, this branch starts from currentmainand this PR targetsmain; there is no remaining stacked-PR rebase or retarget step.No merge, tag, GitHub Release, website update, version bump, workflow redesign, package change, or Phase 3 feature is included.
Related issues
Follow-up to #22 and #23. No issue is auto-closed.
Detailed changes
Rainbow Arc renderer hardening
CoreWindowvisibility/focus state in the Win32 XAML-Islands host with the existing HWND lifecycle owned byTerminalPage.App.xaml, while preserving system-color High Contrast and Reduced Motion fallbacks.The renderer remains pane-local and composition-driven: no CPU frame loop, permanent per-pane timer, per-frame gradient recreation, terminal-buffer repaint, or viewport relayout was added.
Recognition and replacement hardening
1.0/2.0 MB..zipper-style substrings, and bare.zip/source-archive downloads remain Generic/overlay-only.Supported built-ins remain Docker Pull, Docker BuildKit, pip, Git, curl, wget, npm, pnpm, yarn, nvm, Maven, Gradle, and the Generic fallback.
Only high-confidence whole-record transient frames from pip, Git, curl, and wget can be replacement candidates, and only when the renderer, parser, normal-screen, cursor-origin, ANSI, fragmentation, warning/error, and preview-setting gates all pass. Docker, BuildKit, npm/pnpm/yarn, nvm, Maven, Gradle, and Generic remain overlay-only. Newline logs, fragments, prompts, warnings, errors, summaries, unsafe CSI/SGR, malformed input, alternate-screen output, and renderer/parser failures are preserved.
Hard limits and privacy
Focused commits
af3b45f75—fix: harden Rainbow Arc renderer lifecyclef9ce93a33—fix: harden Visual Progress recognition435b940be—test: expand Visual Progress Phase 2 coverage6f1191525—docs: clarify Visual Progress Phase 2 hardeningValidation performed
Environment: local Windows x64 toolchain, Release configuration, Visual Studio/MSBuild 17.14.51, TAEF 10.100k.
./scripts/winterm/test-visual-progress.ps1 -SourceOnly— PASS.test-visual-progress.ps1and the existing smoke script — PASS.clang-format --dry-run --Werrorover every changed standalone Visual Progress header/test source — PASS../scripts/winterm/test-ci-classification.ps1— PASS.code: fast buildtrue, full buildfalse, packagefalse../scripts/winterm/verify-version.ps1— PASS; application1.1.3, package1.1.3.0, module1.1.3, all schema versions unchanged../scripts/winterm/build.ps1 -Configuration Release -Platform x64 -IncludeTests— PASS in 353 seconds; only pre-existing PRI localization warnings were emitted.TerminalControlLib.vcxprojandSettingsModel.UnitTests.vcxproj— PASS (about 41–43 seconds per incremental run)../scripts/winterm/test.ps1 -Suite Relevant -Configuration Release -Platform x64on the final tree — PASS: Settings Model 226/226, Terminal App 51/51, Control 30/30, plus all relevant source/privacy/branding/version checks.git diff --check origin/main...HEAD— PASS.Not run:
Known limitations and Phase 3 exclusions remain unchanged: no polished settings UI, adaptive governor UI, labels/ETA text, notifications, history, external parser plugins, persistence, telemetry, website work, or v1.2.0 release preparation.
Checklist
winterm.exe, and Microsoft Terminal coexistence remain isolated.