Rip out Element telemetry; bump version to 1.0.5

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).
This commit is contained in:
2026-07-26 13:50:18 -07:00
parent 4b560993a1
commit d070b58ddd
4 changed files with 10 additions and 4 deletions
+1 -1
View File
@@ -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",
+2 -1
View File
@@ -207,7 +207,8 @@ function loadConfig(): Promise<void> {
// Configure Electron Sentry and crashReporter using sentry.dsn in config.json if one is present.
async function configureSentry(): Promise<void> {
await loadConfig();
const { dsn, environment } = global.vectorConfig.sentry || {};
// Blap: telemetry ripped out — never enable Sentry regardless of config.
const { dsn, environment } = {} as NonNullable<typeof global.vectorConfig.sentry>;
if (dsn) {
console.log(`Enabling Sentry with dsn=${dsn} environment=${environment}`);
Sentry.init({
+3 -1
View File
@@ -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<typeof SdkConfig.getObject<"posthog">> | null;
if (posthogConfig) {
this.posthog.init(posthogConfig.get("project_api_key"), {
api_host: posthogConfig.get("api_host"),
+4 -1
View File
@@ -193,7 +193,10 @@ export function setSentryUser(mxid: string): void {
}
}
export async function initSentry(sentryConfig: IConfigOptions["sentry"]): Promise<void> {
export async function initSentry(_sentryConfig: IConfigOptions["sentry"]): Promise<void> {
// 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(),