Skip to content

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

Merged
edelauna merged 5 commits into
Zoo-Code-Org:mainfrom
rrewll:fix/rename-roo-to-zoo-user-strings
Jul 29, 2026
Merged

fix(branding): replace remaining user-facing "Roo" strings with "Zoo"#971
edelauna merged 5 commits into
Zoo-Code-Org:mainfrom
rrewll:fix/rename-roo-to-zoo-user-strings

Conversation

@rrewll

@rrewll rrewll commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Related GitHub Issue

Closes: #551

Description

Replace user-facing product references from "Roo" to "Zoo":

  • Webview panel and editor tab titles
  • Integrated terminal names
  • Diff view labels
  • VS Code LM authorization justification
  • LM Studio context-length error messages
  • Output channel "no visible instances" message
  • Missing-parameter tool error (now i18n-keyed via tools:missingToolParameter[WithPath] across all 16 locales)
  • Webview-ui localization strings (chat, settings, prompts across all locales)

Add test coverage for sayAndCreateMissingParamError to ensure the localized error messages correctly interpolate tool names and parameter names, preventing silent i18n regressions. Also add test coverage for openClineInNewTab to ensure the new editor tab title names as "Zoo Code" instead of "Roo Code".

Per review feedback, references to the external Roo provider/router remain untouched: the routerRemoval messages, errors.roo/info.roo i18n keys, Roo credit-balance notices, and other internal identifiers that reference the legacy Roo provider rather than our brand.

Test Procedure

  • pnpm test - 414 test files and 6794 tests passed
  • pnpm lint - all checks are successful
  • pnpm check-types - all checks are successful
  • node scripts/find-missing-translations.js - all translations are complete across all checked areas

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I have performed a thorough self-review of my code.
  • Testing: New and/or updated tests have been added to cover my changes (if applicable).
  • Documentation Impact: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Documentation Updates

No documentation updates are required

Additional Notes

This PR is the continuation of #343. Unfortunately, I couldn't get hold of the author of this PR, so this is the "fork" of the PR above.

Summary by CodeRabbit

  • New Features

    • Added localized retry messaging when a required tool parameter is missing, including a relative-path variant across supported languages.
  • Bug Fixes

    • Updated user-facing webview and provider branding to consistently use “Zoo Code” (including titles and error/debug messaging).
  • Tests

    • Expanded coverage for new-tab webview creation, missing-parameter notices, and improved validation of localized placeholders and branded error handling.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

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: 577507da-21e7-49cd-af7c-4049380bf120

📥 Commits

Reviewing files that changed from the base of the PR and between 99dc743 and 1f15d5f.

📒 Files selected for processing (5)
  • src/api/providers/__tests__/vscode-lm.spec.ts
  • src/api/providers/vscode-lm.ts
  • src/api/transform/__tests__/vscode-lm-format.spec.ts
  • src/api/transform/vscode-lm-format.ts
  • src/eslint-suppressions.json
💤 Files with no reviewable changes (1)
  • src/eslint-suppressions.json
🚧 Files skipped from review as they are similar to previous changes (4)
  • src/api/transform/vscode-lm-format.ts
  • src/api/providers/tests/vscode-lm.spec.ts
  • src/api/providers/vscode-lm.ts
  • src/api/transform/tests/vscode-lm-format.spec.ts

📝 Walkthrough

Walkthrough

The changes replace remaining Roo branding with Zoo across runtime messages and webview locales, add localized missing-tool-parameter retry messages in supported languages, strengthen VS Code language-model typing and coverage, and add tests for tab-panel creation and task error-message branches.

Changes

Branding and localization updates

Layer / File(s) Summary
Runtime branding and provider coverage tests
src/activate/..., src/api/providers/..., src/api/transform/..., src/core/webview/...
Runtime panel titles, webview HTML titles, provider diagnostics, transformation logs, and related tests now use Zoo branding with stricter mock typing.
Localized missing-parameter errors
src/core/task/..., src/i18n/locales/*/tools.json, src/i18n/__tests__/*
Missing required tool parameters use generic or path-aware translation keys, with localized entries and placeholder coverage across locales.
Webview UI branding
webview-ui/src/i18n/locales/*/{chat,prompts,settings}.json
User-facing chat, prompt, and settings translations replace Roo references with Zoo across supported locales.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Suggested labels: awaiting-review

