Skip to content

fix(branding): replace remaining user-facing "Roo" strings with "Zoo"#343

Open
proyectoauraorg wants to merge 2 commits into
Zoo-Code-Org:mainfrom
proyectoauraorg:fix/branding-roo-to-zoo-user-strings
Open

fix(branding): replace remaining user-facing "Roo" strings with "Zoo"#343
proyectoauraorg wants to merge 2 commits into
Zoo-Code-Org:mainfrom
proyectoauraorg:fix/branding-roo-to-zoo-user-strings

Conversation

@proyectoauraorg
Copy link
Copy Markdown
Contributor

@proyectoauraorg proyectoauraorg commented May 27, 2026

What & why

Several user-visible strings still showed the upstream "Roo" brand instead of "Zoo". The most visible one was the missing-tool-parameter retry notice in chat:

Roo tried to use read_file without value for required parameter 'path'. Retrying...

That message was hardcoded in Task.ts (unlike its siblings unknownToolError / invalidJsonArgument, which are already localized to "Zoo"). The editor tab and several other surfaces had the same leftover.

Changes

  • Task.ts — the missing-parameter notice is now localized via new keys tools:missingToolParameter / tools:missingToolParameterWithPath, added and translated across all 18 locales (mirroring the existing unknownToolError pattern).
  • Titles — the editor tab title (createWebviewPanel), the webview <title>, the diff editor label (DIFF_VIEW_LABEL_CHANGES), and the integrated terminal name.
  • Commands/output — the "Cannot find any visible … instances" output-channel line.
  • Notifications — the credit-balance message and the LM Studio context-length error.
  • Router/cloud — the removal/sign-in messages in common.json (18 locales) and the fallback constants in routerRemoval.ts.

Tests updated to assert the new strings.

Intentionally not changed

To avoid breaking internals or rewriting history, these "Roo" occurrences are left as-is:

  • the legacy provider id roo and .roo* config file references;
  • i18n key paths (e.g. errors.roo.*);
  • OpenRouter X-Title attribution headers and MCP/checkpoint client names (sent to external services, not shown in the VS Code UI);
  • the deliberate fork-history announcement that references the original "Roo Code" project;
  • console/debug logs.

Note: the router/cloud group names a feature inherited-and-removed from upstream; if maintainers prefer to keep "Roo Code Router/Cloud" wording there, that group can be dropped without affecting the rest.

Verification

  • node scripts/find-missing-translations.js → ✅ all locales complete
  • tsc --noEmit on the changed files → clean
  • eslint → clean
  • vitest on the affected specs → 131 passing

Summary by CodeRabbit

  • New Features

    • Added internationalized retry/error messages for missing tool parameters across 18 locales.
  • Documentation

    • Updated user-facing branding from "Roo" to "Zoo" (Zoo Code, Zoo Code Cloud, Zoo Code Router) across UI copy and translations.
  • Tests

    • Updated and added tests to reflect the new branding and new missing-parameter message behavior.

Review Change Stack

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.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d982f875-a7dc-45bf-acc8-75697bdb3ec9

📥 Commits

Reviewing files that changed from the base of the PR and between cf8b454 and b91a0c1.

📒 Files selected for processing (1)
  • src/core/task/__tests__/Task.spec.ts

📝 Walkthrough

Walkthrough

Replaces user-facing "Roo" branding with "Zoo" across UI strings, webview titles, diff/terminal labels, router removal messages, LM Studio error text, adds localized missing-parameter messages in 18 locales, and updates tests to match the new strings.

Changes

Branding rename: Roo to Zoo

Layer / File(s) Summary
I18n contract and Task implementation
src/i18n/locales/en/tools.json, src/core/task/Task.ts
Adds missingToolParameter + missingToolParameterWithPath in English and updates Task.sayAndCreateMissingParamError to use i18n lookups with placeholders for toolName, paramName, and relPath.
Locale translations (18 languages)
src/i18n/locales/*/common.json, src/i18n/locales/*/tools.json
Applies Roo→Zoo branding updates in each locale's common.json and adds the new tools.json keys for missing-parameter retry messages across supported languages.
Application UI and error message updates
src/activate/registerCommands.ts, src/core/webview/ClineProvider.ts, src/integrations/editor/DiffViewProvider.ts, src/integrations/terminal/Terminal.ts, src/core/webview/webviewMessageHandler.ts, src/core/config/routerRemoval.ts, src/api/providers/lm-studio.ts
Updates webview titles, HMR/production HTML titles, diff editor label, default terminal name, webview error payloads, router removal messages, and LM Studio thrown error texts to reference "Zoo" instead of "Roo".
Tests aligned to branding
src/activate/__tests__/*, src/core/webview/__tests__/*, src/core/config/__tests__/*, src/integrations/terminal/__tests__/TerminalRegistry.spec.ts, src/core/task/__tests__/Task.spec.ts
Test expectations and mocks updated to expect "Zoo" branding; new tests added to validate Task missing-parameter messaging and i18n usage.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • hannesrudolph
  • taltas
  • JamesRobert20
  • navedmerchant

Poem

🐰 From Roo to Zoo I nibble a line,
Strings hop and localizations shine,
Titles and tests now sing in tune,
Across eighteen tongues beneath the moon,
A tiny rabbit cheers: "Zoo, it's fine!"

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly and concisely summarizes the main change: replacing remaining user-facing Roo branding with Zoo across the codebase.
Description check ✅ Passed The PR description is comprehensive and well-structured, covering what/why, specific changes, intentionally unchanged items, and verification steps.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

src/core/task/__tests__/Task.spec.ts

ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 27, 2026

Codecov Report

❌ Patch coverage is 88.23529% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/activate/registerCommands.ts 50.00% 1 Missing ⚠️
src/core/webview/webviewMessageHandler.ts 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Exercises both relPath branches of the now-localized missing-tool-parameter
error so the changed lines in Task.ts are covered (addresses the codecov
patch-coverage gap on Zoo-Code-Org#343).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant