Skip to content

Commit cf8b454

Browse files
fix(branding): replace remaining user-facing "Roo" strings with "Zoo"
Several user-visible strings still showed the upstream "Roo" brand instead of "Zoo": - the missing-tool-parameter retry notice (was hardcoded in Task.ts; now localized via tools:missingToolParameter / missingToolParameterWithPath across all 18 locales, matching the existing unknownToolError pattern) - the editor tab title and the webview <title> - the diff editor label and the integrated terminal name - the "no visible instances" output-channel line - the credit-balance and LM Studio context-length error notices - the router/cloud removal messages (common.json + routerRemoval.ts) Internal identifiers are intentionally left unchanged: the legacy provider id "roo", .roo* config file references, i18n key paths, OpenRouter X-Title attribution headers, MCP/checkpoint client names, and console logs.
1 parent e27a42b commit cf8b454

52 files changed

Lines changed: 126 additions & 81 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"zoo-code": patch
3+
---
4+
5+
Replace remaining user-facing "Roo" brand strings with "Zoo": the missing-tool-parameter retry notice (now localized across all 18 locales), the editor tab and webview `<title>`, the diff editor label, the terminal name, the "no visible instances" output, the credit-balance and LM Studio context-length notices, and the router/cloud removal messages. Internal identifiers (provider id `roo`, `.roo*` config files, i18n key paths, attribution headers, console logs) are intentionally left unchanged.

src/activate/__tests__/handleUri.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ describe("handleUri", () => {
5050
expect(mockVisibleProvider.handleOpenRouterCallback).not.toHaveBeenCalled()
5151
expect(mockVisibleProvider.handleRequestyCallback).not.toHaveBeenCalled()
5252
expect(vscode.window.showInformationMessage).toHaveBeenCalledWith(
53-
"Roo Code Cloud sign-in is currently unavailable. Configure another provider to continue.",
53+
"Zoo Code Cloud sign-in is currently unavailable. Configure another provider to continue.",
5454
)
5555
})
5656

src/activate/__tests__/registerCommands.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ describe("getVisibleProviderOrLog", () => {
114114
const result = getVisibleProviderOrLog(mockOutputChannel)
115115

116116
expect(result).toBeUndefined()
117-
expect(mockOutputChannel.appendLine).toHaveBeenCalledWith("Cannot find any visible Roo Code instances.")
117+
expect(mockOutputChannel.appendLine).toHaveBeenCalledWith("Cannot find any visible Zoo Code instances.")
118118
})
119119
})
120120

