Skip to content

fix(installer,tools,ci): review findings: other-session upgrade, stale WindUA, temp-dir elevation, CI installer build (#498) - #504

Merged
Maxaubert merged 7 commits into
mainfrom
fix/review-ship
Oct 16, 2026
Merged

Maxaubert merged 7 commits into
mainfrom
fix/review-ship

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Closes #498. Fixes from the 2026-10-16 full code review (research/wind/2026-10-16-full-code-review.md), each finding adversarially verified, each diff reviewed by a second agent with follow-ups applied.

Commits:

Gates: build.bat check, build.bat test, Playwright and test:rules pass on this branch and on the combined test build (669 unit tests, 212 Playwright). Combined build deployed signed for owner testing.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TdjopXZfsUiesYxYLYHEdH

Maxaubert and others added 7 commits October 16, 2026 03:48
…ving it (#498)

WIND_QUIT_RUNNING only stopped this session's Wind, but every session runs the same
Program Files exes, so another user's Wind kept them locked and the upgrade or uninstall
left a broken install. After the clean local quit, ask to force-close Wind, WindTray and
WindConfig in other sessions (silent runs do), abort without changes on No, give up after
three tries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TdjopXZfsUiesYxYLYHEdH
)

wind.nsi turns on local signing and installs WindUA.exe as Wind.exe whenever the file
exists, and only release.ps1 refreshed it. Every Wind.exe build now deletes it unless
release.ps1 sets WIND_KEEP_UA for the build made from the same tree, and a certificate
run deletes it even with -SkipBuild.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TdjopXZfsUiesYxYLYHEdH
…% file (#498)

uiaccess_setup.ps1 force-killed every session's Wind, skipping the cursor and clip
restore. It now sets Local\Wind_QuitRequest, waits, and kills only as a fallback, in this
session only. The dev root is added to LocalMachine Root and TrustedPublisher through
X509Store instead of a fixed-name .cer in the user-writable %TEMP%.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TdjopXZfsUiesYxYLYHEdH
…s shortcuts (#498)

The elevated smoke install ran setup's staged signing script from %TEMP%, which the user
can write; it now installs into a fresh folder under Program Files. The all-users Start
menu and desktop Wind.lnk are saved and restored like the registry values.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TdjopXZfsUiesYxYLYHEdH
…498)

release.yml ignored LICENSE and every .md, but the installer ships LICENSE and
THIRD-PARTY-NOTICES.md and publishes release-notes.md; a paths list takes those back.
build.yml now runs the shared build-installer action, so makensis /WX and
installer_check.ps1 failures break the PR instead of main. Nothing is published.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TdjopXZfsUiesYxYLYHEdH
…sion's

The other-session probe and its Yes/No prompt ran after this session's Wind
had already been quit or killed, so a No (or the 3-try give-up) left this
user's Wind closed while the message said nothing had changed. The probe,
prompt and force-close loop now run first in WIND_QUIT_RUNNING, which both
the install and uninstall sections use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TdjopXZfsUiesYxYLYHEdH
@Maxaubert
Maxaubert merged commit 62920c4 into main Oct 16, 2026
1 check passed
@Maxaubert
Maxaubert deleted the fix/review-ship branch October 16, 2026 02:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(installer,tools,ci): review findings 13, 31-37

1 participant