From a398bf2fdd03183537321718b1a7ae52390b77c4 Mon Sep 17 00:00:00 2001 From: ospab Date: Fri, 15 May 2026 23:12:22 +0300 Subject: [PATCH] fix(gui): add dev/build npm scripts that auto-build helper, fix find_helper_exe --- ostp-gui/package.json | 4 +++- ostp-gui/src-tauri/src/lib.rs | 14 ++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ostp-gui/package.json b/ostp-gui/package.json index d2c712f..a108f38 100644 --- a/ostp-gui/package.json +++ b/ostp-gui/package.json @@ -4,7 +4,9 @@ "version": "0.1.0", "type": "module", "scripts": { - "tauri": "tauri" + "tauri": "tauri", + "dev": "cargo build -p ostp-tun-helper && tauri dev", + "build": "cargo build -p ostp-tun-helper --release && tauri build" }, "devDependencies": { "@tauri-apps/cli": "^2" diff --git a/ostp-gui/src-tauri/src/lib.rs b/ostp-gui/src-tauri/src/lib.rs index 57a780a..12dcd3e 100644 --- a/ostp-gui/src-tauri/src/lib.rs +++ b/ostp-gui/src-tauri/src/lib.rs @@ -438,16 +438,10 @@ struct HelperPipeState { } fn find_helper_exe() -> Option { - // First look next to current exe - if let Ok(exe) = std::env::current_exe() { - if let Some(dir) = exe.parent() { - let candidate = dir.join("ostp-tun-helper.exe"); - if candidate.exists() { - return Some(candidate); - } - } - } - // Dev: look in target/debug next to workspace root + // The helper is always built to the same target dir as the GUI exe. + // In dev mode: target/debug/ostp-tun-helper.exe (same dir as ostp-gui.exe) + // In release: target/release/ostp-tun-helper.exe (same dir as ostp-gui.exe) + // In installed build: next to ostp-gui.exe if let Ok(exe) = std::env::current_exe() { if let Some(dir) = exe.parent() { let candidate = dir.join("ostp-tun-helper.exe");