From d6f204bb7d4cb795af9c82a776a4d7550df0efbd Mon Sep 17 00:00:00 2001 From: James Magahern Date: Thu, 19 Feb 2026 22:17:06 -0800 Subject: [PATCH] Don't scroll once chat stream is complete --- web/src/App.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/src/App.tsx b/web/src/App.tsx index 891ddb2..059b5eb 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -326,6 +326,7 @@ export default function App() { const pendingTitleGenerationRef = useRef>(new Set()); const searchRunAbortRef = useRef(null); const searchRunCounterRef = useRef(0); + const wasSendingRef = useRef(false); const [contextMenu, setContextMenu] = useState(null); const [isMobileSidebarOpen, setIsMobileSidebarOpen] = useState(false); const initialRouteSelectionRef = useRef(readSidebarSelectionFromUrl()); @@ -530,6 +531,9 @@ export default function App() { useEffect(() => { if (draftKind === "search" || selectedItem?.kind === "search") return; + const wasSending = wasSendingRef.current; + wasSendingRef.current = isSending; + if (wasSending && !isSending) return; transcriptEndRef.current?.scrollIntoView({ behavior: isSending ? "smooth" : "auto", block: "end" }); }, [draftKind, selectedChat?.messages.length, isSending, selectedItem?.kind, selectedKey]);