Suggested reviewers: navedmerchant

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning It updates many branding strings, but not several linked-issue items like MCP OAuth, routerRemoval, and other residual user-visible Roo Code references. Add the remaining user-visible branding updates from #551, especially MCP OAuth, routerRemoval, common.json, and other leftover Roo Code strings.
Out of Scope Changes check ⚠️ Warning The cleanMessageContent refactor and ESLint suppression cleanup are unrelated to the branding fix and fall outside the issue scope. Revert or split unrelated refactors and suppression changes into a separate PR focused on branding only.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main Roo-to-Zoo branding change.
Description check ✅ Passed It includes the linked issue, change summary, test steps, checklist, and notes; only optional sections are left mostly blank.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.71429% with 7 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/api/providers/vscode-lm.ts 84.44% 7 Missing ⚠️

📢 Thoughts on this report? Let us know!

@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch 2 times, most recently from 59622cd to fb30376 Compare July 21, 2026 13:26
@rrewll
rrewll marked this pull request as ready for review July 21, 2026 13:47
@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch from fb30376 to 1d47890 Compare July 21, 2026 13:51

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.changeset/branding-roo-to-zoo-user-strings.md (1)

1-8: 📐 Maintainability & Code Quality | 🔴 Critical | ⚡ Quick win

Remove the changeset file.

As per path instructions, do NOT create .changeset files for each commit or code change. Changesets are managed separately by maintainers and should not be generated by agents during normal development.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.changeset/branding-roo-to-zoo-user-strings.md around lines 1 - 8, Remove
the changeset file described by the diff; do not add or modify any other
changeset files.

Source: Path instructions

🧹 Nitpick comments (1)
src/core/task/__tests__/Task.spec.ts (1)

442-450: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Assert that relPath is present in the output.

The test validates that toolName and paramName make it through the i18n interpolation, but it misses asserting that the relPath (src/foo.ts) is also properly injected in the withPathNotice. Asserting this will prevent future regressions in the interpolation logic.

♻️ Proposed refactor
 			const [withoutPathChannel, withoutPathNotice] = saySpy.mock.calls[1]
 			expect(withPathChannel).toBe("error")
 			expect(withoutPathChannel).toBe("error")
 			expect(withPathNotice).toEqual(expect.stringContaining("read_file"))
 			expect(withPathNotice).toEqual(expect.stringContaining("path"))
+			expect(withPathNotice).toEqual(expect.stringContaining("src/foo.ts"))
 			expect(withoutPathNotice).toEqual(expect.stringContaining("execute_command"))
 			expect(withoutPathNotice).toEqual(expect.stringContaining("command"))
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/core/task/__tests__/Task.spec.ts` around lines 442 - 450, Update the test
assertions for withPathNotice in the saySpy call checks to also require the
expected relPath value, “src/foo.ts”, while preserving the existing toolName and
paramName assertions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/api/providers/vscode-lm.ts`:
- Line 398: Complete the branding migration in the VS Code LM provider by
replacing remaining user-facing “Roo Code <Language Model API>” references in
the handler’s errors and diagnostics with the consistent “Zoo Code” branding.
Update the messages near the authorization justification and the referenced
error/diagnostic paths while preserving their existing behavior and details.

In `@webview-ui/src/i18n/locales/ko/settings.json`:
- Line 801: Update the Korean settings description string at the terminal
description entry to remove the corrupted replacement characters and restore the
intended Korean text, preserving the existing meaning, formatting, and embedded
<0>자세히 알아보기</0> link.

---

Outside diff comments:
In @.changeset/branding-roo-to-zoo-user-strings.md:
- Around line 1-8: Remove the changeset file described by the diff; do not add
or modify any other changeset files.

---

