From ec512e2809df6bf6e11137ddd45224bc0f0c464d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Omar=20S=C3=A1nchez=20Pizarro?= Date: Mon, 19 Jan 2026 22:57:39 +0100 Subject: [PATCH] fix: autorefresh logs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Omar Sánchez Pizarro --- web/frontend/src/views/Logs.vue | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/web/frontend/src/views/Logs.vue b/web/frontend/src/views/Logs.vue index 5bf37bb..8562928 100644 --- a/web/frontend/src/views/Logs.vue +++ b/web/frontend/src/views/Logs.vue @@ -121,12 +121,17 @@ async function loadLogs(forceReload = false, shouldScroll = null) { const previousScrollTop = logsContainer.value?.scrollTop || 0; const previousScrollHeight = logsContainer.value?.scrollHeight || 0; - loading.value = true; + // Solo mostrar loader en carga inicial o recarga forzada + const isInitialLoad = logs.value.length === 0 || lastLoadedLogHash.value === null; + if (forceReload || isInitialLoad) { + loading.value = true; + } + try { const data = await api.getLogs(500); const newLogs = data.logs || []; - if (forceReload || logs.value.length === 0 || lastLoadedLogHash.value === null) { + if (forceReload || isInitialLoad) { // Carga inicial o recarga forzada: reemplazar todo logs.value = newLogs; lastLoadedLogHash.value = newLogs.length > 0 ? hashLog(newLogs[newLogs.length - 1]) : null; @@ -188,8 +193,13 @@ async function loadLogs(forceReload = false, shouldScroll = null) { } } catch (error) { console.error('Error cargando logs:', error); - } finally { + // Asegurar que el loader se oculte incluso si hay error loading.value = false; + } finally { + // Solo ocultar loader si se mostró + if (forceReload || isInitialLoad) { + loading.value = false; + } } }