From 9fa3a99480e38b9a7632803959fefb2a9b66608f Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Thu, 16 Apr 2026 18:18:33 +1000 Subject: [PATCH] fix: make WSL opencode mismatch non-blocking --- packages/app/src/components/dialog-local-server.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/app/src/components/dialog-local-server.tsx b/packages/app/src/components/dialog-local-server.tsx index 8739a27d04..f27437466a 100644 --- a/packages/app/src/components/dialog-local-server.tsx +++ b/packages/app/src/components/dialog-local-server.tsx @@ -119,7 +119,7 @@ export function DialogLocalServer(props: { targetMode?: "windows" | "wsl" }) { }) const opencodeReady = createMemo(() => { const check = opencodeCheck() - return !!check?.resolvedPath && !check.error && check.matchesDesktop !== false + return !!check?.resolvedPath && !check.error }) const switchReady = createMemo(() => wslReady() && distroReady() && opencodeReady()) const recommendedStep = createMemo(() => { @@ -285,6 +285,7 @@ export function DialogLocalServer(props: { targetMode?: "windows" | "wsl" }) { wslReady: wslReady(), distroReady: distroReady(), opencodeReady: opencodeReady(), + opencodeMismatch: opencodeCheck()?.matchesDesktop === false, switchReady: switchReady(), needsRestart: needsRestart(), }), @@ -632,6 +633,7 @@ function stepState( wslReady: boolean distroReady: boolean opencodeReady: boolean + opencodeMismatch: boolean switchReady: boolean needsRestart: boolean }, @@ -641,7 +643,13 @@ function stepState( if (step === "distro") return state.distroReady ? "done" : stepIndex(step) > stepIndex(state.active) ? "locked" : "warning" if (step === "opencode") - return state.opencodeReady ? "done" : stepIndex(step) > stepIndex(state.active) ? "locked" : "warning" + return state.opencodeMismatch + ? "warning" + : state.opencodeReady + ? "done" + : stepIndex(step) > stepIndex(state.active) + ? "locked" + : "warning" if (state.switchReady && !state.needsRestart) return "done" if (stepIndex(step) > stepIndex(state.active)) return "locked" return "warning"