summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context
diff options
context:
space:
mode:
authorDax <[email protected]>2026-04-07 10:12:53 -0400
committerGitHub <[email protected]>2026-04-07 10:12:53 -0400
commit1f94c48bdd7ea69f05574ae90f20436a801c9ca2 (patch)
tree3d710ffba3877c7fa5b7f59376a5a50543d7e0e0 /packages/app/src/context
parent01c5eb679cd0b00cba654b316ef8615d0262c500 (diff)
downloadopencode-1f94c48bdd7ea69f05574ae90f20436a801c9ca2.tar.gz
opencode-1f94c48bdd7ea69f05574ae90f20436a801c9ca2.zip
fix(opencode): keep user message variants scoped to model (#21332)
Diffstat (limited to 'packages/app/src/context')
-rw-r--r--packages/app/src/context/local.tsx6
-rw-r--r--packages/app/src/context/sync.tsx3
2 files changed, 4 insertions, 5 deletions
diff --git a/packages/app/src/context/local.tsx b/packages/app/src/context/local.tsx
index 84a613c0d..1633607de 100644
--- a/packages/app/src/context/local.tsx
+++ b/packages/app/src/context/local.tsx
@@ -11,7 +11,7 @@ import { cycleModelVariant, getConfiguredAgentVariant, resolveModelVariant } fro
import { useSDK } from "./sdk"
import { useSync } from "./sync"
-export type ModelKey = { providerID: string; modelID: string }
+export type ModelKey = { providerID: string; modelID: string; variant?: string }
type State = {
agent?: string
@@ -373,7 +373,7 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
handoff.set(handoffKey(dir, session), next)
setStore("draft", undefined)
},
- restore(msg: { sessionID: string; agent: string; model: ModelKey; variant?: string }) {
+ restore(msg: { sessionID: string; agent: string; model: ModelKey }) {
const session = id()
if (!session) return
if (msg.sessionID !== session) return
@@ -383,7 +383,7 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
setSaved("session", session, {
agent: msg.agent,
model: msg.model,
- variant: msg.variant ?? null,
+ variant: msg.model.variant ?? null,
})
},
},
diff --git a/packages/app/src/context/sync.tsx b/packages/app/src/context/sync.tsx
index bbf4fc5ec..b023e8ddc 100644
--- a/packages/app/src/context/sync.tsx
+++ b/packages/app/src/context/sync.tsx
@@ -416,8 +416,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
role: "user",
time: { created: Date.now() },
agent: input.agent,
- model: input.model,
- variant: input.variant,
+ model: { ...input.model, variant: input.variant },
}
const [, setStore] = target()
setOptimistic(sdk.directory, input.sessionID, { message, parts: input.parts })