From d3216c10ef56db2e3e75afa915ccd5fa954eb7c6 Mon Sep 17 00:00:00 2001 From: Munka Date: Wed, 14 Oct 2026 08:33:16 -0500 Subject: [PATCH] =?UTF-8?q?Salud:=20el=20reinicio=20no=20se=20anota=20dos?= =?UTF-8?q?=20veces;=20en=20macOS=20la=20bandeja=20no=20se=20queda=20en=20?= =?UTF-8?q?=C2=ABmidiendo=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- src-tauri/src/salud.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src-tauri/src/salud.rs b/src-tauri/src/salud.rs index c963bb7..5b325f8 100644 --- a/src-tauri/src/salud.rs +++ b/src-tauri/src/salud.rs @@ -125,6 +125,9 @@ pub fn carpeta() -> Option { /// Texto para la bandeja y el menú ⋮. pub fn resumen() -> String { + if cfg!(not(windows)) { + return "Recursos: la medición es solo de Windows".into(); + } let Some(m) = *ULTIMA.lock().unwrap() else { return "Recursos: midiendo…".into() }; let mem = if m.memoria_mb >= 1024 { format!("{:.1} GB", m.memoria_mb as f64 / 1024.0).replace('.', ",") } else { format!("{} MB", m.memoria_mb) }; let mut s = format!("Recursos: {mem} · CPU {:.0} % · {} procesos", m.cpu, m.procesos); @@ -363,9 +366,11 @@ pub fn vigilar_pestana(app: &AppHandle, wv: &tauri::Webview) { RECUPERACIONES.fetch_add(1, Ordering::Relaxed); crate::save_persisted(&h); let hh = h.clone(); + // Desde un hilo aparte, restart() pide la salida al bucle de eventos: pasa por + // RunEvent::Exit (salida_limpia anota el reinicio y quita el testigo) y el + // plugin de instancia única suelta su mutex ANTES de lanzar la copia nueva. std::thread::spawn(move || { std::thread::sleep(Duration::from_millis(500)); - salida_limpia(); hh.restart(); }); }