From ee19de5f947bd0619443e972b35498e27bcbf401 Mon Sep 17 00:00:00 2001 From: MDietermann Date: Wed, 12 Aug 2026 18:03:19 +0200 Subject: [PATCH] fix: reset scroll ref on conversation change prevLengthRef.current was never zeroed when conversationId changed, so the first batch of messages in a new (shorter) conversation would not trigger scrollIntoView. Reset it in the polling useEffect cleanup. --- src/components/MessageList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MessageList.tsx b/src/components/MessageList.tsx index 896d65e..d75e443 100644 --- a/src/components/MessageList.tsx +++ b/src/components/MessageList.tsx @@ -32,7 +32,7 @@ export default function MessageList({ conversationId, refreshKey }: Props) { load(); // ponytail: polling every 3s — replace with WebSocket when server supports it const id = setInterval(load, 3000); - return () => { cancelled = true; clearInterval(id); }; + return () => { cancelled = true; clearInterval(id); prevLengthRef.current = 0; }; // Fix 2: refreshKey in deps triggers immediate reload after send }, [conversationId, refreshKey]);