Skip to content

Commit bd0bc4d

Browse files
committed
fix: remove setTimeout race and use debug-level logging
- Remove the 100ms setTimeout that tried to sync enabled state to backend (unnecessary - frontend guards trackEvent with isTelemetryEnabled()) - Change all telemetry logs from log/warn to debug level to avoid giving users a reason to disable telemetry
1 parent 544bfe1 commit bd0bc4d

File tree

2 files changed

+10
-19
lines changed

2 files changed

+10
-19
lines changed

src/common/telemetry/client.ts

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ export function setTelemetryEnabled(enabled: boolean): void {
3838
if (typeof window === "undefined") return;
3939

4040
localStorage.setItem(TELEMETRY_ENABLED_KEY, enabled.toString());
41-
console.log(`[Telemetry] ${enabled ? "Enabled" : "Disabled"}`);
41+
console.debug(`[Telemetry] ${enabled ? "Enabled" : "Disabled"}`);
4242

4343
// Notify backend of preference change
4444
const client = window.__ORPC_CLIENT__;
4545
if (client) {
4646
client.telemetry.setEnabled({ enabled }).catch((err: unknown) => {
47-
console.warn("[Telemetry] Failed to sync enabled state to backend:", err);
47+
console.debug("[Telemetry] Failed to sync enabled state to backend:", err);
4848
});
4949
}
5050
}
@@ -80,23 +80,14 @@ export function initTelemetry(): void {
8080
}
8181

8282
if (isInitialized) {
83-
console.warn("Telemetry already initialized");
83+
console.debug("[Telemetry] Already initialized");
8484
return;
8585
}
8686

8787
isInitialized = true;
8888
console.debug("[Telemetry] Initialized (backend mode)");
89-
90-
// Sync enabled state to backend once client is available
91-
// Use a small delay to allow ORPC connection to establish
92-
setTimeout(() => {
93-
const client = window.__ORPC_CLIENT__;
94-
if (client) {
95-
client.telemetry.setEnabled({ enabled: true }).catch((err: unknown) => {
96-
console.warn("[Telemetry] Failed to sync initial enabled state:", err);
97-
});
98-
}
99-
}, 100);
89+
// No need to sync enabled state - backend defaults to enabled,
90+
// and frontend guards all trackEvent calls with isTelemetryEnabled()
10091
}
10192

10293
/**
@@ -129,7 +120,7 @@ export function trackEvent(payload: TelemetryEventPayload): void {
129120

130121
// Fire and forget - don't block on telemetry
131122
client.telemetry.track(payload).catch((err: unknown) => {
132-
console.warn("[Telemetry] Failed to track event:", err);
123+
console.debug("[Telemetry] Failed to track event:", err);
133124
});
134125
}
135126

src/node/services/telemetryService.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export class TelemetryService {
6868
}
6969

7070
if (this.client) {
71-
console.warn("[TelemetryService] Already initialized");
71+
console.debug("[TelemetryService] Already initialized");
7272
return;
7373
}
7474

@@ -109,7 +109,7 @@ export class TelemetryService {
109109
await fs.mkdir(this.muxHome, { recursive: true });
110110
await fs.writeFile(idPath, newId, "utf-8");
111111
} catch (err) {
112-
console.warn("[TelemetryService] Failed to persist distinct ID:", err);
112+
console.debug("[TelemetryService] Failed to persist distinct ID:", err);
113113
}
114114

115115
return newId;
@@ -127,7 +127,7 @@ export class TelemetryService {
127127
*/
128128
setEnabled(enabled: boolean): void {
129129
this.enabled = enabled;
130-
console.log(`[TelemetryService] ${enabled ? "Enabled" : "Disabled"}`);
130+
console.debug(`[TelemetryService] ${enabled ? "Enabled" : "Disabled"}`);
131131
}
132132

133133
/**
@@ -185,7 +185,7 @@ export class TelemetryService {
185185
try {
186186
await this.client.shutdown();
187187
} catch (err) {
188-
console.warn("[TelemetryService] Error during shutdown:", err);
188+
console.debug("[TelemetryService] Error during shutdown:", err);
189189
}
190190

191191
this.client = null;

0 commit comments

Comments
 (0)