From 4111491bd583b02833cc1a305e0a85b7201fd26b Mon Sep 17 00:00:00 2001 From: neriousy Date: Tue, 20 Jan 2026 02:25:36 +0100 Subject: [PATCH 1/2] fix(app): enable auto-scroll for new messages even when idle --- packages/app/src/pages/session.tsx | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index ec3b0ac30d9d..e6158b6ba30d 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -824,10 +824,26 @@ export default function Page() { }) const isWorking = createMemo(() => status().type !== "idle") + + // Keep auto-scroll logic enabled even when the agent is idle so that: + // - new user messages scroll into view + // - manual scroll-away is tracked consistently + // We still force-scroll when the agent starts working (see effect below). const autoScroll = createAutoScroll({ - working: isWorking, + working: () => true, }) + createEffect( + on( + isWorking, + (working, prev) => { + if (!working || prev) return + autoScroll.forceScrollToBottom() + }, + { defer: true }, + ), + ) + let scrollSpyFrame: number | undefined let scrollSpyTarget: HTMLDivElement | undefined @@ -1340,10 +1356,6 @@ export default function Page() { classList={{ "min-w-0 w-full max-w-full": true, "md:max-w-200": !showTabs(), - "last:min-h-[calc(100vh-5.5rem-var(--prompt-height,8rem)-64px)] md:last:min-h-[calc(100vh-4.5rem-var(--prompt-height,10rem)-64px)]": - platform.platform !== "desktop", - "last:min-h-[calc(100vh-7rem-var(--prompt-height,8rem)-64px)] md:last:min-h-[calc(100vh-6rem-var(--prompt-height,10rem)-64px)]": - platform.platform === "desktop", }} > Date: Tue, 20 Jan 2026 02:39:13 +0100 Subject: [PATCH 2/2] cleanup --- packages/app/src/pages/session.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index e6158b6ba30d..f0fd36581b51 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -825,12 +825,8 @@ export default function Page() { const isWorking = createMemo(() => status().type !== "idle") - // Keep auto-scroll logic enabled even when the agent is idle so that: - // - new user messages scroll into view - // - manual scroll-away is tracked consistently - // We still force-scroll when the agent starts working (see effect below). const autoScroll = createAutoScroll({ - working: () => true, + working: () => true }) createEffect(