Skip to content

Commit c54f5f9

Browse files
committed
add app:firstday to telemetry events...
1 parent fa7e5e3 commit c54f5f9

4 files changed

Lines changed: 16 additions & 1 deletion

File tree

frontend/types/gotypes.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,7 @@ declare global {
827827
"activity:activeminutes"?: number;
828828
"activity:fgminutes"?: number;
829829
"activity:openminutes"?: number;
830+
"app:firstday"?: boolean;
830831
"action:initiator"?: "keyboard" | "mouse";
831832
"debug:panictype"?: string;
832833
"block:view"?: string;

pkg/telemetry/telemetry.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/wavetermdev/waveterm/pkg/util/dbutil"
1919
"github.com/wavetermdev/waveterm/pkg/util/utilfn"
2020
"github.com/wavetermdev/waveterm/pkg/wavebase"
21+
"github.com/wavetermdev/waveterm/pkg/waveobj"
2122
"github.com/wavetermdev/waveterm/pkg/wconfig"
2223
"github.com/wavetermdev/waveterm/pkg/wshrpc"
2324
"github.com/wavetermdev/waveterm/pkg/wstore"
@@ -209,6 +210,17 @@ func RecordTEvent(ctx context.Context, tevent *telemetrydata.TEvent) error {
209210
return err
210211
}
211212
tevent.EnsureTimestamps()
213+
214+
// Set AppFirstDay if within first day of TOS agreement
215+
client, err := wstore.DBGetSingleton[*waveobj.Client](ctx)
216+
if err == nil && client != nil && client.TosAgreed != 0 {
217+
now := time.Now().UnixMilli()
218+
oneDayMs := int64(24 * 60 * 60 * 1000)
219+
if now-client.TosAgreed <= oneDayMs {
220+
tevent.Props.AppFirstDay = true
221+
}
222+
}
223+
212224
if tevent.Event == ActivityEventName {
213225
return updateActivityTEvent(ctx, tevent)
214226
}

pkg/telemetry/telemetrydata/telemetrydata.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ type TEventProps struct {
6464
FgMinutes int `json:"activity:fgminutes,omitempty"`
6565
OpenMinutes int `json:"activity:openminutes,omitempty"`
6666

67+
AppFirstDay bool `json:"app:firstday,omitempty"`
68+
6769
ActionInitiator string `json:"action:initiator,omitempty" tstype:"\"keyboard\" | \"mouse\""`
6870
PanicType string `json:"debug:panictype,omitempty"`
6971
BlockView string `json:"block:view,omitempty"`

pkg/waveobj/wtype.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ type Client struct {
127127
Version int `json:"version"`
128128
WindowIds []string `json:"windowids"`
129129
Meta MetaMapType `json:"meta"`
130-
TosAgreed int64 `json:"tosagreed,omitempty"`
130+
TosAgreed int64 `json:"tosagreed,omitempty"` // unix milli
131131
HasOldHistory bool `json:"hasoldhistory,omitempty"`
132132
TempOID string `json:"tempoid,omitempty"`
133133
}

0 commit comments

Comments
 (0)