From dbd17068118be2f55d1813af64e00fdba381cfbc Mon Sep 17 00:00:00 2001 From: Matt Van Horn Date: Fri, 17 Apr 2026 02:00:29 -0400 Subject: [PATCH] fix(new-chat): remove unused _hasScrolledToCited state in source-detail-panel The useState was declared but its value was never read in render (only the setter was called). Each setter call scheduled a re-render that changed nothing visible. The actual scroll/highlight behavior is driven by hasScrolledRef and setActiveChunkIndex; this state was effectively dead. Closes #1249 --- surfsense_web/components/new-chat/source-detail-panel.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/surfsense_web/components/new-chat/source-detail-panel.tsx b/surfsense_web/components/new-chat/source-detail-panel.tsx index dbafd98f1..aded206c7 100644 --- a/surfsense_web/components/new-chat/source-detail-panel.tsx +++ b/surfsense_web/components/new-chat/source-detail-panel.tsx @@ -133,7 +133,6 @@ export function SourceDetailPanel({ const scrollTimersRef = useRef[]>([]); const [activeChunkIndex, setActiveChunkIndex] = useState(null); const [mounted, setMounted] = useState(false); - const [_hasScrolledToCited, setHasScrolledToCited] = useState(false); const shouldReduceMotion = useReducedMotion(); useEffect(() => { @@ -322,11 +321,10 @@ export function SourceDetailPanel({ ); }); - // After final attempt, mark state as scrolled + // After final attempt, mark the cited chunk as active scrollTimersRef.current.push( setTimeout( () => { - setHasScrolledToCited(true); setActiveChunkIndex(citedChunkIndex); }, scrollAttempts[scrollAttempts.length - 1] + 50 @@ -343,7 +341,6 @@ export function SourceDetailPanel({ scrollTimersRef.current.forEach(clearTimeout); scrollTimersRef.current = []; hasScrolledRef.current = false; - setHasScrolledToCited(false); setActiveChunkIndex(null); } return () => {