Skip to content

Commit e0965e2

Browse files
committed
Adds home preview telemetry
1 parent 3f4dfca commit e0965e2

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

src/constants.telemetry.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,12 @@ export type TelemetryEvents = {
215215
'mode.new': 'wip' | 'commit';
216216
} & InspectContextEventData;
217217

218+
/** Sent when the Home view is shown */
219+
'home/preview/toggled': {
220+
enabled: boolean;
221+
version: string;
222+
};
223+
218224
/** Sent when the Commit Graph is shown */
219225
'timeline/shown': WebviewShownEventData & TimelineShownEventData;
220226
/** Sent when the user changes the period (timeframe) on the visual file history */
@@ -495,6 +501,10 @@ type GraphShownEventData = GraphContextEventData &
495501
export type GraphTelemetryContext = GraphContextEventData;
496502
export type GraphShownTelemetryContext = GraphShownEventData;
497503

504+
export type HomeTelemetryContext = {
505+
'context.preview': string | undefined;
506+
} & WebviewTelemetryContext;
507+
498508
type InspectContextEventData = (
499509
| ({
500510
'context.mode': 'wip';

src/webviews/home/homeWebview.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Disposable, workspace } from 'vscode';
33
import { getAvatarUriFromGravatarEmail } from '../../avatars';
44
import { GlyphChars } from '../../constants';
55
import type { ContextKeys } from '../../constants.context';
6-
import type { WebviewTelemetryContext } from '../../constants.telemetry';
6+
import type { HomeTelemetryContext } from '../../constants.telemetry';
77
import type { Container } from '../../container';
88
import type { BranchContributorOverview } from '../../git/gitProvider';
99
import type { GitBranch } from '../../git/models/branch';
@@ -94,9 +94,10 @@ export class HomeWebviewProvider implements WebviewProvider<State, State, HomeWe
9494
this._disposable.dispose();
9595
}
9696

97-
getTelemetryContext(): WebviewTelemetryContext {
97+
getTelemetryContext(): HomeTelemetryContext {
9898
return {
9999
...this.host.getTelemetryContext(),
100+
'context.preview': this.getPreviewEnabled() ? 'v16' : undefined,
100101
};
101102
}
102103

@@ -236,9 +237,12 @@ export class HomeWebviewProvider implements WebviewProvider<State, State, HomeWe
236237
await this.onChooseRepository();
237238
void this.host.respond(ChangeOverviewRepository, e, undefined);
238239
break;
239-
case TogglePreviewEnabledCommand.is(e):
240-
configuration.updateEffective('home.preview.enabled', !this.getPreviewEnabled());
240+
case TogglePreviewEnabledCommand.is(e): {
241+
const isEnabled = !this.getPreviewEnabled();
242+
this.container.telemetry.sendEvent('home/preview/toggled', { enabled: isEnabled, version: 'v16' });
243+
configuration.updateEffective('home.preview.enabled', isEnabled);
241244
break;
245+
}
242246
}
243247
}
244248

0 commit comments

Comments
 (0)