diff options
| author | Adam <[email protected]> | 2025-11-18 13:45:23 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-11-18 13:45:27 -0600 |
| commit | 3a9c2152f773224ce6caf1168063dd26d1e46300 (patch) | |
| tree | 16a3ec5ec3050c7b66ec4f92868f06665dde756d | |
| parent | 7283bfa480b163da7ea66250f4782747293afdfd (diff) | |
| download | opencode-3a9c2152f773224ce6caf1168063dd26d1e46300.tar.gz opencode-3a9c2152f773224ce6caf1168063dd26d1e46300.zip | |
fix(desktop): reactivity issue on route change
| -rw-r--r-- | packages/desktop/src/context/session.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/index.tsx | 12 | ||||
| -rw-r--r-- | packages/desktop/src/pages/directory-layout.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/pages/layout.tsx | 2 |
4 files changed, 10 insertions, 8 deletions
diff --git a/packages/desktop/src/context/session.tsx b/packages/desktop/src/context/session.tsx index 64820b6ae..81b9b2d94 100644 --- a/packages/desktop/src/context/session.tsx +++ b/packages/desktop/src/context/session.tsx @@ -15,7 +15,7 @@ export const { use: useSession, provider: SessionProvider } = createSimpleContex const params = useParams() const sync = useSync() const name = createMemo( - () => `${base64Encode(sync.data.project.worktree)}/session${params.id ? "/" + params.id : ""}`, + () => `___${base64Encode(sync.data.project.worktree)}/session${params.id ? "/" + params.id : ""}`, ) const [store, setStore] = makePersisted( diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx index 64fab09ec..f35600895 100644 --- a/packages/desktop/src/index.tsx +++ b/packages/desktop/src/index.tsx @@ -12,7 +12,7 @@ import { LayoutProvider } from "./context/layout" import { GlobalSDKProvider } from "./context/global-sdk" import { SessionProvider } from "./context/session" import { base64Encode } from "./utils" -import { createMemo } from "solid-js" +import { createMemo, Show } from "solid-js" const host = import.meta.env.VITE_OPENCODE_SERVER_HOST ?? "127.0.0.1" const port = import.meta.env.VITE_OPENCODE_SERVER_PORT ?? "4096" @@ -51,10 +51,12 @@ render( <Route path="/" component={() => <Navigate href="session" />} /> <Route path="/session/:id?" - component={() => ( - <SessionProvider> - <Session /> - </SessionProvider> + component={(p) => ( + <Show when={p.params.id || true} keyed> + <SessionProvider> + <Session /> + </SessionProvider> + </Show> )} /> </Route> diff --git a/packages/desktop/src/pages/directory-layout.tsx b/packages/desktop/src/pages/directory-layout.tsx index fff75d1af..6bd18ec9f 100644 --- a/packages/desktop/src/pages/directory-layout.tsx +++ b/packages/desktop/src/pages/directory-layout.tsx @@ -1,4 +1,4 @@ -import { createMemo, Show, type ParentProps } from "solid-js" +import { createMemo, type ParentProps } from "solid-js" import { useParams } from "@solidjs/router" import { SDKProvider } from "@/context/sdk" import { SyncProvider } from "@/context/sync" diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx index 33cf7b66f..d882f7905 100644 --- a/packages/desktop/src/pages/layout.tsx +++ b/packages/desktop/src/pages/layout.tsx @@ -122,7 +122,7 @@ export default function Layout(props: ParentProps) { ?.replace(" hr.", "h")} </span> </div> - <div class="hidden flex justify-between items-center self-stretch"> + <div class="hidden _flex justify-between items-center self-stretch"> <span class="text-12-regular text-text-weak">{`${session.summary?.files || "No"} file${session.summary?.files !== 1 ? "s" : ""} changed`}</span> <Show when={session.summary}> {(summary) => <DiffChanges changes={summary()} />} |
