fix(desktop): auto scroll

thinking-toggle-wip
Adam 2025-12-14 06:06:07 -06:00 committed by Aiden Cline
parent 238ca62ba7
commit 6c0638c73b
1 changed files with 7 additions and 1 deletions

View File

@ -55,11 +55,13 @@ export function SessionTurn(
userScrolled: false,
stickyHeaderHeight: 0,
scrollY: 0,
autoScrolling: false,
})
function handleScroll() {
if (!scrollRef) return
setState("scrollY", scrollRef.scrollTop)
if (state.autoScrolling) return
const { scrollTop, scrollHeight, clientHeight } = scrollRef
const atBottom = scrollHeight - scrollTop - clientHeight < 50
if (!atBottom && working()) {
@ -74,9 +76,13 @@ export function SessionTurn(
}
function scrollToBottom() {
if (!scrollRef || state.userScrolled || !working()) return
if (!scrollRef || state.userScrolled || !working() || state.autoScrolling) return
setState("autoScrolling", true)
requestAnimationFrame(() => {
scrollRef?.scrollTo({ top: scrollRef.scrollHeight, behavior: "auto" })
requestAnimationFrame(() => {
setState("autoScrolling", false)
})
})
}