From 333b8e907bb758adca3da69f4af72b9abe08777a Mon Sep 17 00:00:00 2001
From: Adam <2363879+adamdotdevin@users.noreply.github.com>
Date: Tue, 18 Nov 2025 11:35:17 -0600
Subject: fix(desktop): busy state and reactivity
---
packages/desktop/src/pages/directory-layout.tsx | 12 +++++-------
packages/desktop/src/pages/session.tsx | 16 ++++++----------
2 files changed, 11 insertions(+), 17 deletions(-)
(limited to 'packages/desktop/src/pages')
diff --git a/packages/desktop/src/pages/directory-layout.tsx b/packages/desktop/src/pages/directory-layout.tsx
index fe35f20f9..fff75d1af 100644
--- a/packages/desktop/src/pages/directory-layout.tsx
+++ b/packages/desktop/src/pages/directory-layout.tsx
@@ -14,12 +14,10 @@ export default function Layout(props: ParentProps) {
return sync.data.projects.find((x) => x.worktree === decoded)?.worktree ?? "/"
})
return (
-
-
-
- {props.children}
-
-
-
+
+
+ {props.children}
+
+
)
}
diff --git a/packages/desktop/src/pages/session.tsx b/packages/desktop/src/pages/session.tsx
index 01d32a672..c273901cc 100644
--- a/packages/desktop/src/pages/session.tsx
+++ b/packages/desktop/src/pages/session.tsx
@@ -378,15 +378,9 @@ export default function Page() {
>
{(message) => {
- const assistantMessages = createMemo(() => {
- if (!session.id) return []
- return sync.data.message[session.id]?.filter(
- (m) => m.role === "assistant" && m.parentID == message.id,
- ) as AssistantMessageType[]
- })
- const error = createMemo(() => assistantMessages().find((m) => m?.error)?.error)
- const working = createMemo(() => !message.summary?.body && !error())
-
+ const working = createMemo(
+ () => message.id === session.messages.last()?.id && session.working(),
+ )
const handleClick = () => session.messages.setActive(message.id)
return (
@@ -473,7 +467,9 @@ export default function Page() {
?.flatMap((m) => sync.data.part[m.id])
.some((p) => p?.type === "tool"),
)
- const working = createMemo(() => !message.summary?.body && !error())
+ const working = createMemo(
+ () => message.id === session.messages.last()?.id && session.working(),
+ )
// allowing time for the animations to finish
createEffect(() => {
--
cgit v1.2.3