Nitpick comments:
In `@src/core/task/__tests__/Task.spec.ts`:
- Around line 442-450: Update the test assertions for withPathNotice in the
saySpy call checks to also require the expected relPath value, “src/foo.ts”,
while preserving the existing toolName and paramName assertions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b657f42e-2d6a-4ce7-b26a-0a6a4981f609

📥 Commits

Reviewing files that changed from the base of the PR and between f2bdcb6 and fb30376.

📒 Files selected for processing (63)
  • .changeset/branding-roo-to-zoo-user-strings.md
  • src/activate/__tests__/registerCommands.spec.ts
  • src/activate/registerCommands.ts
  • src/api/providers/lm-studio.ts
  • src/api/providers/vscode-lm.ts
  • src/core/task/Task.ts
  • src/core/task/__tests__/Task.spec.ts
  • src/core/webview/ClineProvider.ts
  • src/i18n/locales/ca/tools.json
  • src/i18n/locales/de/tools.json
  • src/i18n/locales/en/tools.json
  • src/i18n/locales/es/tools.json
  • src/i18n/locales/fr/tools.json
  • src/i18n/locales/hi/tools.json
  • src/i18n/locales/id/tools.json
  • src/i18n/locales/it/tools.json
  • src/i18n/locales/ja/tools.json
  • src/i18n/locales/ko/tools.json
  • src/i18n/locales/nl/tools.json
  • src/i18n/locales/pl/tools.json
  • src/i18n/locales/pt-BR/tools.json
  • src/i18n/locales/ru/tools.json
  • src/i18n/locales/tr/tools.json
  • src/i18n/locales/vi/tools.json
  • src/i18n/locales/zh-CN/tools.json
  • src/i18n/locales/zh-TW/tools.json
  • webview-ui/src/i18n/locales/ca/chat.json
  • webview-ui/src/i18n/locales/ca/settings.json
  • webview-ui/src/i18n/locales/de/chat.json
  • webview-ui/src/i18n/locales/de/prompts.json
  • webview-ui/src/i18n/locales/de/settings.json
  • webview-ui/src/i18n/locales/es/chat.json
  • webview-ui/src/i18n/locales/es/settings.json
  • webview-ui/src/i18n/locales/fr/chat.json
  • webview-ui/src/i18n/locales/fr/settings.json
  • webview-ui/src/i18n/locales/hi/chat.json
  • webview-ui/src/i18n/locales/hi/settings.json
  • webview-ui/src/i18n/locales/id/chat.json
  • webview-ui/src/i18n/locales/id/settings.json
  • webview-ui/src/i18n/locales/it/chat.json
  • webview-ui/src/i18n/locales/it/settings.json
  • webview-ui/src/i18n/locales/ja/chat.json
  • webview-ui/src/i18n/locales/ja/prompts.json
  • webview-ui/src/i18n/locales/ja/settings.json
  • webview-ui/src/i18n/locales/ko/chat.json
  • webview-ui/src/i18n/locales/ko/prompts.json
  • webview-ui/src/i18n/locales/ko/settings.json
  • webview-ui/src/i18n/locales/nl/chat.json
  • webview-ui/src/i18n/locales/nl/settings.json
  • webview-ui/src/i18n/locales/pl/chat.json
  • webview-ui/src/i18n/locales/pl/settings.json
  • webview-ui/src/i18n/locales/pt-BR/chat.json
  • webview-ui/src/i18n/locales/pt-BR/settings.json
  • webview-ui/src/i18n/locales/ru/chat.json
  • webview-ui/src/i18n/locales/ru/settings.json
  • webview-ui/src/i18n/locales/tr/chat.json
  • webview-ui/src/i18n/locales/tr/settings.json
  • webview-ui/src/i18n/locales/vi/chat.json
  • webview-ui/src/i18n/locales/vi/settings.json
  • webview-ui/src/i18n/locales/zh-CN/chat.json
  • webview-ui/src/i18n/locales/zh-CN/prompts.json
  • webview-ui/src/i18n/locales/zh-CN/settings.json
  • webview-ui/src/i18n/locales/zh-TW/chat.json

