You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add 'Masquerade as Roo Code' setting (3.53.3)
Adds a checkbox under Settings \u2192 UI that dynamically flips the visible name and runtime-swappable icons back to upstream Roo Code branding. Default remains CRC.
Implementation
- New globalSettingsSchema field masqueradeAsRooCode: boolean (default false)
- Webview + extension-host i18next 'brand' post-processor rewrites \bCRC\b \u2192 'Roo Code' when enabled; TranslationContext emits languageChanged so useTranslation and <Trans> consumers re-render
- UI subcategory gains a SearchableSetting bound to cachedState (not live state) per the SettingsView pattern; SettingsView passes masqueradeAsRooCode and includes it in the updateSettings payload
- Non-i18n hardcoded CRC strings moved to translations (Roo.tsx serviceName, Bedrock discovery description, ImageGenerationSettings dropdown, RooHero alt text); ApiOptions PROVIDERS label transformed via new brand helper
- Logo swap: new src/assets/images/roo-code-logo.svg (upstream mark) used when the flag is on; panel-{light,dark}-roo.svg variants applied to the editor-tab WebviewPanel.iconPath; tab title + HTML <title> pick CRC or Roo Code based on the setting, with live refresh via refreshTabPanelBrandAssets
- Tests: new vitest specs for brand post-processor (webview + host) and an expanded UISettings.spec covering the new checkbox; existing TranslationContext + CloudUpsellDialog mocks updated
Scope limitation
VS Code reads the activity-bar icon/title, marketplace display name, sidebar view name, and command-palette category prefix from src/package.nls.json at activation and cannot swap them at runtime; this is documented in the setting's own description.
Co-Authored-By: Oz <oz-agent@warp.dev>
0 commit comments