fix(win): remediate legacy uninstall failures#54
Merged
hqhq1025 merged 2 commits intoOpenCoworkAI:mainfrom Mar 20, 2026
Merged
Conversation
f180cea to
6bd44d2
Compare
- Replace fragile +3 jump offsets in NSIS macros with named labels - Increase sandbox cleanup timeout from 10s to 30s to prevent data loss - Add MCP server shutdown to cleanup path to prevent orphan processes - Guard dev-mode closeDatabase() with try/catch for robustness - Add test assertion for MCP shutdown
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
Why we intentionally do not delete all AppData on uninstall
We are keeping
deleteAppDataOnUninstall: falseon purpose.From the user point of view, uninstall + reinstall is often a repair path, not a request to erase all personal state. If we delete AppData by default, we would silently wipe user-owned data such as configuration, provider/API setup, local history/database, and other runtime state that users expect to survive a reinstall.
The safer default is:
This PR follows that model by shipping a dedicated legacy cleanup helper. Users/support can run it normally to remove broken install leftovers while keeping data, or opt into a stronger reset with
-RemoveAppDatawhen they explicitly want everything cleared.Validation
npm.cmd test -- --run tests/build-windows-script.test.ts tests/build-windows-artifacts.test.ts tests/windows-legacy-uninstall-remediation.test.tsNotes
tsc --noEmitin the PR worktree, but the local environment currently reports an unrelated missing module issue forrehype-sanitize.