fix(desktop): auto scroll

This commit is contained in:
Adam 2025-12-14 06:06:07 -06:00
parent 4a8e8f537c
commit 62ffeb3987
No known key found for this signature in database
GPG key ID: 9CB48779AF150E75

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)
})
})
}