Skip to content

Commit 2f7f8bf

Browse files
authored
Fix openrouter model id being set to object when switching plan/act (RooCodeInc#2412)
1 parent dc9fb4d commit 2f7f8bf

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/core/webview/ClineProvider.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ type GlobalStateKey =
103103
| "previousModeApiProvider"
104104
| "previousModeModelId"
105105
| "previousModeThinkingBudgetTokens"
106+
| "previousModeVsCodeLmModelSelector"
106107
| "previousModeModelInfo"
107108
| "liteLlmBaseUrl"
108109
| "liteLlmModelId"
@@ -964,6 +965,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
964965
previousModeApiProvider: newApiProvider,
965966
previousModeModelId: newModelId,
966967
previousModeModelInfo: newModelInfo,
968+
previousModeVsCodeLmModelSelector: newVsCodeLmModelSelector,
967969
previousModeThinkingBudgetTokens: newThinkingBudgetTokens,
968970
planActSeparateModelsSetting,
969971
} = await this.getState()
@@ -991,7 +993,8 @@ export class ClineProvider implements vscode.WebviewViewProvider {
991993
await this.updateGlobalState("previousModeModelInfo", apiConfiguration.openRouterModelInfo)
992994
break
993995
case "vscode-lm":
994-
await this.updateGlobalState("previousModeModelId", apiConfiguration.vsCodeLmModelSelector)
996+
// Important we don't set modelId to this, as it's an object not string (webview expects model id to be a string)
997+
await this.updateGlobalState("previousModeVsCodeLmModelSelector", apiConfiguration.vsCodeLmModelSelector)
995998
break
996999
case "openai":
9971000
await this.updateGlobalState("previousModeModelId", apiConfiguration.openAiModelId)
@@ -1012,7 +1015,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
10121015
}
10131016

10141017
// Restore the model used in previous mode
1015-
if (newApiProvider || newModelId || newThinkingBudgetTokens !== undefined) {
1018+
if (newApiProvider || newModelId || newThinkingBudgetTokens !== undefined || newVsCodeLmModelSelector) {
10161019
await this.updateGlobalState("apiProvider", newApiProvider)
10171020
await this.updateGlobalState("thinkingBudgetTokens", newThinkingBudgetTokens)
10181021
switch (newApiProvider) {
@@ -1032,7 +1035,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
10321035
await this.updateGlobalState("openRouterModelInfo", newModelInfo)
10331036
break
10341037
case "vscode-lm":
1035-
await this.updateGlobalState("vsCodeLmModelSelector", newModelId)
1038+
await this.updateGlobalState("vsCodeLmModelSelector", newVsCodeLmModelSelector)
10361039
break
10371040
case "openai":
10381041
await this.updateGlobalState("openAiModelId", newModelId)
@@ -2133,6 +2136,7 @@ Here is the project's README to help you get started:\n\n${mcpDetails.readmeCont
21332136
previousModeApiProvider,
21342137
previousModeModelId,
21352138
previousModeModelInfo,
2139+
previousModeVsCodeLmModelSelector,
21362140
previousModeThinkingBudgetTokens,
21372141
qwenApiLine,
21382142
liteLlmApiKey,
@@ -2196,6 +2200,7 @@ Here is the project's README to help you get started:\n\n${mcpDetails.readmeCont
21962200
this.getGlobalState("previousModeApiProvider") as Promise<ApiProvider | undefined>,
21972201
this.getGlobalState("previousModeModelId") as Promise<string | undefined>,
21982202
this.getGlobalState("previousModeModelInfo") as Promise<ModelInfo | undefined>,
2203+
this.getGlobalState("previousModeVsCodeLmModelSelector") as Promise<vscode.LanguageModelChatSelector | undefined>,
21992204
this.getGlobalState("previousModeThinkingBudgetTokens") as Promise<number | undefined>,
22002205
this.getGlobalState("qwenApiLine") as Promise<string | undefined>,
22012206
this.getSecret("liteLlmApiKey") as Promise<string | undefined>,
@@ -2309,6 +2314,7 @@ Here is the project's README to help you get started:\n\n${mcpDetails.readmeCont
23092314
previousModeApiProvider,
23102315
previousModeModelId,
23112316
previousModeModelInfo,
2317+
previousModeVsCodeLmModelSelector,
23122318
previousModeThinkingBudgetTokens,
23132319
mcpMarketplaceEnabled,
23142320
telemetrySetting: telemetrySetting || "unset",

0 commit comments

Comments
 (0)