From 639070f42c0ca357744fdb4fd4283a6304261550 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Thu, 26 Jun 2025 15:04:50 -0400 Subject: [PATCH] Track mode selector opened in telemetry --- packages/types/src/telemetry.ts | 2 ++ webview-ui/src/components/chat/ModeSelector.tsx | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/packages/types/src/telemetry.ts b/packages/types/src/telemetry.ts index 0f9ddfa122..6ad2eb3a7a 100644 --- a/packages/types/src/telemetry.ts +++ b/packages/types/src/telemetry.ts @@ -25,6 +25,7 @@ export enum TelemetryEventName { TASK_CONVERSATION_MESSAGE = "Conversation Message", LLM_COMPLETION = "LLM Completion", MODE_SWITCH = "Mode Switched", + MODE_SELECTOR_OPENED = "Mode Selector Opened", TOOL_USED = "Tool Used", CHECKPOINT_CREATED = "Checkpoint Created", @@ -126,6 +127,7 @@ export const rooCodeTelemetryEventSchema = z.discriminatedUnion("type", [ TelemetryEventName.TASK_COMPLETED, TelemetryEventName.TASK_CONVERSATION_MESSAGE, TelemetryEventName.MODE_SWITCH, + TelemetryEventName.MODE_SELECTOR_OPENED, TelemetryEventName.TOOL_USED, TelemetryEventName.CHECKPOINT_CREATED, TelemetryEventName.CHECKPOINT_RESTORED, diff --git a/webview-ui/src/components/chat/ModeSelector.tsx b/webview-ui/src/components/chat/ModeSelector.tsx index f066dabfa6..927c8be0d2 100644 --- a/webview-ui/src/components/chat/ModeSelector.tsx +++ b/webview-ui/src/components/chat/ModeSelector.tsx @@ -9,6 +9,8 @@ import { useExtensionState } from "@/context/ExtensionStateContext" import { useAppTranslation } from "@/i18n/TranslationContext" import { Mode, getAllModes } from "@roo/modes" import { ModeConfig, CustomModePrompts } from "@roo-code/types" +import { telemetryClient } from "@/utils/TelemetryClient" +import { TelemetryEventName } from "@roo-code/types" interface ModeSelectorProps { value: Mode @@ -37,6 +39,10 @@ export const ModeSelector = ({ const { t } = useAppTranslation() const trackModeSelectorOpened = () => { + // Track telemetry every time the mode selector is opened + telemetryClient.capture(TelemetryEventName.MODE_SELECTOR_OPENED) + + // Track first-time usage for UI purposes if (!hasOpenedModeSelector) { setHasOpenedModeSelector(true) vscode.postMessage({ type: "hasOpenedModeSelector", bool: true })