From da8f3e92a7bbc3b288f89f6b535b72b94c1d1c19 Mon Sep 17 00:00:00 2001 From: adamelmore <2363879+adamdottv@users.noreply.github.com> Date: Fri, 23 Jan 2026 23:18:54 -0600 Subject: perf(app): better session stream rendering --- packages/ui/src/components/session-turn.tsx | 16 ++++++++++++++-- packages/ui/src/hooks/create-auto-scroll.tsx | 11 ++++------- 2 files changed, 18 insertions(+), 9 deletions(-) (limited to 'packages/ui/src') diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx index ca63d17ab..fe53c0939 100644 --- a/packages/ui/src/components/session-turn.tsx +++ b/packages/ui/src/components/session-turn.tsx @@ -457,9 +457,16 @@ export function SessionTurn( }) createEffect(() => { - const timer = setInterval(() => { + const update = () => { setStore("duration", duration()) - }, 1000) + } + + update() + + // Only keep ticking while the active (in-progress) turn is running. + if (!working()) return + + const timer = setInterval(update, 1000) onCleanup(() => clearInterval(timer)) }) @@ -495,6 +502,11 @@ export function SessionTurn( } }) + onCleanup(() => { + if (!statusTimeout) return + clearTimeout(statusTimeout) + }) + return (