summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx2
-rw-r--r--packages/opencode/src/cli/cmd/tui/context/local.tsx15
2 files changed, 13 insertions, 4 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
index bc90dbb5c..50cf43896 100644
--- a/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
@@ -150,7 +150,7 @@ export function DialogModel(props: { providerID?: string }) {
(item) => item.providerID === value.providerID && item.modelID === value.modelID,
)
if (inFavorites) return false
- const inRecents = recents.some(
+ const inRecents = recentList.some(
(item) => item.providerID === value.providerID && item.modelID === value.modelID,
)
if (inRecents) return false
diff --git a/packages/opencode/src/cli/cmd/tui/context/local.tsx b/packages/opencode/src/cli/cmd/tui/context/local.tsx
index cac542d54..4c5dac499 100644
--- a/packages/opencode/src/cli/cmd/tui/context/local.tsx
+++ b/packages/opencode/src/cli/cmd/tui/context/local.tsx
@@ -255,7 +255,10 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
setModelStore("model", agent.current().name, { ...next })
const uniq = uniqueBy([next, ...modelStore.recent], (x) => x.providerID + x.modelID)
if (uniq.length > 10) uniq.pop()
- setModelStore("recent", uniq)
+ setModelStore(
+ "recent",
+ uniq.map((x) => ({ providerID: x.providerID, modelID: x.modelID })),
+ )
save()
},
set(model: { providerID: string; modelID: string }, options?: { recent?: boolean }) {
@@ -272,7 +275,10 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
if (options?.recent) {
const uniq = uniqueBy([model, ...modelStore.recent], (x) => x.providerID + x.modelID)
if (uniq.length > 10) uniq.pop()
- setModelStore("recent", uniq)
+ setModelStore(
+ "recent",
+ uniq.map((x) => ({ providerID: x.providerID, modelID: x.modelID })),
+ )
save()
}
})
@@ -293,7 +299,10 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
const next = exists
? modelStore.favorite.filter((x) => x.providerID !== model.providerID || x.modelID !== model.modelID)
: [model, ...modelStore.favorite]
- setModelStore("favorite", next)
+ setModelStore(
+ "favorite",
+ next.map((x) => ({ providerID: x.providerID, modelID: x.modelID })),
+ )
save()
})
},