diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index c938042..594993b 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -74,14 +74,25 @@ pub fn run() { .build(tauri::generate_context!()) .expect("error while building tauri application") .run(|app, event| { - if let tauri::RunEvent::Exit = event { - // Stop the sidecar when the app exits - if let Some(state) = app.try_state::() { - if let Ok(mut mgr) = state.0.lock() { - eprintln!("[app] Stopping sidecar on exit..."); - mgr.stop(); + match event { + tauri::RunEvent::Exit => { + if let Some(state) = app.try_state::() { + if let Ok(mut mgr) = state.0.lock() { + eprintln!("[app] Stopping sidecar on exit..."); + mgr.stop(); + } } } + tauri::RunEvent::ExitRequested { .. } => { + // Also stop sidecar on exit request (Cmd+Q on macOS) + if let Some(state) = app.try_state::() { + if let Ok(mut mgr) = state.0.lock() { + eprintln!("[app] Stopping sidecar on exit request..."); + mgr.stop(); + } + } + } + _ => {} } }); }