summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/pages/session.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-11-18 11:35:17 -0600
committerAdam <[email protected]>2025-11-18 11:35:23 -0600
commit333b8e907bb758adca3da69f4af72b9abe08777a (patch)
tree6d8543480918607a1ce2941123835a4af7e072b4 /packages/desktop/src/pages/session.tsx
parent13f319b64fcfb8ea34871ab5678514c0f5b3a04d (diff)
downloadopencode-333b8e907bb758adca3da69f4af72b9abe08777a.tar.gz
opencode-333b8e907bb758adca3da69f4af72b9abe08777a.zip
fix(desktop): busy state and reactivity
Diffstat (limited to 'packages/desktop/src/pages/session.tsx')
-rw-r--r--packages/desktop/src/pages/session.tsx16
1 files changed, 6 insertions, 10 deletions
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() {
>
<For each={session.messages.user()}>
{(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(() => {