From 510fba4c92571609a8b3b98d758b5a98ddd07afc Mon Sep 17 00:00:00 2001 From: Henry Park Date: Sun, 22 Feb 2026 00:18:46 -0800 Subject: [PATCH] fix: reload chat history on SSE reconnect (#307) When SSE auto-reconnects after a server restart, the chat now re-syncs from the database so no messages are lost. Co-authored-by: Claude Opus 4.6 (1M context) --- src/channels/web/static/app.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/channels/web/static/app.js b/src/channels/web/static/app.js index 02a7ea73..fd5f9441 100644 --- a/src/channels/web/static/app.js +++ b/src/channels/web/static/app.js @@ -9,6 +9,7 @@ let assistantThreadId = null; let hasMore = false; let oldestTimestamp = null; let loadingOlder = false; +let sseHasConnectedBefore = false; let jobEvents = new Map(); // job_id -> Array of events let jobListRefreshTimer = null; const JOB_EVENTS_CAP = 500; @@ -107,6 +108,10 @@ function connectSSE() { eventSource.onopen = () => { document.getElementById('sse-dot').classList.remove('disconnected'); document.getElementById('sse-status').textContent = 'Connected'; + if (sseHasConnectedBefore && currentThreadId) { + loadHistory(); + } + sseHasConnectedBefore = true; }; eventSource.onerror = () => {