Repository navigation
fix(desktop): the Windows installer check looks for the uninstaller packaging writes - #240
Merged
Merged
Conversation
…ackaging writes With productName Ada and the exe pinned to "T3 Agents", NSIS names the uninstaller after electron-builder's productFilename, the exe name: "Uninstall T3 Agents.exe". The installer was right; the check looked for "Uninstall Ada.exe" and failed every Ada nightly. - The exe-name rule moves to a dependency-free scripts/lib/windows-package-names.ts, which also derives the uninstaller name. The release Verify step passes both names to the check. - The check uninstalls through the registered UninstallString, the path Settings > Apps uses, and asserts it removes the Apps entry and the shortcuts. - A path-filtered PR workflow builds an unsigned Ada installer through release-desktop.yml and runs the same Verify step, so installer changes no longer wait for a nightly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
jayleaton
marked this pull request as ready for review
November 13, 2026 15:40
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.
The first nightly built as Ada (run 43445916151) failed at Desktop Windows x64 / Verify and arm64 / Verify, on
test-agents-windows-installer.ps1:52, whereStart-Processcould not findUninstall Ada.exe.The installer was right; the check was wrong. electron-builder's NSIS template defines
UNINSTALL_FILENAMEasUninstall ${PRODUCT_FILENAME}.exe.PRODUCT_FILENAMEisappInfo.productFilename, which iswin.executableNamewhen one is set. Since #238 pins the exe to "T3 Agents", an Ada build ships:%LOCALAPPDATA%\Programs\t3agents\T3 Agents.exe…\t3agents\Uninstall T3 Agents.exeUninstallString"…\t3agents\Uninstall T3 Agents.exe" /currentuser(same define, so Settings → Apps works)DisplayName, shortcutsAda <version>,Ada.lnk(from the product name)The uninstaller file name is the same before and after the rename, so an existing "T3 Agents" install's uninstaller is replaced in place on update.
Changes
build-desktop-artifact.tsto a dependency-freescripts/lib/windows-package-names.ts, which also derives the uninstaller name. Packaging, the payload check and the release Verify step all use it. Verify runs it withnodeand passes both names to the PowerShell check, so no names are hard-coded in the test.UninstallString, the path Settings → Apps uses. It asserts that the string names the installed uninstaller, and that uninstalling removes the Apps entry and the shortcuts. The update path from "T3 Agents" (one Ada shortcut afterwards, an Ada Apps entry) is still covered, and now ends in that same uninstall.fork-windows-installer-check.yml, path-filtered to the installer files, the check, the packaging script andrelease-desktop.yml. It builds an unsigned Ada installer through the nightly's ownrelease-desktop.yml(bundle, Linux x64 for the WSL CLI archive, then Windows x64 with awindows-2025Verify) and runs the same Verify step. It's about 4 jobs and roughly 15 minutes, only on PRs that touch those paths, plusworkflow_dispatch. This PR triggers it.Merge risk
Low. Packaging output is unchanged; only the check, its inputs and a new CI workflow change. The new workflow passes no secrets.
vp run check:changedpasses. The PowerShell runs only on Windows; this PR's Fork Windows installer check is its proof.Opus 5.5 via Claude Code in Ada.
🤖 Generated with Claude Code