src/activate/registerCommands.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { t } from "../i18n"
2121
export function getVisibleProviderOrLog(outputChannel: vscode.OutputChannel): ClineProvider | undefined {
2222
const visibleProvider = ClineProvider.getVisibleInstance()
2323
if (!visibleProvider) {
24-
outputChannel.appendLine("Cannot find any visible Roo Code instances.")
24+
outputChannel.appendLine("Cannot find any visible Zoo Code instances.")
2525
return undefined
2626
}
2727
return visibleProvider
@@ -232,7 +232,7 @@ export const openClineInNewTab = async ({ context, outputChannel }: Omit<Registe
232232

233233
const targetCol = hasVisibleEditors ? Math.max(lastCol + 1, 1) : vscode.ViewColumn.Two
234234

235-
const newPanel = vscode.window.createWebviewPanel(ClineProvider.tabPanelId, "Roo Code", targetCol, {
235+
const newPanel = vscode.window.createWebviewPanel(ClineProvider.tabPanelId, "Zoo Code", targetCol, {
236236
enableScripts: true,
237237
retainContextWhenHidden: true,
238238
localResourceRoots: [context.extensionUri],

src/api/providers/lm-studio.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ export class LmStudioHandler extends BaseProvider implements SingleCompletionHan
165165
} as const
166166
} catch (error) {
167167
throw new Error(
168-
"Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Roo Code's prompts.",
168+
"Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Zoo Code's prompts.",
169169
)
170170
}
171171
}
@@ -209,7 +209,7 @@ export class LmStudioHandler extends BaseProvider implements SingleCompletionHan
209209
return response.choices[0]?.message.content || ""
210210
} catch (error) {
211211
throw new Error(
212-
"Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Roo Code's prompts.",
212+
"Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Zoo Code's prompts.",
213213
)
214214
}
215215
}

src/core/config/__tests__/importExport.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -930,7 +930,7 @@ describe("importExport", () => {
930930
})
931931

932932
expect(result.success).toBe(true)
933-
expect((result as { warnings?: string[] }).warnings?.[0]).toContain("Roo Code Router was removed")
933+
expect((result as { warnings?: string[] }).warnings?.[0]).toContain("Zoo Code Router was removed")
934934

935935
const importedProfiles = mockProviderSettingsManager.import.mock.calls[0][0]
936936
expect(importedProfiles.currentApiConfigName).toBe("router-profile")

src/core/config/routerRemoval.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ export const LEGACY_ROO_PROVIDER = "roo"
44

55
const ROUTER_REMOVAL_I18N_KEY = "common:errors.roo.routerRemoved"
66
const ROUTER_REMOVAL_DEFAULT_MESSAGE =
7-
"Roo Code Router has been removed. Please select and configure a different provider."
7+
"Zoo Code Router has been removed. Please select and configure a different provider."
88

99
const ROUTER_SIGN_IN_UNAVAILABLE_I18N_KEY = "common:info.roo.signInUnavailable"
1010
const ROUTER_SIGN_IN_UNAVAILABLE_DEFAULT_MESSAGE =
11-
"Roo Code Cloud sign-in is currently unavailable. Configure another provider to continue."
11+
"Zoo Code Cloud sign-in is currently unavailable. Configure another provider to continue."
1212

1313
function getLocalizedMessage(key: string, defaultValue: string) {
1414
const translated = t(key, { defaultValue })
@@ -22,7 +22,7 @@ export const getRouterUnavailableSignInMessage = () =>
2222
getLocalizedMessage(ROUTER_SIGN_IN_UNAVAILABLE_I18N_KEY, ROUTER_SIGN_IN_UNAVAILABLE_DEFAULT_MESSAGE)
2323

2424
export const ROUTER_REMOVAL_IMPORT_WARNING =
25-
"Roo Code Router was removed. The imported profile was downgraded and needs to be reconfigured."
25+
"Zoo Code Router was removed. The imported profile was downgraded and needs to be reconfigured."
2626

2727
type LegacyRooConfig = Record<string, unknown> & {
2828
apiProvider: typeof LEGACY_ROO_PROVIDER

src/core/task/Task.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1723,9 +1723,13 @@ export class Task extends EventEmitter<TaskEvents> implements TaskLike {
17231723
async sayAndCreateMissingParamError(toolName: ToolName, paramName: string, relPath?: string) {
17241724
await this.say(
17251725
"error",
1726-
`Roo tried to use ${toolName}${
1727-
relPath ? ` for '${relPath.toPosix()}'` : ""
1728-
} without value for required parameter '${paramName}'. Retrying...`,
1726+
relPath
1727+
? t("tools:missingToolParameterWithPath", {
1728+
toolName,
1729+
relPath: relPath.toPosix(),
1730+
paramName,
1731+
})
1732+
: t("tools:missingToolParameter", { toolName, paramName }),
17291733
)
17301734
return formatResponse.toolError(formatResponse.missingToolParameterError(paramName))
17311735
}

src/core/webview/ClineProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,7 +1177,7 @@ export class ClineProvider
11771177
window.AUDIO_BASE_URI = "${audioUri}"
11781178
window.MATERIAL_ICONS_BASE_URI = "${materialIconsUri}"
11791179
</script>
1180-
<title>Roo Code</title>
1180+
<title>Zoo Code</title>
11811181
</head>
11821182
<body>
11831183
<div id="root"></div>
@@ -1256,7 +1256,7 @@ export class ClineProvider
12561256
window.AUDIO_BASE_URI = "${audioUri}"
12571257
window.MATERIAL_ICONS_BASE_URI = "${materialIconsUri}"
12581258
</script>
1259-
<title>Roo Code</title>
1259+
<title>Zoo Code</title>
12601260
</head>
12611261
<body>
12621262
<noscript>You need to enable JavaScript to run this app.</noscript>

src/core/webview/__tests__/webviewMessageHandler.cloudAuth.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ describe("webviewMessageHandler cloud auth fallbacks", () => {
5858

5959
expect(CloudService.instance.login).not.toHaveBeenCalled()
6060
expect(vscode.window.showInformationMessage).toHaveBeenCalledWith(
61-
"Roo Code Cloud sign-in is currently unavailable. Configure another provider to continue.",
61+
"Zoo Code Cloud sign-in is currently unavailable. Configure another provider to continue.",
6262
)
6363
})
6464

@@ -72,7 +72,7 @@ describe("webviewMessageHandler cloud auth fallbacks", () => {
7272

7373
expect(CloudService.instance.handleAuthCallback).not.toHaveBeenCalled()
7474
expect(vscode.window.showInformationMessage).toHaveBeenCalledWith(
75-
"Roo Code Cloud sign-in is currently unavailable. Configure another provider to continue.",
75+
"Zoo Code Cloud sign-in is currently unavailable. Configure another provider to continue.",
7676
)
7777
})
7878
})

0 commit comments

Comments
 (0)