From d7bf8c6740e6da7c5b636a4f9b5a1d7e83f9fd39 Mon Sep 17 00:00:00 2001 From: Munka Date: Wed, 14 Oct 2026 08:28:30 -0500 Subject: [PATCH] =?UTF-8?q?La=20ventana=20se=20muestra=20aunque=20tao=20cr?= =?UTF-8?q?ea=20que=20ya=20est=C3=A1=20visible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Visto en el equipo de edición con la 1.19.0: la ventana estaba oculta en Windows pero tao la tenía anotada como visible, así que show() no llamaba a ShowWindow (apply_diff sin cambios) y ni la bandeja, ni el icono, ni la tecla del MasterHUB la sacaban; set_focus sí corría y tomaba el foco sin verse. show_main compara con el estado real (is_visible) y, si no cuadra, rehace ocultar + mostrar y lo anota en salud.log. Co-Authored-By: Claude Opus 5.5 --- src-tauri/src/lib.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 1579596..e0fe00f 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -1442,6 +1442,17 @@ fn show_main(app: &AppHandle) { memoria::a_la_vista(app); if let Some(w) = main_window(app) { let _ = w.show(); + // tao guarda su propia nota de «visible» y `show()` solo llama a ShowWindow si esa nota + // cambia (WindowFlags::apply_diff). Visto en el equipo de edición (2026-10-14, 1.19.0): la + // ventana estaba OCULTA en Windows con la nota en «visible», así que ni la bandeja, ni el + // icono, ni la tecla del MasterHUB la sacaban (set_focus sí corría: tomaba el foco sin + // verse). `is_visible()` lee el estado REAL (IsWindowVisible); si no cuadra, se baja y + // se sube la nota para que ShowWindow corra de verdad, y se anota para medir cada cuánto pasa. + if !w.is_visible().unwrap_or(true) { + salud::anotar("AVISO", "ventana", "show() no la mostró (estado de tao desincronizado): se rehace ocultar + mostrar"); + let _ = w.hide(); + let _ = w.show(); + } let _ = w.unminimize(); let _ = w.set_focus(); }