release: prepare winTerm 1.3.0-beta3 prerelease - #42
Merged
Conversation
… command OSC 133 CommandExecuted published a ShellIntegration/Indeterminate/Running fallback that stayed active until CommandFinished, so any long-running command (k9s, vim, top, FastAPI/uvicorn, Spring Boot, Node dev servers, tail -f, kubectl port-forward) looped the rainbow comet animation for its whole lifetime. The fallback is now a bounded one-shot launch indication scoped by a shell command generation, never by command or process names. CommandExecuted opens a new launch generation and publishes the launch snapshot carrying it; a repeated observation of the same still-running command (alternate screen churn, pane rehydration, reconnect re-broadcast) is idempotent. The renderer bounds the launch with a launch clock: one one-shot compositor animation on a private property set using the existing 1,800 ms IndeterminateCycleDuration (no timer, no polling loop, no CPU frame loop) whose generation-guarded completion asks the state machine to expire the fallback. Expiration clears the stored shell snapshot even while a provider or explicit OSC 9;4 source owns the bar, so a later ownership release cannot resurrect it, and publishes Hidden with Running status so accessibility announces neither a fake success nor a fake cancellation. The launch comet itself plays a single traversal and parks off-track; explicit and provider indeterminate presentations keep the continuous traversal. CommandFinished supersedes the launch immediately and strands in-flight completions, preserving every terminal presentation. Four new TAEF tests cover the one-shot, stale-generation, ownership resurrection, and reset/disable/close invalidation semantics; the source suite locks in the policy, the clock sharing the traversal constant, and the Pane wiring; the smoke fixture gains a long-running one-shot launch and an alternate-screen sequence plus manual guidance for FastAPI, Spring Boot, and k9s. Phase 2 documentation now describes the fallback as a bounded launch indication, and the changelog records the fix under Unreleased.
Third beta of the Command Timeline release, carrying the beta2 field-report fix: the Visual Progress Shell Integration fallback is now a bounded one-shot launch indication, so long-running commands (k9s, vim, top, FastAPI/uvicorn, Spring Boot, Node dev servers, tail -f, kubectl port-forward) no longer animate the rainbow bar forever. Application version 1.3.0-beta3, package/file version 1.3.0.6, PowerShell module 1.3.0 with prerelease suffix beta3, channel beta, tag v1.3.0-beta3. Published as a GitHub prerelease: Latest and WinGet keep pointing at v1.2.0, and the beta is listed on the winTerm website next to the stable download.
HelloThisWorld
marked this pull request as ready for review
August 5, 2026 13:10
# Conflicts: # CHANGELOG.md
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
Prepares the winTerm 1.3.0-beta3 prerelease: third beta of the Command Timeline release, carrying the beta2 field-report fix that long-running commands (k9s, vim, top, FastAPI/uvicorn, Spring Boot, Node dev servers,
tail -f,kubectl port-forward) animate the Visual Progress rainbow bar forever. Tagv1.3.0-beta3points at this branch's head (feb2687e5) and its release workflow run is already in flight.Related issues
Related: #41 — this branch carries that fix commit (
baf6f8a87) verbatim beneath the release-prep commit. Merging this PR with a merge commit landsbaf6f8a87onmainand GitHub marks #41 merged automatically; if this PR is squash-merged instead (repo convention for release preps), close #41 manually afterwards — its content will already be onmain.Detailed changes
fix: bound the shell-integration launch fallback to one traversal per command(baf6f8a87, reviewed in fix: bound the shell-integration launch fallback to one traversal per command #41): the OSC 133 launch fallback becomes a bounded one-shot launch indication scoped by a shell command generation — one comet traversal driven by a one-shot compositor batch (no timer, no polling loop), silent Hidden/Running expiry, generation-guarded against stale callbacks, no resurrection after provider/OSC 9;4 ownership clears, and no command-name or process-name heuristics. Providers, explicit progress, short commands, and result presentations unchanged.release: prepare winTerm 1.3.0-beta3 prerelease(feb2687e5): version bump across all 19 release surfaces — application1.3.0-beta3, package/file1.3.0.6, module1.3.0+ prerelease suffixbeta3, tagv1.3.0-beta3; newdocs/releases/1.3.0-beta3.md;CHANGELOG.mdbeta3 section;docs/current-progress.mdbeta3 state plus a "Beta2 findings" section; pinned literals updated inverify-version.ps1,verify-branding.ps1,test-visual-progress.ps1,test.ps1,package-shell-assets.ps1, the three.rcfiles, appxmanifest,ReleaseMetadata.h,WorkspaceDescriptor.h,WorkspaceSerializer.cpp, and bothversion.jsonfiles.Validation performed
MSBuild SettingsModel.UnitTests.vcxproj(Release x64) thenTE.exe SettingsModel.Unit.Tests.dll /name:*WinTermVisualProgressTests*— 48/48 passed, including the 4 new one-shot/generation tests.MSBuild TerminalApp.UnitTests.vcxproj(Release x64, compile-verifiesPane.cpp+RainbowArcRenderer.h) then fullTE.exe Terminal.App.Unit.Tests.dll— 51/51 passed..\scripts\winterm\verify-version.ps1— passed (after the bump; validates every version surface)..\scripts\winterm\verify-branding.ps1 -ExpectedPublisher 'CN=helloThisWorld'— passed..\scripts\winterm\test-visual-progress.ps1 -SourceOnly— passed, including the new one-shot policy/clock/wiring assertions..\scripts\winterm\test.ps1 -Suite Smoke -Configuration Release -Platform x64— passed (the tag workflow's validate gate)..\scripts\winterm\invoke-visual-progress-smoke.ps1 -DelayMilliseconds 0— runs end to end with the new long-running and alternate-screen fixtures.git grepfor1.3.0-beta2/1.3.0.5/beta2outside changelog history — zero residue.UnitTests_Controlwas not rebuilt (no TerminalControl source changed); live compositor timing (the actual 1.8 s batch completion) is not exercisable headlessly and is covered by the release-build field test — release run 31008690232 builds, installer-tests, attests, and publishes the prerelease.Checklist
CHANGELOG.md.Development-Changes.mdledger has been pushed with the final source SHA, link, summary, and checkpoint/release.winterm-siteasset, or no screenshot was added.winterm.exe, and Microsoft Terminal coexistence remain isolated.