From 0663214b4fb29cc88a6b754c3bdf29a1f0a580d7 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 30 Aug 2025 20:56:58 +0000 Subject: [PATCH 1/5] feat: rename Account tab to Cloud tab - Renamed AccountView component to CloudView - Updated all imports and references from AccountView to CloudView - Changed tab type from 'account' to 'cloud' - Updated command from accountButtonClicked to cloudButtonClicked - Updated icon from to - Updated translation keys from account:* to cloud:* - Renamed all locale files from account.json to cloud.json - Updated package.nls.json command title from 'Account' to 'Cloud' - Updated all test files to use new component names - Kept telemetry event names as ACCOUNT_* for continuity --- src/activate/registerCommands.ts | 4 +-- src/core/webview/ClineProvider.ts | 2 +- src/core/webview/webviewMessageHandler.ts | 6 ++-- src/package.json | 10 +++--- src/package.nls.json | 2 +- src/shared/ExtensionMessage.ts | 2 +- src/shared/WebviewMessage.ts | 2 +- webview-ui/src/App.tsx | 12 +++---- webview-ui/src/__tests__/App.spec.tsx | 8 ++--- .../src/components/chat/ShareButton.tsx | 6 ++-- .../chat/__tests__/TaskActions.spec.tsx | 12 +++---- .../AccountView.tsx => cloud/CloudView.tsx} | 32 ++++++++--------- .../__tests__/CloudView.spec.tsx} | 36 +++++++++---------- .../locales/ca/{account.json => cloud.json} | 0 .../locales/de/{account.json => cloud.json} | 0 .../locales/en/{account.json => cloud.json} | 2 +- .../locales/es/{account.json => cloud.json} | 0 .../locales/fr/{account.json => cloud.json} | 0 .../locales/hi/{account.json => cloud.json} | 0 .../locales/id/{account.json => cloud.json} | 0 .../locales/it/{account.json => cloud.json} | 0 .../locales/ja/{account.json => cloud.json} | 0 .../locales/ko/{account.json => cloud.json} | 0 .../locales/nl/{account.json => cloud.json} | 0 .../locales/pl/{account.json => cloud.json} | 0 .../pt-BR/{account.json => cloud.json} | 0 .../locales/ru/{account.json => cloud.json} | 0 .../locales/tr/{account.json => cloud.json} | 0 .../locales/vi/{account.json => cloud.json} | 0 .../zh-CN/{account.json => cloud.json} | 0 .../zh-TW/{account.json => cloud.json} | 0 31 files changed, 68 insertions(+), 68 deletions(-) rename webview-ui/src/components/{account/AccountView.tsx => cloud/CloudView.tsx} (89%) rename webview-ui/src/components/{account/__tests__/AccountView.spec.tsx => cloud/__tests__/CloudView.spec.tsx} (83%) rename webview-ui/src/i18n/locales/ca/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/de/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/en/{account.json => cloud.json} (97%) rename webview-ui/src/i18n/locales/es/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/fr/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/hi/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/id/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/it/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/ja/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/ko/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/nl/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/pl/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/pt-BR/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/ru/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/tr/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/vi/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/zh-CN/{account.json => cloud.json} (100%) rename webview-ui/src/i18n/locales/zh-TW/{account.json => cloud.json} (100%) diff --git a/src/activate/registerCommands.ts b/src/activate/registerCommands.ts index 0534f24782..cac3fe6791 100644 --- a/src/activate/registerCommands.ts +++ b/src/activate/registerCommands.ts @@ -74,7 +74,7 @@ export const registerCommands = (options: RegisterCommandOptions) => { const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOptions): Record => ({ activationCompleted: () => {}, - accountButtonClicked: () => { + cloudButtonClicked: () => { const visibleProvider = getVisibleProviderOrLog(outputChannel) if (!visibleProvider) { @@ -83,7 +83,7 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt TelemetryService.instance.captureTitleButtonClicked("account") - visibleProvider.postMessageToWebview({ type: "action", action: "accountButtonClicked" }) + visibleProvider.postMessageToWebview({ type: "action", action: "cloudButtonClicked" }) }, plusButtonClicked: async () => { const visibleProvider = getVisibleProviderOrLog(outputChannel) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index bec060ba98..a8d64d6600 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -1395,7 +1395,7 @@ export class ClineProvider // Check MDM compliance and send user to account tab if not compliant // Only redirect if there's an actual MDM policy requiring authentication if (this.mdmService?.requiresCloudAuth() && !this.checkMdmCompliance()) { - await this.postMessageToWebview({ type: "action", action: "accountButtonClicked" }) + await this.postMessageToWebview({ type: "action", action: "cloudButtonClicked" }) } } diff --git a/src/core/webview/webviewMessageHandler.ts b/src/core/webview/webviewMessageHandler.ts index 217363c9ab..ff16e64094 100644 --- a/src/core/webview/webviewMessageHandler.ts +++ b/src/core/webview/webviewMessageHandler.ts @@ -2028,9 +2028,9 @@ export const webviewMessageHandler = async ( await provider.postStateToWebview() break } - case "accountButtonClicked": { - // Navigate to the account tab. - provider.postMessageToWebview({ type: "action", action: "accountButtonClicked" }) + case "cloudButtonClicked": { + // Navigate to the cloud tab. + provider.postMessageToWebview({ type: "action", action: "cloudButtonClicked" }) break } case "rooCloudSignIn": { diff --git a/src/package.json b/src/package.json index e1d9ab1f98..0739bb1270 100644 --- a/src/package.json +++ b/src/package.json @@ -101,9 +101,9 @@ "icon": "$(link-external)" }, { - "command": "roo-cline.accountButtonClicked", - "title": "%command.account.title%", - "icon": "$(account)" + "command": "roo-cline.cloudButtonClicked", + "title": "%command.cloud.title%", + "icon": "$(cloud)" }, { "command": "roo-cline.settingsButtonClicked", @@ -234,7 +234,7 @@ "when": "view == roo-cline.SidebarProvider" }, { - "command": "roo-cline.accountButtonClicked", + "command": "roo-cline.cloudButtonClicked", "group": "navigation@4", "when": "view == roo-cline.SidebarProvider" }, @@ -276,7 +276,7 @@ "when": "activeWebviewPanelId == roo-cline.TabPanelProvider" }, { - "command": "roo-cline.accountButtonClicked", + "command": "roo-cline.cloudButtonClicked", "group": "navigation@4", "when": "activeWebviewPanelId == roo-cline.TabPanelProvider" }, diff --git a/src/package.nls.json b/src/package.nls.json index a18887218a..c1805009c3 100644 --- a/src/package.nls.json +++ b/src/package.nls.json @@ -11,7 +11,7 @@ "command.history.title": "History", "command.marketplace.title": "Marketplace", "command.openInEditor.title": "Open in Editor", - "command.account.title": "Account", + "command.cloud.title": "Cloud", "command.settings.title": "Settings", "command.documentation.title": "Documentation", "command.openInNewTab.title": "Open In New Tab", diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index 63a7260498..d0173d106d 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -131,7 +131,7 @@ export interface ExtensionMessage { | "historyButtonClicked" | "promptsButtonClicked" | "marketplaceButtonClicked" - | "accountButtonClicked" + | "cloudButtonClicked" | "didBecomeVisible" | "focusInput" | "switchTab" diff --git a/src/shared/WebviewMessage.ts b/src/shared/WebviewMessage.ts index 12e4dbb0f4..b22b66e9ac 100644 --- a/src/shared/WebviewMessage.ts +++ b/src/shared/WebviewMessage.ts @@ -174,7 +174,7 @@ export interface WebviewMessage { | "toggleApiConfigPin" | "setHistoryPreviewCollapsed" | "hasOpenedModeSelector" - | "accountButtonClicked" + | "cloudButtonClicked" | "rooCloudSignIn" | "rooCloudSignOut" | "condenseTaskContextRequest" diff --git a/webview-ui/src/App.tsx b/webview-ui/src/App.tsx index f24e4556a1..34951e9192 100644 --- a/webview-ui/src/App.tsx +++ b/webview-ui/src/App.tsx @@ -21,12 +21,12 @@ import ModesView from "./components/modes/ModesView" import { HumanRelayDialog } from "./components/human-relay/HumanRelayDialog" import { DeleteMessageDialog, EditMessageDialog } from "./components/chat/MessageModificationConfirmationDialog" import ErrorBoundary from "./components/ErrorBoundary" -import { AccountView } from "./components/account/AccountView" +import { CloudView } from "./components/cloud/CloudView" import { useAddNonInteractiveClickListener } from "./components/ui/hooks/useNonInteractiveClick" import { TooltipProvider } from "./components/ui/tooltip" import { STANDARD_TOOLTIP_DELAY } from "./components/ui/standard-tooltip" -type Tab = "settings" | "history" | "mcp" | "modes" | "chat" | "marketplace" | "account" +type Tab = "settings" | "history" | "mcp" | "modes" | "chat" | "marketplace" | "cloud" interface HumanRelayDialogState { isOpen: boolean @@ -58,7 +58,7 @@ const tabsByMessageAction: Partial { @@ -107,7 +107,7 @@ const App = () => { (newTab: Tab) => { // Only check MDM compliance if mdmCompliant is explicitly false (meaning there's an MDM policy and user is non-compliant) // If mdmCompliant is undefined or true, allow tab switching - if (mdmCompliant === false && newTab !== "account") { + if (mdmCompliant === false && newTab !== "cloud") { // Notify the user that authentication is required by their organization vscode.postMessage({ type: "showMdmAuthRequiredNotification" }) return @@ -249,8 +249,8 @@ const App = () => { targetTab={currentMarketplaceTab as "mcp" | "mode" | undefined} /> )} - {tab === "account" && ( - ({ }, })) -vi.mock("@src/components/account/AccountView", () => ({ - AccountView: function AccountView({ onDone }: { onDone: () => void }) { +vi.mock("@src/components/cloud/CloudView", () => ({ + CloudView: function CloudView({ onDone }: { onDone: () => void }) { return ( -
- Account View +
+ Cloud View
) }, diff --git a/webview-ui/src/components/chat/ShareButton.tsx b/webview-ui/src/components/chat/ShareButton.tsx index b8584fca11..4b2ad08d2c 100644 --- a/webview-ui/src/components/chat/ShareButton.tsx +++ b/webview-ui/src/components/chat/ShareButton.tsx @@ -245,14 +245,14 @@ export const ShareButton = ({ item, disabled = false, showLabel = false }: Share - {t("account:cloudBenefitsTitle")} + {t("cloud:cloudBenefitsTitle")}

- {t("account:cloudBenefitsSubtitle")} + {t("cloud:cloudBenefitsSubtitle")}

  • @@ -272,7 +272,7 @@ export const ShareButton = ({ item, disabled = false, showLabel = false }: Share
diff --git a/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx b/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx index 791e5196b3..dfeb24fb4e 100644 --- a/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx +++ b/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx @@ -42,12 +42,12 @@ vi.mock("react-i18next", () => ({ "chat:task.connectToCloud": "Connect to Cloud", "chat:task.connectToCloudDescription": "Sign in to Roo Code Cloud to share tasks", "chat:task.sharingDisabledByOrganization": "Sharing disabled by organization", - "account:cloudBenefitsTitle": "Connect to Roo Code Cloud", - "account:cloudBenefitsSubtitle": "Sign in to Roo Code Cloud to share tasks", - "account:cloudBenefitHistory": "Access your task history from anywhere", - "account:cloudBenefitSharing": "Share tasks with your team", - "account:cloudBenefitMetrics": "Track usage and costs", - "account:connect": "Connect", + "cloud:cloudBenefitsTitle": "Connect to Roo Code Cloud", + "cloud:cloudBenefitsSubtitle": "Sign in to Roo Code Cloud to share tasks", + "cloud:cloudBenefitHistory": "Access your task history from anywhere", + "cloud:cloudBenefitSharing": "Share tasks with your team", + "cloud:cloudBenefitMetrics": "Track usage and costs", + "cloud:connect": "Connect", } return translations[key] || key }, diff --git a/webview-ui/src/components/account/AccountView.tsx b/webview-ui/src/components/cloud/CloudView.tsx similarity index 89% rename from webview-ui/src/components/account/AccountView.tsx rename to webview-ui/src/components/cloud/CloudView.tsx index 25923deda3..f95f0620eb 100644 --- a/webview-ui/src/components/account/AccountView.tsx +++ b/webview-ui/src/components/cloud/CloudView.tsx @@ -11,14 +11,14 @@ import { ToggleSwitch } from "@/components/ui/toggle-switch" import { History, PiggyBank, SquareArrowOutUpRightIcon } from "lucide-react" -type AccountViewProps = { +type CloudViewProps = { userInfo: CloudUserInfo | null isAuthenticated: boolean cloudApiUrl?: string onDone: () => void } -export const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: AccountViewProps) => { +export const CloudView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: CloudViewProps) => { const { t } = useAppTranslation() const { remoteControlEnabled, setRemoteControlEnabled } = useExtensionState() const wasAuthenticatedRef = useRef(false) @@ -37,13 +37,13 @@ export const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: }, [isAuthenticated]) const handleConnectClick = () => { - // Send telemetry for account connect action + // Send telemetry for cloud connect action telemetryClient.capture(TelemetryEventName.ACCOUNT_CONNECT_CLICKED) vscode.postMessage({ type: "rooCloudSignIn" }) } const handleLogoutClick = () => { - // Send telemetry for account logout action + // Send telemetry for cloud logout action telemetryClient.capture(TelemetryEventName.ACCOUNT_LOGOUT_CLICKED) vscode.postMessage({ type: "rooCloudSignOut" }) } @@ -64,7 +64,7 @@ export const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: return (
-

{t("account:title")}

+

{t("cloud:title")}

{t("settings:common.done")} @@ -77,7 +77,7 @@ export const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: {userInfo?.picture ? ( {t("account:profilePicture")} ) : ( @@ -114,13 +114,13 @@ export const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: checked={remoteControlEnabled} onChange={handleRemoteControlToggle} size="medium" - aria-label={t("account:remoteControl")} + aria-label={t("cloud:remoteControl")} data-testid="remote-control-toggle" /> - {t("account:remoteControl")} + {t("cloud:remoteControl")}
- {t("account:remoteControlDescription")} + {t("cloud:remoteControlDescription")}

@@ -128,10 +128,10 @@ export const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }:
- {t("account:visitCloudWebsite")} + {t("cloud:visitCloudWebsite")} - {t("account:logOut")} + {t("cloud:logOut")}
@@ -156,27 +156,27 @@ export const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }:

- {t("account:cloudBenefitsTitle")} + {t("cloud:cloudBenefitsTitle")}

  • - {t("account:cloudBenefitSharing")} + {t("cloud:cloudBenefitSharing")}
  • - {t("account:cloudBenefitHistory")} + {t("cloud:cloudBenefitHistory")}
  • - {t("account:cloudBenefitMetrics")} + {t("cloud:cloudBenefitMetrics")}
- {t("account:connect")} + {t("cloud:connect")}
diff --git a/webview-ui/src/components/account/__tests__/AccountView.spec.tsx b/webview-ui/src/components/cloud/__tests__/CloudView.spec.tsx similarity index 83% rename from webview-ui/src/components/account/__tests__/AccountView.spec.tsx rename to webview-ui/src/components/cloud/__tests__/CloudView.spec.tsx index 63058bd5b2..bc0acd2512 100644 --- a/webview-ui/src/components/account/__tests__/AccountView.spec.tsx +++ b/webview-ui/src/components/cloud/__tests__/CloudView.spec.tsx @@ -1,26 +1,26 @@ import { render, screen } from "@/utils/test-utils" -import { AccountView } from "../AccountView" +import { CloudView } from "../CloudView" // Mock the translation context vi.mock("@src/i18n/TranslationContext", () => ({ useAppTranslation: () => ({ t: (key: string) => { const translations: Record = { - "account:title": "Account", + "cloud:title": "Cloud", "settings:common.done": "Done", - "account:signIn": "Connect to Roo Code Cloud", - "account:cloudBenefitsTitle": "Connect to Roo Code Cloud", - "account:cloudBenefitSharing": "Share tasks with others", - "account:cloudBenefitHistory": "Access your task history", - "account:cloudBenefitMetrics": "Get a holistic view of your token consumption", - "account:logOut": "Log out", - "account:connect": "Connect Now", - "account:visitCloudWebsite": "Visit Roo Code Cloud", - "account:remoteControl": "Roomote Control", - "account:remoteControlDescription": + "cloud:signIn": "Connect to Roo Code Cloud", + "cloud:cloudBenefitsTitle": "Connect to Roo Code Cloud", + "cloud:cloudBenefitSharing": "Share tasks with others", + "cloud:cloudBenefitHistory": "Access your task history", + "cloud:cloudBenefitMetrics": "Get a holistic view of your token consumption", + "cloud:logOut": "Log out", + "cloud:connect": "Connect Now", + "cloud:visitCloudWebsite": "Visit Roo Code Cloud", + "cloud:remoteControl": "Roomote Control", + "cloud:remoteControlDescription": "Enable following and interacting with tasks in this workspace with Roo Code Cloud", - "account:profilePicture": "Profile picture", + "cloud:profilePicture": "Profile picture", } return translations[key] || key }, @@ -55,10 +55,10 @@ Object.defineProperty(window, "IMAGES_BASE_URI", { writable: true, }) -describe("AccountView", () => { +describe("CloudView", () => { it("should display benefits when user is not authenticated", () => { render( - { } render( - { } render( - { } render( - Date: Sat, 30 Aug 2025 20:59:22 +0000 Subject: [PATCH 2/5] fix: update CommandId type to use cloudButtonClicked --- packages/types/src/vscode.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/types/src/vscode.ts b/packages/types/src/vscode.ts index 00f6bbbcba..2838514690 100644 --- a/packages/types/src/vscode.ts +++ b/packages/types/src/vscode.ts @@ -35,7 +35,7 @@ export const commandIds = [ "historyButtonClicked", "marketplaceButtonClicked", "popoutButtonClicked", - "accountButtonClicked", + "cloudButtonClicked", "settingsButtonClicked", "openInNewTab", From 7a94f02fca392e2061e54760f3e1c38a90cf9de4 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 30 Aug 2025 21:04:13 +0000 Subject: [PATCH 3/5] fix: update telemetry capture parameter to use 'cloud' instead of 'account' --- src/activate/registerCommands.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/activate/registerCommands.ts b/src/activate/registerCommands.ts index cac3fe6791..203af497e3 100644 --- a/src/activate/registerCommands.ts +++ b/src/activate/registerCommands.ts @@ -81,7 +81,7 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt return } - TelemetryService.instance.captureTitleButtonClicked("account") + TelemetryService.instance.captureTitleButtonClicked("cloud") visibleProvider.postMessageToWebview({ type: "action", action: "cloudButtonClicked" }) }, From 1cd633d58349f80c20212b958cd73ffb627b772e Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 30 Aug 2025 21:26:15 +0000 Subject: [PATCH 4/5] fix: update ShareButton translation keys and Cloud title in all locales - Fixed ShareButton.tsx to use "cloud:" translation keys instead of "account:" - Updated all non-English locale files to use "Cloud" as title (technical term) - Added comments explaining ACCOUNT_* telemetry naming for backward compatibility --- webview-ui/src/components/chat/ShareButton.tsx | 6 +++--- webview-ui/src/components/cloud/CloudView.tsx | 5 +++++ webview-ui/src/i18n/locales/ca/cloud.json | 2 +- webview-ui/src/i18n/locales/de/cloud.json | 2 +- webview-ui/src/i18n/locales/es/cloud.json | 2 +- webview-ui/src/i18n/locales/fr/cloud.json | 2 +- webview-ui/src/i18n/locales/hi/cloud.json | 2 +- webview-ui/src/i18n/locales/id/cloud.json | 2 +- webview-ui/src/i18n/locales/it/cloud.json | 2 +- webview-ui/src/i18n/locales/ja/cloud.json | 2 +- webview-ui/src/i18n/locales/ko/cloud.json | 2 +- webview-ui/src/i18n/locales/nl/cloud.json | 2 +- webview-ui/src/i18n/locales/pl/cloud.json | 2 +- webview-ui/src/i18n/locales/pt-BR/cloud.json | 2 +- webview-ui/src/i18n/locales/ru/cloud.json | 2 +- webview-ui/src/i18n/locales/tr/cloud.json | 2 +- webview-ui/src/i18n/locales/vi/cloud.json | 2 +- webview-ui/src/i18n/locales/zh-CN/cloud.json | 2 +- webview-ui/src/i18n/locales/zh-TW/cloud.json | 2 +- 19 files changed, 25 insertions(+), 20 deletions(-) diff --git a/webview-ui/src/components/chat/ShareButton.tsx b/webview-ui/src/components/chat/ShareButton.tsx index 4b2ad08d2c..4bcabb3a1c 100644 --- a/webview-ui/src/components/chat/ShareButton.tsx +++ b/webview-ui/src/components/chat/ShareButton.tsx @@ -257,15 +257,15 @@ export const ShareButton = ({ item, disabled = false, showLabel = false }: Share
  • - {t("account:cloudBenefitSharing")} + {t("cloud:cloudBenefitSharing")}
  • - {t("account:cloudBenefitHistory")} + {t("cloud:cloudBenefitHistory")}
  • - {t("account:cloudBenefitMetrics")} + {t("cloud:cloudBenefitMetrics")}
diff --git a/webview-ui/src/components/cloud/CloudView.tsx b/webview-ui/src/components/cloud/CloudView.tsx index f95f0620eb..92ccc72564 100644 --- a/webview-ui/src/components/cloud/CloudView.tsx +++ b/webview-ui/src/components/cloud/CloudView.tsx @@ -31,6 +31,8 @@ export const CloudView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: Cl wasAuthenticatedRef.current = true } else if (wasAuthenticatedRef.current && !isAuthenticated) { // User just logged out successfully + // NOTE: Telemetry events use ACCOUNT_* naming for continuity with existing analytics + // and to maintain historical data consistency, even though the UI now uses "Cloud" terminology telemetryClient.capture(TelemetryEventName.ACCOUNT_LOGOUT_SUCCESS) wasAuthenticatedRef.current = false } @@ -38,18 +40,21 @@ export const CloudView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: Cl const handleConnectClick = () => { // Send telemetry for cloud connect action + // NOTE: Using ACCOUNT_* telemetry events for backward compatibility with analytics telemetryClient.capture(TelemetryEventName.ACCOUNT_CONNECT_CLICKED) vscode.postMessage({ type: "rooCloudSignIn" }) } const handleLogoutClick = () => { // Send telemetry for cloud logout action + // NOTE: Using ACCOUNT_* telemetry events for backward compatibility with analytics telemetryClient.capture(TelemetryEventName.ACCOUNT_LOGOUT_CLICKED) vscode.postMessage({ type: "rooCloudSignOut" }) } const handleVisitCloudWebsite = () => { // Send telemetry for cloud website visit + // NOTE: Using ACCOUNT_* telemetry events for backward compatibility with analytics telemetryClient.capture(TelemetryEventName.ACCOUNT_CONNECT_CLICKED) const cloudUrl = cloudApiUrl || "https://app.roocode.com" vscode.postMessage({ type: "openExternal", url: cloudUrl }) diff --git a/webview-ui/src/i18n/locales/ca/cloud.json b/webview-ui/src/i18n/locales/ca/cloud.json index 2804cc8dfa..bf2d4d1ce0 100644 --- a/webview-ui/src/i18n/locales/ca/cloud.json +++ b/webview-ui/src/i18n/locales/ca/cloud.json @@ -1,5 +1,5 @@ { - "title": "Compte", + "title": "Cloud", "profilePicture": "Imatge de perfil", "logOut": "Tancar sessió", "testApiAuthentication": "Provar autenticació d'API", diff --git a/webview-ui/src/i18n/locales/de/cloud.json b/webview-ui/src/i18n/locales/de/cloud.json index 6edaf58fff..dc482a69e2 100644 --- a/webview-ui/src/i18n/locales/de/cloud.json +++ b/webview-ui/src/i18n/locales/de/cloud.json @@ -1,5 +1,5 @@ { - "title": "Konto", + "title": "Cloud", "profilePicture": "Profilbild", "logOut": "Abmelden", "testApiAuthentication": "API-Authentifizierung testen", diff --git a/webview-ui/src/i18n/locales/es/cloud.json b/webview-ui/src/i18n/locales/es/cloud.json index c8398ae25a..e62514acc6 100644 --- a/webview-ui/src/i18n/locales/es/cloud.json +++ b/webview-ui/src/i18n/locales/es/cloud.json @@ -1,5 +1,5 @@ { - "title": "Cuenta", + "title": "Cloud", "profilePicture": "Foto de perfil", "logOut": "Cerrar sesión", "testApiAuthentication": "Probar autenticación de API", diff --git a/webview-ui/src/i18n/locales/fr/cloud.json b/webview-ui/src/i18n/locales/fr/cloud.json index e50d11af15..e6b2556085 100644 --- a/webview-ui/src/i18n/locales/fr/cloud.json +++ b/webview-ui/src/i18n/locales/fr/cloud.json @@ -1,5 +1,5 @@ { - "title": "Compte", + "title": "Cloud", "profilePicture": "Photo de profil", "logOut": "Déconnexion", "testApiAuthentication": "Tester l'authentification API", diff --git a/webview-ui/src/i18n/locales/hi/cloud.json b/webview-ui/src/i18n/locales/hi/cloud.json index 485bc00633..e9b93027c9 100644 --- a/webview-ui/src/i18n/locales/hi/cloud.json +++ b/webview-ui/src/i18n/locales/hi/cloud.json @@ -1,5 +1,5 @@ { - "title": "खाता", + "title": "Cloud", "profilePicture": "प्रोफाइल चित्र", "logOut": "लॉग आउट", "testApiAuthentication": "API प्रमाणीकरण का परीक्षण करें", diff --git a/webview-ui/src/i18n/locales/id/cloud.json b/webview-ui/src/i18n/locales/id/cloud.json index a3b6f4b97e..09c2ca5990 100644 --- a/webview-ui/src/i18n/locales/id/cloud.json +++ b/webview-ui/src/i18n/locales/id/cloud.json @@ -1,5 +1,5 @@ { - "title": "Akun", + "title": "Cloud", "profilePicture": "Foto profil", "logOut": "Keluar", "testApiAuthentication": "Uji Autentikasi API", diff --git a/webview-ui/src/i18n/locales/it/cloud.json b/webview-ui/src/i18n/locales/it/cloud.json index 7ffb569407..e409bc0ec2 100644 --- a/webview-ui/src/i18n/locales/it/cloud.json +++ b/webview-ui/src/i18n/locales/it/cloud.json @@ -1,5 +1,5 @@ { - "title": "Account", + "title": "Cloud", "profilePicture": "Immagine del profilo", "logOut": "Disconnetti", "testApiAuthentication": "Verifica autenticazione API", diff --git a/webview-ui/src/i18n/locales/ja/cloud.json b/webview-ui/src/i18n/locales/ja/cloud.json index 331d613f9b..8e470eca0d 100644 --- a/webview-ui/src/i18n/locales/ja/cloud.json +++ b/webview-ui/src/i18n/locales/ja/cloud.json @@ -1,5 +1,5 @@ { - "title": "アカウント", + "title": "Cloud", "profilePicture": "プロフィール画像", "logOut": "ログアウト", "testApiAuthentication": "API認証をテスト", diff --git a/webview-ui/src/i18n/locales/ko/cloud.json b/webview-ui/src/i18n/locales/ko/cloud.json index 98b09b6e3d..c9d926ac68 100644 --- a/webview-ui/src/i18n/locales/ko/cloud.json +++ b/webview-ui/src/i18n/locales/ko/cloud.json @@ -1,5 +1,5 @@ { - "title": "계정", + "title": "Cloud", "profilePicture": "프로필 사진", "logOut": "로그아웃", "testApiAuthentication": "API 인증 테스트", diff --git a/webview-ui/src/i18n/locales/nl/cloud.json b/webview-ui/src/i18n/locales/nl/cloud.json index 94d08b4409..2cf713bf02 100644 --- a/webview-ui/src/i18n/locales/nl/cloud.json +++ b/webview-ui/src/i18n/locales/nl/cloud.json @@ -1,5 +1,5 @@ { - "title": "Account", + "title": "Cloud", "profilePicture": "Profielfoto", "logOut": "Uitloggen", "testApiAuthentication": "API-authenticatie testen", diff --git a/webview-ui/src/i18n/locales/pl/cloud.json b/webview-ui/src/i18n/locales/pl/cloud.json index b25f29b1bb..e046c02e24 100644 --- a/webview-ui/src/i18n/locales/pl/cloud.json +++ b/webview-ui/src/i18n/locales/pl/cloud.json @@ -1,5 +1,5 @@ { - "title": "Konto", + "title": "Cloud", "profilePicture": "Zdjęcie profilowe", "logOut": "Wyloguj", "testApiAuthentication": "Testuj uwierzytelnianie API", diff --git a/webview-ui/src/i18n/locales/pt-BR/cloud.json b/webview-ui/src/i18n/locales/pt-BR/cloud.json index 5b4f457b99..c09ba3ed1f 100644 --- a/webview-ui/src/i18n/locales/pt-BR/cloud.json +++ b/webview-ui/src/i18n/locales/pt-BR/cloud.json @@ -1,5 +1,5 @@ { - "title": "Conta", + "title": "Cloud", "profilePicture": "Foto de perfil", "logOut": "Sair", "testApiAuthentication": "Testar Autenticação de API", diff --git a/webview-ui/src/i18n/locales/ru/cloud.json b/webview-ui/src/i18n/locales/ru/cloud.json index 4f4a2de167..ee02947d69 100644 --- a/webview-ui/src/i18n/locales/ru/cloud.json +++ b/webview-ui/src/i18n/locales/ru/cloud.json @@ -1,5 +1,5 @@ { - "title": "Учетная запись", + "title": "Cloud", "profilePicture": "Фото профиля", "logOut": "Выход", "testApiAuthentication": "Проверить аутентификацию API", diff --git a/webview-ui/src/i18n/locales/tr/cloud.json b/webview-ui/src/i18n/locales/tr/cloud.json index 03131e3fb5..f48a0d97fb 100644 --- a/webview-ui/src/i18n/locales/tr/cloud.json +++ b/webview-ui/src/i18n/locales/tr/cloud.json @@ -1,5 +1,5 @@ { - "title": "Hesap", + "title": "Cloud", "profilePicture": "Profil resmi", "logOut": "Çıkış yap", "testApiAuthentication": "API Kimlik Doğrulamayı Test Et", diff --git a/webview-ui/src/i18n/locales/vi/cloud.json b/webview-ui/src/i18n/locales/vi/cloud.json index 3224160ba3..32ff218722 100644 --- a/webview-ui/src/i18n/locales/vi/cloud.json +++ b/webview-ui/src/i18n/locales/vi/cloud.json @@ -1,5 +1,5 @@ { - "title": "Tài khoản", + "title": "Cloud", "profilePicture": "Ảnh hồ sơ", "logOut": "Đăng xuất", "testApiAuthentication": "Kiểm tra xác thực API", diff --git a/webview-ui/src/i18n/locales/zh-CN/cloud.json b/webview-ui/src/i18n/locales/zh-CN/cloud.json index 9e097472a0..5bc17f0f84 100644 --- a/webview-ui/src/i18n/locales/zh-CN/cloud.json +++ b/webview-ui/src/i18n/locales/zh-CN/cloud.json @@ -1,5 +1,5 @@ { - "title": "账户", + "title": "Cloud", "profilePicture": "头像", "logOut": "退出登录", "testApiAuthentication": "测试 API 认证", diff --git a/webview-ui/src/i18n/locales/zh-TW/cloud.json b/webview-ui/src/i18n/locales/zh-TW/cloud.json index e333292e64..5ca1c20111 100644 --- a/webview-ui/src/i18n/locales/zh-TW/cloud.json +++ b/webview-ui/src/i18n/locales/zh-TW/cloud.json @@ -1,5 +1,5 @@ { - "title": "帳號", + "title": "Cloud", "profilePicture": "個人圖片", "logOut": "登出", "testApiAuthentication": "測試 API 認證", From 9c8387a3b67508a0e7b00b8d39e079e608be8b55 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 30 Aug 2025 17:43:14 -0400 Subject: [PATCH 5/5] More updates --- src/package.nls.ca.json | 2 +- src/package.nls.de.json | 2 +- src/package.nls.es.json | 2 +- src/package.nls.fr.json | 2 +- src/package.nls.hi.json | 2 +- src/package.nls.id.json | 2 +- src/package.nls.it.json | 2 +- src/package.nls.ja.json | 2 +- src/package.nls.ko.json | 2 +- src/package.nls.nl.json | 2 +- src/package.nls.pl.json | 2 +- src/package.nls.pt-BR.json | 2 +- src/package.nls.ru.json | 2 +- src/package.nls.tr.json | 2 +- src/package.nls.vi.json | 2 +- src/package.nls.zh-CN.json | 2 +- src/package.nls.zh-TW.json | 2 +- src/shared/WebviewMessage.ts | 2 +- webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/package.nls.ca.json b/src/package.nls.ca.json index 1e2f1eedd6..608e7e11d6 100644 --- a/src/package.nls.ca.json +++ b/src/package.nls.ca.json @@ -23,7 +23,7 @@ "command.history.title": "Historial", "command.marketplace.title": "Mercat", "command.openInEditor.title": "Obrir a l'Editor", - "command.account.title": "Compte", + "command.cloud.title": "Cloud", "command.settings.title": "Configuració", "command.documentation.title": "Documentació", "configuration.title": "Roo Code", diff --git a/src/package.nls.de.json b/src/package.nls.de.json index b5f099ff66..d494b5e3f9 100644 --- a/src/package.nls.de.json +++ b/src/package.nls.de.json @@ -23,7 +23,7 @@ "command.history.title": "Verlauf", "command.marketplace.title": "Marktplatz", "command.openInEditor.title": "Im Editor Öffnen", - "command.account.title": "Konto", + "command.cloud.title": "Cloud", "command.settings.title": "Einstellungen", "command.documentation.title": "Dokumentation", "configuration.title": "Roo Code", diff --git a/src/package.nls.es.json b/src/package.nls.es.json index a2479cd770..e0c401ed55 100644 --- a/src/package.nls.es.json +++ b/src/package.nls.es.json @@ -23,7 +23,7 @@ "command.history.title": "Historial", "command.marketplace.title": "Mercado", "command.openInEditor.title": "Abrir en Editor", - "command.account.title": "Cuenta", + "command.cloud.title": "Cloud", "command.settings.title": "Configuración", "command.documentation.title": "Documentación", "configuration.title": "Roo Code", diff --git a/src/package.nls.fr.json b/src/package.nls.fr.json index 03052aaf75..e8b70bf904 100644 --- a/src/package.nls.fr.json +++ b/src/package.nls.fr.json @@ -23,7 +23,7 @@ "command.history.title": "Historique", "command.marketplace.title": "Marché", "command.openInEditor.title": "Ouvrir dans l'Éditeur", - "command.account.title": "Compte", + "command.cloud.title": "Cloud", "command.settings.title": "Paramètres", "command.documentation.title": "Documentation", "configuration.title": "Roo Code", diff --git a/src/package.nls.hi.json b/src/package.nls.hi.json index 24f8ed402d..7fa6da3c52 100644 --- a/src/package.nls.hi.json +++ b/src/package.nls.hi.json @@ -23,7 +23,7 @@ "command.history.title": "इतिहास", "command.marketplace.title": "मार्केटप्लेस", "command.openInEditor.title": "एडिटर में खोलें", - "command.account.title": "खाता", + "command.cloud.title": "Cloud", "command.settings.title": "सेटिंग्स", "command.documentation.title": "दस्तावेज़ीकरण", "configuration.title": "Roo Code", diff --git a/src/package.nls.id.json b/src/package.nls.id.json index 98e979ee07..10bb41681d 100644 --- a/src/package.nls.id.json +++ b/src/package.nls.id.json @@ -11,7 +11,7 @@ "command.history.title": "Riwayat", "command.marketplace.title": "Marketplace", "command.openInEditor.title": "Buka di Editor", - "command.account.title": "Akun", + "command.cloud.title": "Cloud", "command.settings.title": "Pengaturan", "command.documentation.title": "Dokumentasi", "command.openInNewTab.title": "Buka di Tab Baru", diff --git a/src/package.nls.it.json b/src/package.nls.it.json index 6f8bb8fbce..40fa631ce1 100644 --- a/src/package.nls.it.json +++ b/src/package.nls.it.json @@ -23,7 +23,7 @@ "command.history.title": "Cronologia", "command.marketplace.title": "Marketplace", "command.openInEditor.title": "Apri nell'Editor", - "command.account.title": "Account", + "command.cloud.title": "Cloud", "command.settings.title": "Impostazioni", "command.documentation.title": "Documentazione", "configuration.title": "Roo Code", diff --git a/src/package.nls.ja.json b/src/package.nls.ja.json index c26c46905d..064785245e 100644 --- a/src/package.nls.ja.json +++ b/src/package.nls.ja.json @@ -11,7 +11,7 @@ "command.history.title": "履歴", "command.marketplace.title": "マーケットプレイス", "command.openInEditor.title": "エディタで開く", - "command.account.title": "アカウント", + "command.cloud.title": "Cloud", "command.settings.title": "設定", "command.documentation.title": "ドキュメント", "command.openInNewTab.title": "新しいタブで開く", diff --git a/src/package.nls.ko.json b/src/package.nls.ko.json index b4d5dd4c14..74488f8db9 100644 --- a/src/package.nls.ko.json +++ b/src/package.nls.ko.json @@ -23,7 +23,7 @@ "command.history.title": "기록", "command.marketplace.title": "마켓플레이스", "command.openInEditor.title": "에디터에서 열기", - "command.account.title": "계정", + "command.cloud.title": "Cloud", "command.settings.title": "설정", "command.documentation.title": "문서", "configuration.title": "Roo Code", diff --git a/src/package.nls.nl.json b/src/package.nls.nl.json index 22d9102f18..805e5bd59e 100644 --- a/src/package.nls.nl.json +++ b/src/package.nls.nl.json @@ -11,7 +11,7 @@ "command.history.title": "Geschiedenis", "command.marketplace.title": "Marktplaats", "command.openInEditor.title": "Openen in Editor", - "command.account.title": "Account", + "command.cloud.title": "Cloud", "command.settings.title": "Instellingen", "command.documentation.title": "Documentatie", "command.openInNewTab.title": "Openen in Nieuw Tabblad", diff --git a/src/package.nls.pl.json b/src/package.nls.pl.json index cb23404330..054595c062 100644 --- a/src/package.nls.pl.json +++ b/src/package.nls.pl.json @@ -23,7 +23,7 @@ "command.history.title": "Historia", "command.marketplace.title": "Marketplace", "command.openInEditor.title": "Otwórz w Edytorze", - "command.account.title": "Konto", + "command.cloud.title": "Cloud", "command.settings.title": "Ustawienia", "command.documentation.title": "Dokumentacja", "configuration.title": "Roo Code", diff --git a/src/package.nls.pt-BR.json b/src/package.nls.pt-BR.json index e3b432e1d5..76de37cfcd 100644 --- a/src/package.nls.pt-BR.json +++ b/src/package.nls.pt-BR.json @@ -23,7 +23,7 @@ "command.history.title": "Histórico", "command.marketplace.title": "Marketplace", "command.openInEditor.title": "Abrir no Editor", - "command.account.title": "Conta", + "command.cloud.title": "Cloud", "command.settings.title": "Configurações", "command.documentation.title": "Documentação", "configuration.title": "Roo Code", diff --git a/src/package.nls.ru.json b/src/package.nls.ru.json index 91da74c6f1..11f18cef9a 100644 --- a/src/package.nls.ru.json +++ b/src/package.nls.ru.json @@ -11,7 +11,7 @@ "command.history.title": "История", "command.marketplace.title": "Маркетплейс", "command.openInEditor.title": "Открыть в редакторе", - "command.account.title": "Аккаунт", + "command.cloud.title": "Cloud", "command.settings.title": "Настройки", "command.documentation.title": "Документация", "command.openInNewTab.title": "Открыть в новой вкладке", diff --git a/src/package.nls.tr.json b/src/package.nls.tr.json index 5337db6bb4..773a31d1b1 100644 --- a/src/package.nls.tr.json +++ b/src/package.nls.tr.json @@ -23,7 +23,7 @@ "command.history.title": "Geçmiş", "command.marketplace.title": "Marketplace", "command.openInEditor.title": "Düzenleyicide Aç", - "command.account.title": "Hesap", + "command.cloud.title": "Cloud", "command.settings.title": "Ayarlar", "command.documentation.title": "Dokümantasyon", "configuration.title": "Roo Code", diff --git a/src/package.nls.vi.json b/src/package.nls.vi.json index f8c79b748a..69bfd75a88 100644 --- a/src/package.nls.vi.json +++ b/src/package.nls.vi.json @@ -23,7 +23,7 @@ "command.history.title": "Lịch Sử", "command.marketplace.title": "Marketplace", "command.openInEditor.title": "Mở trong Trình Soạn Thảo", - "command.account.title": "Tài khoản", + "command.cloud.title": "Cloud", "command.settings.title": "Cài Đặt", "command.documentation.title": "Tài Liệu", "configuration.title": "Roo Code", diff --git a/src/package.nls.zh-CN.json b/src/package.nls.zh-CN.json index 1ea96e772a..e17a77ff3a 100644 --- a/src/package.nls.zh-CN.json +++ b/src/package.nls.zh-CN.json @@ -23,7 +23,7 @@ "command.history.title": "历史记录", "command.marketplace.title": "应用市场", "command.openInEditor.title": "在编辑器中打开", - "command.account.title": "账户", + "command.cloud.title": "Cloud", "command.settings.title": "设置", "command.documentation.title": "文档", "configuration.title": "Roo Code", diff --git a/src/package.nls.zh-TW.json b/src/package.nls.zh-TW.json index 815a061160..020da0736b 100644 --- a/src/package.nls.zh-TW.json +++ b/src/package.nls.zh-TW.json @@ -23,7 +23,7 @@ "command.history.title": "歷史記錄", "command.marketplace.title": "應用市場", "command.openInEditor.title": "在編輯器中開啟", - "command.account.title": "帳戶", + "command.cloud.title": "Cloud", "command.settings.title": "設定", "command.documentation.title": "文件", "configuration.title": "Roo Code", diff --git a/src/shared/WebviewMessage.ts b/src/shared/WebviewMessage.ts index b22b66e9ac..c08f4771d1 100644 --- a/src/shared/WebviewMessage.ts +++ b/src/shared/WebviewMessage.ts @@ -217,7 +217,7 @@ export interface WebviewMessage { | "openRouterImageGenerationSelectedModel" text?: string editedMessageContent?: string - tab?: "settings" | "history" | "mcp" | "modes" | "chat" | "marketplace" | "account" + tab?: "settings" | "history" | "mcp" | "modes" | "chat" | "marketplace" | "cloud" disabled?: boolean context?: string dataUri?: string diff --git a/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx b/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx index dfeb24fb4e..c5f9c2055d 100644 --- a/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx +++ b/webview-ui/src/components/chat/__tests__/TaskActions.spec.tsx @@ -260,7 +260,7 @@ describe("TaskActions", () => { // Verify popover is not open initially expect(screen.queryByText("Share with Organization")).not.toBeInTheDocument() - // Simulate user becoming authenticated (e.g., from AccountView) + // Simulate user becoming authenticated (e.g., from CloudView) mockUseExtensionState.mockReturnValue({ sharingEnabled: true, cloudIsAuthenticated: true,