Wan2GP Desktop Launcher v3.0.8
v3.0.8 — Cross-drive install cleanup hardened (#76 / #73)
A maintenance fix for the initial-install clone path used when the install location is on a different drive than %TEMP%.
Background (honest)
The original EXDEV abort reported in #76 / #73 (install failing entirely when the target is on another drive) was already fixed in v3.0.7 — mergeDir → moveDirAtomic does rename first and falls back to a copy on EXDEV. The user-facing symptom from those issues is resolved from 3.0.7 onward.
What v3.0.8 actually fixes
moveDirAtomic's post-copy cleanup in 3.0.7 gated fs.rmSync(src) on readdirSync(src) to "verify parity". readdirSync throws on a plain file path, so after a cross-drive copy of a file (e.g. wgp.py) the cleanup was skipped and the source file leaked (it was only swept later by the caller at main.js:1211). v3.0.8 removes the source unconditionally after a successful cpSync (which handles both files and directories), so:
- no source-file leak on cross-drive installs,
- no
readdirSync-on-file crash risk, - the temp clone is cleanly emptied.
Tests
- Added a regression test that extracts
moveDirAtomic+mergeDirfrommain.js, simulatesEXDEVon everyrename, and asserts the clone merges cross-drive with no throw and a fully emptied source. - 124 tests pass (was 123 in 3.0.7).
Migration / config
No migration, config, or UX behavior changed. Install over any 3.0.x — non-disruptive.