From ae7dffa211af209aea2ca13b37729e390047dd7c Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Tue, 29 Aug 2023 10:39:25 -0700 Subject: feat: :mute: complete removal of telemetry when allow_anonymous_telemetry false --- extension/src/extension.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'extension/src') diff --git a/extension/src/extension.ts b/extension/src/extension.ts index 386a2fb7..7fab9ed9 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -4,17 +4,23 @@ import * as vscode from "vscode"; import { getExtensionVersion } from "./activation/environmentSetup"; -import { PostHog } from "posthog-node"; -const client = new PostHog( - "phc_JS6XFROuNbhJtVCEdTSYk6gl5ArRrTNMpCcguAXlSPs", +let client: any = undefined; +async function capture(args: any) { + console.log("Capturing posthog event: ", args); + if (!client) { + const { PostHog } = await import("posthog-node"); + client = new PostHog("phc_JS6XFROuNbhJtVCEdTSYk6gl5ArRrTNMpCcguAXlSPs", { + host: "https://app.posthog.com", + }); + } + client.capture(args); +} - { host: "https://app.posthog.com" } -); async function dynamicImportAndActivate(context: vscode.ExtensionContext) { if (!context.globalState.get("hasBeenInstalled")) { context.globalState.update("hasBeenInstalled", true); - client.capture({ + capture({ distinctId: vscode.env.machineId, event: "install", properties: { @@ -50,7 +56,7 @@ export function activate(context: vscode.ExtensionContext) { } export function deactivate() { - client.capture({ + capture({ distinctId: vscode.env.machineId, event: "deactivate", properties: { @@ -58,5 +64,5 @@ export function deactivate() { }, }); - client.shutdown(); + client?.shutdown(); } -- cgit v1.2.3-70-g09d2