Skip to content

Commit 07e1eae

Browse files
committed
analyticsconfig
1 parent dec8940 commit 07e1eae

File tree

2 files changed

+26
-18
lines changed

2 files changed

+26
-18
lines changed

core/config/profile/doLoadConfig.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,14 @@ export default async function doLoadConfig(
124124

125125
if (newConfig.analytics) {
126126
await TeamAnalytics.setup(
127-
newConfig.analytics as any, // TODO: Need to get rid of index.d.ts once and for all
127+
newConfig.analytics,
128128
uniqueId,
129129
ideInfo.extensionVersion,
130130
controlPlaneClient,
131131
controlPlaneProxyInfo,
132132
);
133+
} else {
134+
await TeamAnalytics.setup(undefined, "NOT_UNIQUE");
133135
}
134136

135137
newConfig = await injectControlPlaneProxyInfo(

core/control-plane/TeamAnalytics.ts

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ import {
1010
import LogStashAnalyticsProvider from "./analytics/LogStashAnalyticsProvider.js";
1111
import PostHogAnalyticsProvider from "./analytics/PostHogAnalyticsProvider.js";
1212
import { ControlPlaneClient } from "./client.js";
13+
import { AnalyticsConfig } from "../index.js";
1314

1415
function createAnalyticsProvider(
15-
config: Analytics,
16+
config: AnalyticsConfig,
1617
): IAnalyticsProvider | undefined {
1718
// @ts-ignore
1819
switch (config.provider) {
@@ -42,7 +43,7 @@ export class TeamAnalytics {
4243
}
4344

4445
static async setup(
45-
config: Analytics,
46+
config: AnalyticsConfig,
4647
uniqueId: string,
4748
extensionVersion: string,
4849
controlPlaneClient: ControlPlaneClient,
@@ -52,22 +53,27 @@ export class TeamAnalytics {
5253
TeamAnalytics.os = os.platform();
5354
TeamAnalytics.extensionVersion = extensionVersion;
5455

55-
if (!config) {
56-
await TeamAnalytics.provider?.shutdown();
57-
TeamAnalytics.provider = undefined;
58-
} else {
59-
TeamAnalytics.provider = createAnalyticsProvider(config);
60-
await TeamAnalytics.provider?.setup(
61-
config,
62-
uniqueId,
63-
controlPlaneProxyInfo,
64-
);
56+
TeamAnalytics.provider = createAnalyticsProvider(config);
57+
await TeamAnalytics.provider?.setup(
58+
config,
59+
uniqueId,
60+
controlPlaneProxyInfo,
61+
);
6562

66-
if (config.provider === "continue-proxy") {
67-
(
68-
TeamAnalytics.provider as ContinueProxyAnalyticsProvider
69-
).controlPlaneClient = controlPlaneClient;
70-
}
63+
if (config.provider === "continue-proxy") {
64+
(
65+
TeamAnalytics.provider as ContinueProxyAnalyticsProvider
66+
).controlPlaneClient = controlPlaneClient;
67+
}
68+
}
69+
70+
static async shutdown() {
71+
if (TeamAnalytics.provider) {
72+
await TeamAnalytics.provider.shutdown();
73+
TeamAnalytics.provider = undefined;
74+
TeamAnalytics.os = undefined;
75+
TeamAnalytics.extensionVersion = undefined;
76+
TeamAnalytics.uniqueId = "NOT_UNIQUE";
7177
}
7278
}
7379
}

0 commit comments

Comments
 (0)