From c15fb866036598020424cee2db5ebe5ab9f1c3c1 Mon Sep 17 00:00:00 2001 From: kylebonnici Date: Mon, 5 Feb 2024 14:39:35 +0100 Subject: [PATCH] Fix: sending brswer info after opting out --- Changelog.md | 7 +++++++ package.json | 2 +- src/telemetry/TelemetrySender.ts | 3 +++ src/telemetry/TelemetrySenderInMain.ts | 7 +++++++ src/telemetry/TelemetrySenderInRenderer.ts | 8 ++++++++ 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index 5028c4960..46335d32a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -7,6 +7,13 @@ This project does _not_ adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) but contrary to it every new version is a new major version. +## 155.0 - 2024-02-05 + +### Fix + +- Disable Azure Insights when opting out to avoid leaking off browser + information. + ## 154.0.0 - 2024-02-05 ### Changed diff --git a/package.json b/package.json index cd48fbc76..74a3931b7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@nordicsemiconductor/pc-nrfconnect-shared", - "version": "154.0.0", + "version": "155.0.0", "description": "Shared commodities for developing pc-nrfconnect-* packages", "repository": { "type": "git", diff --git a/src/telemetry/TelemetrySender.ts b/src/telemetry/TelemetrySender.ts index 170a5f53a..d9b7b3691 100644 --- a/src/telemetry/TelemetrySender.ts +++ b/src/telemetry/TelemetrySender.ts @@ -42,6 +42,8 @@ export default abstract class TelemetrySender { sendDisagreementEvent() { this.sendMinimalEvent('Telemetry Opt-Out'); + this.flush(); + this.stop(); } async setUsersAgreedToTelemetry(hasAgreed: boolean) { @@ -77,4 +79,5 @@ export default abstract class TelemetrySender { abstract sendTrace(message: string): MaybePromise; abstract sendErrorReport(error: Error): MaybePromise; abstract flush(): MaybePromise; + abstract stop(): void; } diff --git a/src/telemetry/TelemetrySenderInMain.ts b/src/telemetry/TelemetrySenderInMain.ts index 9fb49b8a6..84e247693 100644 --- a/src/telemetry/TelemetrySenderInMain.ts +++ b/src/telemetry/TelemetrySenderInMain.ts @@ -77,4 +77,11 @@ export default class TelemetrySenderInMain extends TelemetrySender { }; flush = () => this.getClient().flush(); + + stop(): void { + if (this.client) { + this.client.config.disableAppInsights = true; + } + this.client = undefined; + } } diff --git a/src/telemetry/TelemetrySenderInRenderer.ts b/src/telemetry/TelemetrySenderInRenderer.ts index 1cfc33f53..ab5cbf949 100644 --- a/src/telemetry/TelemetrySenderInRenderer.ts +++ b/src/telemetry/TelemetrySenderInRenderer.ts @@ -83,4 +83,12 @@ export default class TelemetrySenderInRenderer extends TelemetrySender { }; flush = async () => (await this.getClient()).flush(); + + stop(): void { + if (this.client) { + this.client.config.disableTelemetry = true; + this.client?.unload(); + } + this.client = undefined; + } }