Skip to content

Commit 1c37b77

Browse files
authored
Track mode selector opened in telemetry (#5150)
1 parent 5c9b476 commit 1c37b77

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

packages/types/src/telemetry.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export enum TelemetryEventName {
2525
TASK_CONVERSATION_MESSAGE = "Conversation Message",
2626
LLM_COMPLETION = "LLM Completion",
2727
MODE_SWITCH = "Mode Switched",
28+
MODE_SELECTOR_OPENED = "Mode Selector Opened",
2829
TOOL_USED = "Tool Used",
2930

3031
CHECKPOINT_CREATED = "Checkpoint Created",
@@ -126,6 +127,7 @@ export const rooCodeTelemetryEventSchema = z.discriminatedUnion("type", [
126127
TelemetryEventName.TASK_COMPLETED,
127128
TelemetryEventName.TASK_CONVERSATION_MESSAGE,
128129
TelemetryEventName.MODE_SWITCH,
130+
TelemetryEventName.MODE_SELECTOR_OPENED,
129131
TelemetryEventName.TOOL_USED,
130132
TelemetryEventName.CHECKPOINT_CREATED,
131133
TelemetryEventName.CHECKPOINT_RESTORED,

webview-ui/src/components/chat/ModeSelector.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { useExtensionState } from "@/context/ExtensionStateContext"
99
import { useAppTranslation } from "@/i18n/TranslationContext"
1010
import { Mode, getAllModes } from "@roo/modes"
1111
import { ModeConfig, CustomModePrompts } from "@roo-code/types"
12+
import { telemetryClient } from "@/utils/TelemetryClient"
13+
import { TelemetryEventName } from "@roo-code/types"
1214

1315
interface ModeSelectorProps {
1416
value: Mode
@@ -37,6 +39,10 @@ export const ModeSelector = ({
3739
const { t } = useAppTranslation()
3840

3941
const trackModeSelectorOpened = () => {
42+
// Track telemetry every time the mode selector is opened
43+
telemetryClient.capture(TelemetryEventName.MODE_SELECTOR_OPENED)
44+
45+
// Track first-time usage for UI purposes
4046
if (!hasOpenedModeSelector) {
4147
setHasOpenedModeSelector(true)
4248
vscode.postMessage({ type: "hasOpenedModeSelector", bool: true })

0 commit comments

Comments
 (0)