mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
Problem: v1.20 still lacked local config recovery, kept StartupTracker/old split update bindings in the product surface, and packaged flat Windows/Linux layouts with Guard assumptions. Root cause: LoadForRoot failed closed on corrupt TOML; desktop still bound download/install as separate Wails methods; portable and Linux packaging still assumed a flat Guard release unit; helper still allowed a flat publish fallback. Fix: - Config load: corrupt user config uses last-known-good in memory (else built-in defaults) without rewriting the original file; project config and MCP JSON failures are isolated with LoadWarnings. - Desktop surfaces configWarnings with Open config / Reload / doctor repair banner actions; records LKG after UI ready and on clean shutdown. - Remove StartupTracker from launch control (observe previous run for crash diagnostics only). - Wails update surface is ApplyUpdateRequest only; download/install are private. - Helper versioned-v1 activation is mandatory for staged Windows payloads. - Windows portable packaging/verification and Linux tarball use versioned/thin launcher contracts; macOS bundle rejects Guard. - Fault-injection and legacy flat migration fixture tests for installlayout. Verification: - go test ./internal/config ./internal/installlayout ./cmd/reasonix-launcher ./cmd/reasonix-legacy-migrator ./internal/repair - cd desktop && go test ./cmd/update-helper/ and focused package tests - pnpm --dir desktop/frontend test:updater (31 passed) Out of scope for local automation: Windows DPI 100x soak, Preview 72h gate, production migration success rate, and live signed-installer UI coverage.