diff options
| author | Adam <[email protected]> | 2026-03-02 18:23:59 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-03-03 05:35:15 -0600 |
| commit | 5e8742f4312a8923f3da92172a7247470ef34516 (patch) | |
| tree | 8b9a664275be2d0b009359677f7826d1c486e38a /packages/app/src | |
| parent | 18850c4f911aaeb73846220e1139c1d07113b306 (diff) | |
| download | opencode-5e8742f4312a8923f3da92172a7247470ef34516.tar.gz opencode-5e8742f4312a8923f3da92172a7247470ef34516.zip | |
fix(app): timeline jank
Diffstat (limited to 'packages/app/src')
| -rw-r--r-- | packages/app/src/pages/session.tsx | 4 | ||||
| -rw-r--r-- | packages/app/src/pages/session/message-timeline.tsx | 4 |
2 files changed, 6 insertions, 2 deletions
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 ( <div |
