From 5e8742f4312a8923f3da92172a7247470ef34516 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Mon, 2 Mar 2026 18:23:59 -0600 Subject: fix(app): timeline jank --- packages/app/src/pages/session.tsx | 4 +++- packages/app/src/pages/session/message-timeline.tsx | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'packages/app/src/pages') diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 4f01badf4..2c49489ba 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -1091,7 +1091,9 @@ export default function Page() { const el = scroller const delta = next - dockHeight - const stick = el ? el.scrollHeight - el.clientHeight - el.scrollTop < 10 + Math.max(0, delta) : false + const stick = el + ? !autoScroll.userScrolled() || el.scrollHeight - el.clientHeight - el.scrollTop < 10 + Math.max(0, delta) + : false dockHeight = next diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx index 0aa07bf74..19d6e09d9 100644 --- a/packages/app/src/pages/session/message-timeline.tsx +++ b/packages/app/src/pages/session/message-timeline.tsx @@ -689,7 +689,9 @@ export function MessageTimeline(props: { if (!item || active()) return false return messageID > item.id }) - const comments = createMemo(() => messageComments(sync.data.part[messageID] ?? [])) + const comments = createMemo(() => messageComments(sync.data.part[messageID] ?? []), [], { + equals: (a, b) => JSON.stringify(a) === JSON.stringify(b), + }) const commentCount = createMemo(() => comments().length) return (