diff options
| author | Adam <[email protected]> | 2025-11-18 11:35:17 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-11-18 11:35:23 -0600 |
| commit | 333b8e907bb758adca3da69f4af72b9abe08777a (patch) | |
| tree | 6d8543480918607a1ce2941123835a4af7e072b4 /packages/desktop/src/pages | |
| parent | 13f319b64fcfb8ea34871ab5678514c0f5b3a04d (diff) | |
| download | opencode-333b8e907bb758adca3da69f4af72b9abe08777a.tar.gz opencode-333b8e907bb758adca3da69f4af72b9abe08777a.zip | |
fix(desktop): busy state and reactivity
Diffstat (limited to 'packages/desktop/src/pages')
| -rw-r--r-- | packages/desktop/src/pages/directory-layout.tsx | 12 | ||||
| -rw-r--r-- | packages/desktop/src/pages/session.tsx | 16 |
2 files changed, 11 insertions, 17 deletions
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 ( - <Show when={params.id || true} keyed> - <SDKProvider directory={directory()}> - <SyncProvider> - <LocalProvider>{props.children}</LocalProvider> - </SyncProvider> - </SDKProvider> - </Show> + <SDKProvider directory={directory()}> + <SyncProvider> + <LocalProvider>{props.children}</LocalProvider> + </SyncProvider> + </SDKProvider> ) } 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(() => { |
