From 1794c05b4f54fb1bab8532c5e7cbe08f7fa1bae0 Mon Sep 17 00:00:00 2001 From: M1 Date: Tue, 17 Mar 2026 07:15:31 +0400 Subject: [PATCH] fix: restore status dot, latency, last-ping time updates on SSE --- apps/web/src/views/home.ejs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/web/src/views/home.ejs b/apps/web/src/views/home.ejs index dbdacb2..f56df13 100644 --- a/apps/web/src/views/home.ejs +++ b/apps/web/src/views/home.ejs @@ -75,11 +75,21 @@ } catch {} }, 30000); - // SSE: on each ping, fetch fresh sparkline for that monitor + // SSE: on each ping, update text fields and fetch fresh sparkline const _fetchingSparkline = new Set(); watchAccount(async (ping) => { const card = document.querySelector(`[data-monitor-id="${ping.monitor_id}"]`); if (!card) return; + + // Status dot + const dot = card.querySelector('.status-dot'); + if (dot) dot.className = `status-dot w-2.5 h-2.5 rounded-full ${ping.up ? 'bg-green-500' : 'bg-red-500'}`; + + // Last latency + last ping time + if (ping.latency_ms != null) card.querySelector('.stat-latency').textContent = ping.latency_ms + 'ms'; + card.querySelector('.stat-last').innerHTML = timeAgo(ping.checked_at); + + // Sparkline const sparkEl = card.querySelector('.stat-sparkline'); if (!sparkEl || _fetchingSparkline.has(ping.monitor_id)) return; _fetchingSparkline.add(ping.monitor_id);