Skip to content

fix(windows): harden NSIS upgrades and prune packaged runtime - #330

Merged
wustzdy merged 4 commits into
MemTensor:v1.1.2from
EF1874:codex/windows-nsis-runtime-prune-standard-upgrade
Sep 1, 2026
Merged

fix(windows): harden NSIS upgrades and prune packaged runtime#330
wustzdy merged 4 commits into
MemTensor:v1.1.2from
EF1874:codex/windows-nsis-runtime-prune-standard-upgrade

Conversation

@EF1874

@EF1874 EF1874 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • prune platform-incompatible onnxruntime-node payloads, third-party source maps, and the proven optional Vitest/Vite/Rolldown dependency chain while keeping the Windows x64 runtime, onnxruntime-web, OpenClaw, TypeScript, and first-party source maps
  • use the standard NSIS upgrade path only for a verified same-directory external-v1 installation; route legacy, ambiguous, unfinished, and relocated upgrades through the compatibility relay or fail closed
  • migrate and recover external runtime data across drives with explicit source/target state, authority validation, and delayed source cleanup after the new installation successfully boots
  • preserve the launch proxy, shortcuts, uninstall registry metadata, visible/silent relay behavior, and recursion protection during relocated upgrades
  • reject non-canonical persisted runtime/user-data authorities and revalidate source, staging, backup, and move endpoints against reparse-point races before relay mutations

Validation

  • npx vitest run App/shell/desktop/tests/windows-data-migration-state.test.ts App/shell/desktop/tests/windows-data-migration.test.ts App/shell/desktop/tests/windows-standard-upgrade-check.test.ts App/shell/desktop/tests/windows-upgrade-relay.test.ts App/shell/desktop/tests/packaged-runtime-boundary.test.ts App/shell/desktop/tests/windows-installer-nsis-compile.test.ts App/shell/desktop/tests/windows-cli-path.test.ts App/shell/desktop/tests/windows-launch-at-login.test.ts (189 tests)
  • npx vitest run tests/prune-packaged-runtime.test.mjs tests/packaged-runtime-config.test.mjs tests/package-version-guard.test.mjs tests/package-logging.test.mjs (24 tests)
  • npx vitest run tests/release-workflow.test.ts (20 tests)
  • npm run typecheck
  • formal Windows x64 Intl unsigned NSIS build with the original version verifier, electron-builder, and makensis
  • packaged runtime boundary and HTML lint smoke checks before and after pruning
  • normal-user Windows validation: fresh install, verified same-directory upgrades, 1.0.9 legacy relay to 1.1.0 then standard upgrade, D-to-E and E-to-D relocation (including relocation while the source app was running), desktop and Start menu launch, in-app update, silent update, and uninstall/reinstall with conversation retention

Notes

  • no version, release-note, or documentation changes are included
  • the formal package used a temporary local 1.1.2 metadata projection for validation; that projection was fully restored before this PR

@wustzdy
wustzdy merged commit 78745dd into MemTensor:v1.1.2 Sep 1, 2026
4 checks passed
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.

2 participants