summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context
diff options
context:
space:
mode:
authorFilip <[email protected]>2026-02-11 17:59:09 +0100
committerGitHub <[email protected]>2026-02-11 10:59:09 -0600
commit81b5a6a08b6b2f591096a0f9a7fed04871002a33 (patch)
treed3af9d288776adab1628ec898ffad5f0f8cea2de /packages/app/src/context
parent94cb6390aad2066281dfecb64b2edcccb51fa362 (diff)
downloadopencode-81b5a6a08b6b2f591096a0f9a7fed04871002a33.tar.gz
opencode-81b5a6a08b6b2f591096a0f9a7fed04871002a33.zip
fix(app):workspace reset (#13170)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Diffstat (limited to 'packages/app/src/context')
-rw-r--r--packages/app/src/context/layout.tsx6
-rw-r--r--packages/app/src/context/terminal.tsx11
2 files changed, 12 insertions, 5 deletions
diff --git a/packages/app/src/context/layout.tsx b/packages/app/src/context/layout.tsx
index 8d9c865f8..4019b2f29 100644
--- a/packages/app/src/context/layout.tsx
+++ b/packages/app/src/context/layout.tsx
@@ -4,6 +4,7 @@ import { createSimpleContext } from "@opencode-ai/ui/context"
import { useGlobalSync } from "./global-sync"
import { useGlobalSDK } from "./global-sdk"
import { useServer } from "./server"
+import { usePlatform } from "./platform"
import { Project } from "@opencode-ai/sdk/v2"
import { Persist, persisted, removePersisted } from "@/utils/persist"
import { same } from "@/utils/same"
@@ -90,6 +91,7 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
const globalSdk = useGlobalSDK()
const globalSync = useGlobalSync()
const server = useServer()
+ const platform = usePlatform()
const isRecord = (value: unknown): value is Record<string, unknown> =>
typeof value === "object" && value !== null && !Array.isArray(value)
@@ -200,10 +202,10 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
for (const entry of SESSION_STATE_KEYS) {
const target = session ? Persist.session(dir, session, entry.key) : Persist.workspace(dir, entry.key)
- void removePersisted(target)
+ void removePersisted(target, platform)
const legacyKey = `${dir}/${entry.legacy}${session ? "/" + session : ""}.${entry.version}`
- void removePersisted({ key: legacyKey })
+ void removePersisted({ key: legacyKey }, platform)
}
}
}
diff --git a/packages/app/src/context/terminal.tsx b/packages/app/src/context/terminal.tsx
index d00c792e0..144bef284 100644
--- a/packages/app/src/context/terminal.tsx
+++ b/packages/app/src/context/terminal.tsx
@@ -3,6 +3,7 @@ import { createSimpleContext } from "@opencode-ai/ui/context"
import { batch, createEffect, createMemo, createRoot, onCleanup } from "solid-js"
import { useParams } from "@solidjs/router"
import { useSDK } from "./sdk"
+import type { Platform } from "./platform"
import { Persist, persisted, removePersisted } from "@/utils/persist"
export type LocalPTY = {
@@ -37,14 +38,18 @@ type TerminalCacheEntry = {
const caches = new Set<Map<string, TerminalCacheEntry>>()
-export function clearWorkspaceTerminals(dir: string, sessionIDs?: string[]) {
+export function clearWorkspaceTerminals(
+ dir: string,
+ sessionIDs?: string[],
+ platform?: Platform,
+) {
const key = getWorkspaceTerminalCacheKey(dir)
for (const cache of caches) {
const entry = cache.get(key)
entry?.value.clear()
}
- removePersisted(Persist.workspace(dir, "terminal"))
+ removePersisted(Persist.workspace(dir, "terminal"), platform)
const legacy = new Set(getLegacyTerminalStorageKeys(dir))
for (const id of sessionIDs ?? []) {
@@ -53,7 +58,7 @@ export function clearWorkspaceTerminals(dir: string, sessionIDs?: string[]) {
}
}
for (const key of legacy) {
- removePersisted({ key })
+ removePersisted({ key }, platform)
}
}