From 1eae0f793acd1a8e5d304d29da00bfd56fd564a7 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 15 Apr 2026 07:07:24 +0000 Subject: [PATCH] fix(stream): skip non-object envelopes in onResumeStreamReplay Matches the existing guard in clearResumeFence. A malformed entry from the server (version skew, serialization mishap) would otherwise throw on `envelope._replayed = true` mid-iteration and leave the fence half-flushed via the finally-block. --- src/lib/components/chat/Chat.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 1b5449971e..9346064df8 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -721,6 +721,7 @@ const envelopes = Array.isArray(payload?.envelopes) ? payload.envelopes : []; try { for (const envelope of envelopes) { + if (!envelope || typeof envelope !== 'object') continue; envelope._replayed = true; await chatEventHandler(envelope); }