diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx index 6ef62ea22..f8134976a 100644 --- a/packages/app/src/pages/session/message-timeline.tsx +++ b/packages/app/src/pages/session/message-timeline.tsx @@ -721,14 +721,13 @@ export function MessageTimeline(props: { const key = sessionKey() if (bottomAnchorSessionKey === key) return if (!virtualizer) return - if (timelineRowKeys().length === 0) return + const keys = timelineRowKeys() + if (keys.length === 0) return bottomAnchorSessionKey = key if (!props.shouldAnchorBottom()) return - virtualizer.scrollToIndex(timelineRowKeys().length - 1, { align: "end" }) + virtualizer.scrollToIndex(keys.length - 1, { align: "end" }) } - createEffect(maybeAnchorBottom) - createEffect( on( () => [sessionKey(), timelineRowKeys()] as const, @@ -739,6 +738,7 @@ export function MessageTimeline(props: { if (virtualizer) { virtualizerSessionKey = cacheSessionKey virtualizerRowKeys = cacheRowKeys + maybeAnchorBottom() } }, { defer: true },