feat: add macOS desktop client build workflow with ARM64 support and fix tunnel metrics task ownership
Add macos-desktop-client.yml workflow with manual dispatch trigger running on macos-arm64 runner. Install Node.js 22 and Rust toolchain with aarch64-apple-darwin target. Build bundled tunnel helper and Tauri application bundle, then upload .app, .dmg, and raw build artifacts. Fix tunnel_metrics handler to clone app handle before spawn_blocking to prevent ownership issues when passing to tunnel
This commit is contained in:
@@ -486,8 +486,9 @@ async fn tunnel_metrics(app: AppHandle, state: State<'_, AppState>) -> Result<Tu
|
||||
let session = session.as_ref().ok_or_else(|| "No active session is available".to_string())?;
|
||||
session.profile_path.clone()
|
||||
};
|
||||
let metrics_app = app.clone();
|
||||
let metrics = tauri::async_runtime::spawn_blocking(move || {
|
||||
tunnel_manager::metrics(&app, std::path::Path::new(&profile_path))
|
||||
tunnel_manager::metrics(&metrics_app, std::path::Path::new(&profile_path))
|
||||
})
|
||||
.await
|
||||
.map_err(|err| format!("Unable to join tunnel metrics task: {err}"))??;
|
||||
|
||||
Reference in New Issue
Block a user