diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 52a7aa925..42a509583 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -1281,6 +1281,16 @@ }); } }; + + let scrollRAF = null; + const scheduleScrollToBottom = () => { + if (!scrollRAF) { + scrollRAF = requestAnimationFrame(async () => { + scrollRAF = null; + await scrollToBottom(); + }); + } + }; const chatCompletedHandler = async (_chatId, modelId, responseMessageId, messages) => { const res = await chatCompleted(localStorage.token, { model: modelId, @@ -1698,7 +1708,7 @@ await tick(); if (autoScroll) { - scrollToBottom(); + scheduleScrollToBottom(); } }; @@ -2482,7 +2492,7 @@ } if (autoScroll) { - scrollToBottom(); + scheduleScrollToBottom(); } }