Skip to content

Commit 9d77db8

Browse files
committed
add telemetry for new configure actions
1 parent e2ff7f0 commit 9d77db8

4 files changed

Lines changed: 43 additions & 0 deletions

File tree

frontend/app/aipanel/aimode.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
import { atoms, getSettingsKeyAtom } from "@/app/store/global";
5+
import { RpcApi } from "@/app/store/wshclientapi";
6+
import { TabRpcClient } from "@/app/store/wshrpcutil";
57
import { cn, fireAndForget, makeIconClass } from "@/util/util";
68
import { useAtomValue } from "jotai";
79
import { memo, useRef, useState } from "react";
@@ -175,6 +177,16 @@ export const AIModeDropdown = memo(({ compatibilityMode = false }: AIModeDropdow
175177

176178
const handleConfigureClick = () => {
177179
fireAndForget(async () => {
180+
RpcApi.RecordTEventCommand(
181+
TabRpcClient,
182+
{
183+
event: "action:other",
184+
props: {
185+
"action:type": "waveai:configuremodes:contextmenu",
186+
},
187+
},
188+
{ noresponse: true }
189+
);
178190
await model.openWaveAIConfig();
179191
setIsOpen(false);
180192
});

frontend/app/aipanel/byokannouncement.tsx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,40 @@
11
// Copyright 2025, Command Line Inc.
22
// SPDX-License-Identifier: Apache-2.0
33

4+
import { RpcApi } from "@/app/store/wshclientapi";
5+
import { TabRpcClient } from "@/app/store/wshrpcutil";
46
import { WaveAIModel } from "./waveai-model";
57

68
const BYOKAnnouncement = () => {
79
const model = WaveAIModel.getInstance();
810

911
const handleOpenConfig = async () => {
12+
RpcApi.RecordTEventCommand(
13+
TabRpcClient,
14+
{
15+
event: "action:other",
16+
props: {
17+
"action:type": "waveai:configuremodes:panel",
18+
},
19+
},
20+
{ noresponse: true }
21+
);
1022
await model.openWaveAIConfig();
1123
};
1224

25+
const handleViewDocs = () => {
26+
RpcApi.RecordTEventCommand(
27+
TabRpcClient,
28+
{
29+
event: "action:other",
30+
props: {
31+
"action:type": "waveai:viewdocs:panel",
32+
},
33+
},
34+
{ noresponse: true }
35+
);
36+
};
37+
1338
return (
1439
<div className="bg-blue-900/20 border border-blue-500 rounded-lg p-4 mt-4">
1540
<div className="flex items-start gap-3">
@@ -31,6 +56,7 @@ const BYOKAnnouncement = () => {
3156
href="https://docs.waveterm.dev/waveai-modes"
3257
target="_blank"
3358
rel="noopener noreferrer"
59+
onClick={handleViewDocs}
3460
className="text-secondary hover:text-primary text-sm cursor-pointer transition-colors flex items-center gap-1"
3561
>
3662
View Docs <i className="fa fa-external-link text-xs"></i>

frontend/types/gotypes.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,6 +1223,7 @@ declare global {
12231223
"app:firstday"?: boolean;
12241224
"app:firstlaunch"?: boolean;
12251225
"action:initiator"?: "keyboard" | "mouse";
1226+
"action:type"?: string;
12261227
"debug:panictype"?: string;
12271228
"block:view"?: string;
12281229
"ai:backendtype"?: string;
@@ -1268,6 +1269,8 @@ declare global {
12681269
"waveai:widgetaccess"?: boolean;
12691270
"waveai:thinkinglevel"?: string;
12701271
"waveai:mode"?: string;
1272+
"waveai:provider"?: string;
1273+
"waveai:islocal"?: boolean;
12711274
"waveai:feedback"?: "good" | "bad";
12721275
"waveai:action"?: string;
12731276
$set?: TEventUserProps;

pkg/telemetry/telemetrydata/telemetrydata.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ var ValidEventNames = map[string]bool{
2626
"action:createtab": true,
2727
"action:createblock": true,
2828
"action:openwaveai": true,
29+
"action:other": true,
2930

3031
"wsh:run": true,
3132

@@ -99,6 +100,7 @@ type TEventProps struct {
99100
AppFirstLaunch bool `json:"app:firstlaunch,omitempty"`
100101

101102
ActionInitiator string `json:"action:initiator,omitempty" tstype:"\"keyboard\" | \"mouse\""`
103+
ActionType string `json:"action:type,omitempty"`
102104
PanicType string `json:"debug:panictype,omitempty"`
103105
BlockView string `json:"block:view,omitempty"`
104106
AiBackendType string `json:"ai:backendtype,omitempty"`

0 commit comments

Comments
 (0)