diff --git a/src/web/public/app.js b/src/web/public/app.js index 2f5d4b30..ea3ccd66 100644 --- a/src/web/public/app.js +++ b/src/web/public/app.js @@ -1426,8 +1426,11 @@ class CodemanApp { // visible welcome list) on session structural changes. Extra listeners on the // same EventSource — EventSource supports multiple listeners per event — so the // existing handlers above are untouched. Registered through addListener so they - // are torn down with the rest on reconnect. - for (const event of [SSE_EVENTS.SESSION_CREATED, SSE_EVENTS.SESSION_UPDATED, SSE_EVENTS.SESSION_DELETED]) { + // are torn down with the rest on reconnect. Only structural events (created / + // deleted) trigger a refetch: session:updated is batch-broadcast every ~500ms + // per active session, which would otherwise turn an open modal / visible welcome + // list into a sustained ~1 Hz full ~/.claude/projects rescan loop. + for (const event of [SSE_EVENTS.SESSION_CREATED, SSE_EVENTS.SESSION_DELETED]) { addListener(event, () => this._onSessionListMaybeChanged()); } } diff --git a/src/web/public/index.html b/src/web/public/index.html index 23c6c57f..bf1d34ab 100644 --- a/src/web/public/index.html +++ b/src/web/public/index.html @@ -118,7 +118,8 @@ - + +