From 53060e770c9ae10f14e1a79cb3c92473647d6add Mon Sep 17 00:00:00 2001 From: Forgotten Date: Fri, 20 Feb 2026 14:11:35 -0600 Subject: [PATCH] fix: log viewer auto-follow uses distance-from-bottom instead of element visibility Co-Authored-By: Claude Opus 4.6 --- ui/src/pages/AgentDetail.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ui/src/pages/AgentDetail.tsx b/ui/src/pages/AgentDetail.tsx index 711d3157..7b01f065 100644 --- a/ui/src/pages/AgentDetail.tsx +++ b/ui/src/pages/AgentDetail.tsx @@ -1251,11 +1251,14 @@ function LogViewer({ run, adapterType }: { run: HeartbeatRun; adapterType: strin }, [initialEvents]); const updateFollowingState = useCallback(() => { - const el = logEndRef.current; - if (!el) return; - const rect = el.getBoundingClientRect(); - const inView = rect.top <= window.innerHeight && rect.bottom >= 0; - setIsFollowing((prev) => (prev === inView ? prev : inView)); + const viewportBottom = window.scrollY + window.innerHeight; + const pageHeight = Math.max( + document.documentElement.scrollHeight, + document.body.scrollHeight, + ); + const distanceFromBottom = pageHeight - viewportBottom; + const isNearBottom = distanceFromBottom <= 32; + setIsFollowing((prev) => (prev === isNearBottom ? prev : isNearBottom)); }, []); useEffect(() => {