From da9245626e6c139d3efe18168b200f3776c42a01 Mon Sep 17 00:00:00 2001 From: G30 <50341825+silentoplayz@users.noreply.github.com> Date: Mon, 24 Aug 2026 17:51:20 -0400 Subject: [PATCH] fix: keep the viewport in place when older messages load above it (#28657) --- src/lib/components/chat/Messages.svelte | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte index 7c6c4f08c7..dce9b72798 100644 --- a/src/lib/components/chat/Messages.svelte +++ b/src/lib/components/chat/Messages.svelte @@ -66,11 +66,8 @@ }); const loadMoreMessages = async () => { - // scroll slightly down to disable continuous loading const element = getMessagesContainer(); - if (element) { - element.scrollTop = element.scrollTop + 100; - } + const previousScrollHeight = element?.scrollHeight ?? 0; messagesLoading = true; messagesCount += 8; @@ -79,6 +76,10 @@ await tick(); + if (element) { + element.scrollTop += element.scrollHeight - previousScrollHeight; + } + messagesLoading = false; };