From c88cb35bc006c529724436834ef36276ed557f8e Mon Sep 17 00:00:00 2001 From: Roo Code Date: Wed, 13 Aug 2025 20:12:10 +0000 Subject: [PATCH] fix: remove 500-message limit to prevent scrollbar jumping in long conversations - Removed array slicing logic that limited messages to 500 - This eliminates array index shifting that caused Virtuoso to lose scroll position - Virtuoso is designed to efficiently handle large lists through virtualization - Fixes the scrollbar jumping issue reported in #7063 and #7052 --- webview-ui/src/components/chat/ChatView.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/webview-ui/src/components/chat/ChatView.tsx b/webview-ui/src/components/chat/ChatView.tsx index 9b8c96dea1d..64f761574a1 100644 --- a/webview-ui/src/components/chat/ChatView.tsx +++ b/webview-ui/src/components/chat/ChatView.tsx @@ -897,11 +897,9 @@ const ChatViewComponent: React.ForwardRefRenderFunction textAreaRef.current?.focus()) const visibleMessages = useMemo(() => { - const currentMessageCount = modifiedMessages.length - const startIndex = Math.max(0, currentMessageCount - 500) - const recentMessages = modifiedMessages.slice(startIndex) - - const newVisibleMessages = recentMessages.filter((message: ClineMessage) => { + // Remove the 500-message limit to prevent array index shifting + // Virtuoso is designed to efficiently handle large lists through virtualization + const newVisibleMessages = modifiedMessages.filter((message: ClineMessage) => { if (everVisibleMessagesTsRef.current.has(message.ts)) { const alwaysHiddenOnceProcessedAsk: ClineAsk[] = [ "api_req_failed",