Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

Commit 2ee3fd7

Browse files
committed
Scope Roo retired provider message
1 parent 2c9cf35 commit 2ee3fd7

40 files changed

Lines changed: 136 additions & 77 deletions

src/api/index.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,12 @@ export function buildApiHandler(configuration: ProviderSettings): ApiHandler {
112112
const { apiProvider, ...options } = configuration
113113

114114
if (apiProvider && isRetiredProvider(apiProvider)) {
115-
throw new Error(
116-
`As part of our decision to sunset the Roo Code extension, we also ended the Roo Code Router, which only existed to support the extension. Sorry about the hassle.\n\nPlease select a different provider in your API profile settings.`,
117-
)
115+
const retiredProviderMessage =
116+
apiProvider === "roo"
117+
? "As part of our decision to sunset the Roo Code extension, we also ended the Roo Code Router, which only existed to support the extension. Sorry about the hassle."
118+
: "This provider is no longer supported."
119+
120+
throw new Error(`${retiredProviderMessage}\n\nPlease select a different provider in your API profile settings.`)
118121
}
119122

120123
switch (apiProvider) {

webview-ui/src/components/chat/ChatView.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1751,7 +1751,11 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
17511751
<div className="px-[15px] py-1">
17521752
<WarningRow
17531753
title={t("chat:retiredProvider.title")}
1754-
message={t("chat:retiredProvider.message")}
1754+
message={t(
1755+
apiConfiguration?.apiProvider === "roo"
1756+
? "chat:retiredProvider.rooMessage"
1757+
: "chat:retiredProvider.message",
1758+
)}
17551759
actionText={t("chat:retiredProvider.openSettings")}
17561760
onAction={() => vscode.postMessage({ type: "switchTab", tab: "settings" })}
17571761
/>

webview-ui/src/components/settings/ApiOptions.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,11 @@ const ApiOptions = ({
476476
<div
477477
className="rounded-md border border-vscode-panel-border px-3 py-2 text-sm text-vscode-descriptionForeground"
478478
data-testid="retired-provider-message">
479-
{t("settings:providers.retiredProviderMessage")}
479+
{t(
480+
apiConfiguration.apiProvider === "roo"
481+
? "settings:providers.retiredRooProviderMessage"
482+
: "settings:providers.retiredProviderMessage",
483+
)}
480484
</div>
481485
) : (
482486
<>

webview-ui/src/components/settings/__tests__/ApiOptions.spec.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,18 @@ describe("ApiOptions", () => {
582582
expect(screen.queryByTestId("litellm-provider")).not.toBeInTheDocument()
583583
})
584584

585+
it("renders Roo-specific retired provider message for Roo Code Router", () => {
586+
renderApiOptions({
587+
apiConfiguration: {
588+
apiProvider: "roo" as any,
589+
},
590+
})
591+
592+
expect(screen.getByTestId("retired-provider-message")).toHaveTextContent(
593+
"settings:providers.retiredRooProviderMessage",
594+
)
595+
})
596+
585597
it("does not reintroduce retired providers into active provider options", () => {
586598
renderApiOptions({
587599
apiConfiguration: {

webview-ui/src/i18n/locales/ca/chat.json

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webview-ui/src/i18n/locales/ca/settings.json

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webview-ui/src/i18n/locales/de/chat.json

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webview-ui/src/i18n/locales/de/settings.json

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webview-ui/src/i18n/locales/en/chat.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,8 @@
470470
},
471471
"retiredProvider": {
472472
"title": "Provider no longer supported",
473-
"message": "As part of our decision to sunset the Roo Code extension, we also ended the Roo Code Router, which only existed to support the extension. Sorry about the hassle.",
474-
"openSettings": "Open Settings"
473+
"message": "This provider is no longer supported. Please select a different provider in your API profile settings.",
474+
"openSettings": "Open Settings",
475+
"rooMessage": "As part of our decision to sunset the Roo Code extension, we also ended the Roo Code Router, which only existed to support the extension. Sorry about the hassle."
475476
}
476477
}

webview-ui/src/i18n/locales/en/settings.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@
367367
"searchProviderPlaceholder": "Search providers",
368368
"noProviderMatchFound": "No providers found",
369369
"noMatchFound": "No matching profiles found",
370-
"retiredProviderMessage": "As part of our decision to sunset the Roo Code extension, we also ended the Roo Code Router, which only existed to support the extension. Sorry about the hassle.",
370+
"retiredProviderMessage": "This provider is no longer supported. Please select a different provider in your API profile settings.",
371371
"vscodeLmDescription": " The VS Code Language Model API allows you to run models provided by other VS Code extensions (including but not limited to GitHub Copilot). The easiest way to get started is to install the Copilot and Copilot Chat extensions from the VS Code Marketplace.",
372372
"awsCustomArnUse": "Enter a valid Amazon Bedrock ARN for the model you want to use. Format examples:",
373373
"awsCustomArnDesc": "Make sure the region in the ARN matches your selected AWS Region above.",
@@ -611,7 +611,8 @@
611611
"placeholder": "Default: claude",
612612
"maxTokensLabel": "Max Output Tokens",
613613
"maxTokensDescription": "Maximum number of output tokens for Claude Code responses. Default is 8000."
614-
}
614+
},
615+
"retiredRooProviderMessage": "As part of our decision to sunset the Roo Code extension, we also ended the Roo Code Router, which only existed to support the extension. Sorry about the hassle."
615616
},
616617
"checkpoints": {
617618
"timeout": {

0 commit comments

Comments
 (0)