From d070b58ddde7502b3c96d1dedb7f8f12656efced Mon Sep 17 00:00:00 2001 From: enki Date: Sun, 26 Jul 2026 13:50:18 -0700 Subject: [PATCH] Rip out Element telemetry; bump version to 1.0.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PostHog, web Sentry, and electron-main Sentry now never initialize, even if a config carries their sections (Blap's config never did — this makes it structural). --- apps/desktop/package.json | 2 +- apps/desktop/src/electron-main.ts | 3 ++- apps/web/src/PosthogAnalytics.ts | 4 +++- apps/web/src/sentry.ts | 5 ++++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index c041ae54a8..48f8cc7745 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -3,7 +3,7 @@ "productName": "Element", "main": "lib/electron-main.js", "exports": "./lib/electron-main.js", - "version": "1.0.4", + "version": "1.0.5", "description": "Element: the future of secure communication", "author": { "name": "Element", diff --git a/apps/desktop/src/electron-main.ts b/apps/desktop/src/electron-main.ts index 4632a04914..f943106fc4 100644 --- a/apps/desktop/src/electron-main.ts +++ b/apps/desktop/src/electron-main.ts @@ -207,7 +207,8 @@ function loadConfig(): Promise { // Configure Electron Sentry and crashReporter using sentry.dsn in config.json if one is present. async function configureSentry(): Promise { await loadConfig(); - const { dsn, environment } = global.vectorConfig.sentry || {}; + // Blap: telemetry ripped out — never enable Sentry regardless of config. + const { dsn, environment } = {} as NonNullable; if (dsn) { console.log(`Enabling Sentry with dsn=${dsn} environment=${environment}`); Sentry.init({ diff --git a/apps/web/src/PosthogAnalytics.ts b/apps/web/src/PosthogAnalytics.ts index 814d840f19..3ba86398e7 100644 --- a/apps/web/src/PosthogAnalytics.ts +++ b/apps/web/src/PosthogAnalytics.ts @@ -139,7 +139,9 @@ export class PosthogAnalytics { } public constructor(private readonly posthog: PostHog) { - const posthogConfig = SdkConfig.getObject("posthog"); + // Blap: telemetry ripped out — never initialize PostHog, even if a config + // somehow carries a "posthog" section. + const posthogConfig = null as ReturnType> | null; if (posthogConfig) { this.posthog.init(posthogConfig.get("project_api_key"), { api_host: posthogConfig.get("api_host"), diff --git a/apps/web/src/sentry.ts b/apps/web/src/sentry.ts index 7b3148d211..2b4b4279d1 100644 --- a/apps/web/src/sentry.ts +++ b/apps/web/src/sentry.ts @@ -193,7 +193,10 @@ export function setSentryUser(mxid: string): void { } } -export async function initSentry(sentryConfig: IConfigOptions["sentry"]): Promise { +export async function initSentry(_sentryConfig: IConfigOptions["sentry"]): Promise { + // Blap: telemetry ripped out — crash reporting never initializes, even if a + // config somehow carries a "sentry" section. + const sentryConfig = undefined as IConfigOptions["sentry"] | undefined; if (!sentryConfig) return; const integrations = [ Sentry.inboundFiltersIntegration(),