summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-03-17 19:47:06 +0800
committerBrendan Allan <[email protected]>2026-03-17 19:47:06 +0800
commit0afeaea21fdd85716f843b7688e0fdab712e52bb (patch)
tree1168438d33dd1cb55be8102aec7bdbe5595ac472
parentb07b5a9b7fa772971479100f70fd8316c9f320be (diff)
downloadopencode-0afeaea21fdd85716f843b7688e0fdab712e52bb.tar.gz
opencode-0afeaea21fdd85716f843b7688e0fdab712e52bb.zip
app: inherit owner when creating prompt session
-rw-r--r--packages/app/src/context/prompt.tsx18
1 files changed, 11 insertions, 7 deletions
diff --git a/packages/app/src/context/prompt.tsx b/packages/app/src/context/prompt.tsx
index 4aeb05e61..831fdbca8 100644
--- a/packages/app/src/context/prompt.tsx
+++ b/packages/app/src/context/prompt.tsx
@@ -1,10 +1,10 @@
-import { createStore, type SetStoreFunction } from "solid-js/store"
import { createSimpleContext } from "@opencode-ai/ui/context"
-import { batch, createMemo, createRoot, onCleanup } from "solid-js"
+import { checksum } from "@opencode-ai/util/encode"
import { useParams } from "@solidjs/router"
+import { batch, createMemo, createRoot, getOwner, onCleanup } from "solid-js"
+import { createStore, type SetStoreFunction } from "solid-js/store"
import type { FileSelection } from "@/context/file"
import { Persist, persisted } from "@/utils/persist"
-import { checksum } from "@opencode-ai/util/encode"
interface PartBase {
content: string
@@ -250,6 +250,7 @@ export const { use: usePrompt, provider: PromptProvider } = createSimpleContext(
}
}
+ const owner = getOwner()
const load = (dir: string, id: string | undefined) => {
const key = `${dir}:${id ?? WORKSPACE_KEY}`
const existing = cache.get(key)
@@ -259,10 +260,13 @@ export const { use: usePrompt, provider: PromptProvider } = createSimpleContext(
return existing.value
}
- const entry = createRoot((dispose) => ({
- value: createPromptSession(dir, id),
- dispose,
- }))
+ const entry = createRoot(
+ (dispose) => ({
+ value: createPromptSession(dir, id),
+ dispose,
+ }),
+ owner,
+ )
cache.set(key, entry)
prune()