Comment thread src/api/providers/vscode-lm.ts
Comment thread webview-ui/src/i18n/locales/ko/settings.json Outdated
@navedmerchant

Copy link
Copy Markdown
Contributor

Thanks for this, can you please fix the CodeRabbit comment?

@rrewll

rrewll commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for this, can you please fix the CodeRabbit comment?

Ok, one short question: should I fix all non user-facing "Roo" mentions in this PR like console.warn or errors in the whole project or in @src/api/providers/vscode-lm.ts only?

Ok, I have fixed it

@github-actions github-actions Bot added the awaiting-review PR changes are ready and waiting for maintainer re-review label Jul 21, 2026
@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch from 9a00a58 to 1437130 Compare July 22, 2026 16:22

@edelauna edelauna left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this detailed refactor. Had 1 test nit, but otherwise looks good.

Comment thread src/core/task/__tests__/Task.spec.ts Outdated
@github-actions github-actions Bot added awaiting-author PR is waiting for the author to address requested changes and removed awaiting-review PR changes are ready and waiting for maintainer re-review labels Jul 23, 2026
zoomote Bot pushed a commit to rrewll/Zoo-Code that referenced this pull request Jul 24, 2026
rrewll pushed a commit to rrewll/Zoo-Code that referenced this pull request Jul 25, 2026
@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch from b579dc6 to d72959d Compare July 25, 2026 03:14
rrewll pushed a commit to rrewll/Zoo-Code that referenced this pull request Jul 25, 2026
@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch from d72959d to 555b572 Compare July 25, 2026 03:51
@github-actions github-actions Bot removed the awaiting-author PR is waiting for the author to address requested changes label Jul 26, 2026
@rrewll
rrewll marked this pull request as draft July 26, 2026 07:55
rrewll pushed a commit to rrewll/Zoo-Code that referenced this pull request Jul 26, 2026
@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch 2 times, most recently from 4f123a6 to b4bce67 Compare July 27, 2026 18:36
rrewll and others added 3 commits July 27, 2026 22:43
Replace user-facing product references from "Roo" to "Zoo":
- Webview panel and editor tab titles
- Integrated terminal names
- Diff view labels
- VS Code LM authorization justification
- LM Studio error messages
- Missing-parameter tool error (now i18n-keyed via tools:missingToolParameter[WithPath] across all 16 locales)
- Webview-ui localization strings (chat, settings, prompts across all locales)

Per review feedback, references to the external Roo provider/router remain
untouched: the routerRemoval messages, errors.roo/info.roo i18n keys, Roo
credit-balance notices, and other internal identifiers that reference the
legacy Roo provider rather than our brand.
@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch from b4bce67 to 712c22d Compare July 27, 2026 18:43
@rrewll
rrewll force-pushed the fix/rename-roo-to-zoo-user-strings branch from 712c22d to b8d31f4 Compare July 27, 2026 18:49
@rrewll
rrewll marked this pull request as ready for review July 27, 2026 18:54
@github-actions github-actions Bot added the awaiting-author PR is waiting for the author to address requested changes label Jul 27, 2026
@rrewll

rrewll commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

I fixed @edelauna comment and some codecov issues to pass all PR checks.
(A lot of tests were added after fixing this CodeRabbit's comment and renaming Zoo -> Roo in console and new Error() calls. How about we revert this change and implement it in the next iteration of renaming non-user-facing strings, variables, etc.?)

@edelauna
edelauna force-pushed the fix/rename-roo-to-zoo-user-strings branch from 99dc743 to 1f15d5f Compare July 29, 2026 00:38

@edelauna edelauna left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this - it's a major overhaul.

I updated some of the eslint errors to reduce the metric a bit.

@edelauna
edelauna enabled auto-merge July 29, 2026 00:43
@edelauna
edelauna added this pull request to the merge queue Jul 29, 2026
Merged via the queue into Zoo-Code-Org:main with commit ded7575 Jul 29, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-author PR is waiting for the author to address requested changes

Projects

None yet

4 participants