Files
DeepSeek-Reasonix/scripts
SivanCola d61b087dd9 Fix Windows portable entrypoint collision / 修复 Windows 便携包入口冲突 (#6806)
* fix(desktop): prevent Windows portable entrypoint collision

Problem:
Windows portable staging used Reasonix.exe for the GUI launcher and reasonix.exe for the bundled CLI. On case-insensitive Windows filesystems, the CLI silently overwrote the launcher, so desktop shortcuts opened the CLI.

Root cause:
The packaging contract was checked only as source strings and never validated against the final Windows staging directory.

Fix:
Give the internal Windows CLI sidecar the distinct reasonix-cli.exe name, update installer, updater, and remote lookup contracts, and verify the exact portable file set plus launcher identity before archiving.

Verification:
- env -u DEEPSEEK_API_KEY go test ./...
- cd desktop && go test ./...
- cd desktop && go vet ./... && go build ./...
- go vet ./... && go build ./...
- Windows PE cross-build and portable verifier simulation

* fix(repair): accept renamed Windows CLI sidecar

Problem:
Windows desktop updates record reasonix-cli.exe in the pending release unit, but the repair validator rejects that renamed sidecar when the transaction is read back.

Root cause:
The packaging and updater contracts were updated to the collision-free filename without extending the repair transaction allowlist.

Fix:
Allow reasonix-cli.exe only as a non-primary release sibling and cover the complete Windows release unit through a PrepareFileUpdate-to-ReadPendingUpdate round trip.

Verification:
- go test ./internal/repair
- go test -race ./internal/repair
- go test ./...
- go vet ./...
- cd desktop && go test ./...
- git diff --check
2026-07-22 15:58:16 +08:00
..