From b5ebec82c4e393b41f06680e52410f87236f6b6b Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Thu, 12 Feb 2026 13:44:38 -0600 Subject: [PATCH] fix(app): windows server spawning error --- packages/desktop/scripts/predev.ts | 9 ++++++++- packages/desktop/scripts/utils.ts | 2 +- packages/desktop/src-tauri/src/server.rs | 16 ++++++++++++---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/desktop/scripts/predev.ts b/packages/desktop/scripts/predev.ts index 3e14250b1a..2097f3ea6d 100644 --- a/packages/desktop/scripts/predev.ts +++ b/packages/desktop/scripts/predev.ts @@ -5,9 +5,16 @@ import { copyBinaryToSidecarFolder, getCurrentSidecar, windowsify } from "./util const RUST_TARGET = Bun.env.TAURI_ENV_TARGET_TRIPLE const sidecarConfig = getCurrentSidecar(RUST_TARGET) +const baseline = sidecarConfig.ocBinary.endsWith("-baseline") const binaryPath = windowsify(`../opencode/dist/${sidecarConfig.ocBinary}/bin/opencode`) -await $`cd ../opencode && bun run build --single` +if (baseline) { + await $`cd ../opencode && bun run build --single --baseline` +} + +if (!baseline) { + await $`cd ../opencode && bun run build --single` +} await copyBinaryToSidecarFolder(binaryPath, RUST_TARGET) diff --git a/packages/desktop/scripts/utils.ts b/packages/desktop/scripts/utils.ts index c3019f0b97..11c7efbd48 100644 --- a/packages/desktop/scripts/utils.ts +++ b/packages/desktop/scripts/utils.ts @@ -13,7 +13,7 @@ export const SIDECAR_BINARIES: Array<{ rustTarget: string; ocBinary: string; ass }, { rustTarget: "x86_64-pc-windows-msvc", - ocBinary: "opencode-windows-x64", + ocBinary: "opencode-windows-x64-baseline", assetExt: "zip", }, { diff --git a/packages/desktop/src-tauri/src/server.rs b/packages/desktop/src-tauri/src/server.rs index 6dcf0e5860..d2816e50dd 100644 --- a/packages/desktop/src-tauri/src/server.rs +++ b/packages/desktop/src-tauri/src/server.rs @@ -126,10 +126,18 @@ pub fn spawn_local_server( let terminated = async { match exit.await { - Ok(payload) => Err(format!( - "Sidecar terminated before becoming healthy (code={:?} signal={:?})", - payload.code, payload.signal - )), + Ok(payload) => { + let hint = if payload.code == Some(-1073741795) { + " (illegal instruction; binary may require unsupported CPU features)" + } else { + "" + }; + + Err(format!( + "Sidecar terminated before becoming healthy (code={:?} signal={:?}){}", + payload.code, payload.signal, hint + )) + } Err(_) => Err("Sidecar terminated before becoming healthy".to_string()), } };