Fix setup triage quick wins#879
Conversation
Address clear automated issue candidates from setup triage: improve architecture-aware WSL virtualization guidance, move existing setup detection off the setup UI thread with lifecycle guards, and add wizard default answer matrix coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Codex review: needs real behavior proof before merge. Reviewed June 27, 2026, 7:46 PM ET / 23:46 UTC. Summary Reproducibility: yes. for source-level reproduction of the main setup freeze: current main calls ExistingConfigDetector.Detect synchronously from the install click path, and that detector reads wsl.exe output before the timeout check. No live Windows WinUI/WSL reproduction was run in this read-only review. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the narrow setup UI and diagnostics fixes after current-head real setup/UI proof shows the checking state, responsive dialog/navigation path, and ARM64 wording path; keep the broader wizard matrix tracked separately unless maintainers choose otherwise. Do we have a high-confidence way to reproduce the issue? Yes for source-level reproduction of the main setup freeze: current main calls ExistingConfigDetector.Detect synchronously from the install click path, and that detector reads wsl.exe output before the timeout check. No live Windows WinUI/WSL reproduction was run in this read-only review. Is this the best way to solve the issue? Yes directionally: moving the pre-dialog setup probe off the UI thread while preserving replacement semantics is the narrow maintainable fix, and the ARM64 wording change is a focused copy/test repair. The remaining blocker is real current-head proof, not a definite code defect found in review. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against d08a3e749973. Label changesLabel justifications:
Evidence reviewedAcceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
@openclaw-mantis visual task: verify clicking Install new WSL Gateway shows Checking existing setup..., keeps the setup window responsive, and reaches the confirmation dialog on current PR head. |
Summary
Validation
.\build.ps1dotnet test .\tests\OpenClaw.Shared.Tests\OpenClaw.Shared.Tests.csproj --no-restore— 2629 passed, 31 skippeddotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csproj --no-restore— 1433 passeddotnet test .\tests\OpenClaw.SetupEngine.Tests\OpenClaw.SetupEngine.Tests.csproj --no-restore— 361 passeddotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csproj --no-restore --filter FullyQualifiedName~SetupWelcomePage_RunsExistingConfigDetectionOffUiThreaddotnet test .\tests\OpenClaw.SetupEngine.Tests\OpenClaw.SetupEngine.Tests.csproj --filter "FullyQualifiedName~WslInstallSupport_TryParseWslVersion"— 33 passedReal behavior proof
await Task.Run(() => ExistingConfigDetector.Detect(...))boundary before dialog/navigation, and the contract test pins the disabled/busy button state, async detection boundary, null/closed window guard,XamlRootguard, and safe navigation path.gpt-5.3-codex) and Opus (claude-opus-4.6) both flagged the same setup-window close race; fixed by capturing the setup window once, treating null/closed as unsafe to continue, guardingXamlRoot, and only restoring the button while the captured window remains open.python .\.agents\skills\autoreview\scripts\autoreview --mode local --prompt "Scope baseline: review the current local changes for issues #847, #867, #868 and the review-triggered WelcomePage window lifecycle fix..."reported no accepted/actionable findings.