Commit e3d4057
authored
fix(update): resolve Windows installer update race; drop dead pip/uv detach (#135)
* chore(docs): drop archived superpowers specs and ignore docs/archive
The old design specs were moved to docs/archive/ (now gitignored). Remove the
stale tracked copies under docs/superpowers/specs/ so the working tree is clean.
* fix(update): wait for launcher exit in Windows installer; drop pip/uv detach
The native Windows installer's Restart Manager scan raced the launching
pythinker.exe teardown, finding _internal still locked and showing a spurious
"could not close the program" dialog even though the update succeeded. Pass the
launcher PID via /PID and wait for it to exit in InitializeSetup before the scan.
Also remove the now-unreachable Windows pip/uv/pipx detached-upgrade helper:
every shipped Windows install updates via the native installer, so that path
only remained for source checkouts, which now run the upgrade inline like POSIX.
* test(update): assert Windows upgrade never spawns a detached process
Make the no-detach contract observable: fail the test if subprocess.Popen is
invoked, so a regression that reintroduces the detached Windows upgrade is caught
via behavior rather than internal mocks alone.1 parent f21a84a commit e3d4057
29 files changed
Lines changed: 77 additions & 5523 deletions
File tree
- docs/superpowers/specs
- packages/windows-installer
- src/pythinker_code/ui/shell
- tests/ui_and_conv
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
| |||
Lines changed: 0 additions & 206 deletions
This file was deleted.
0 commit comments