From 8bb7ef083f371f996ad56c35aa1e0e3a561e7b8b Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 28 Jun 2025 00:49:01 -0400 Subject: [PATCH] Stop double-capturing cloud telemetry (#5211) --- src/core/task/Task.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/core/task/Task.ts b/src/core/task/Task.ts index 46da7485ed..4af3372941 100644 --- a/src/core/task/Task.ts +++ b/src/core/task/Task.ts @@ -375,13 +375,18 @@ export class Task extends EventEmitter { await provider?.postMessageToWebview({ type: "messageUpdated", clineMessage: message }) this.emit("message", { action: "updated", message }) - const shouldCaptureMessage = message.partial !== true && CloudService.isEnabled() + // Only check for telemetry if the message is complete and CloudService is enabled + if (message.partial !== true && CloudService.isEnabled()) { + // Now check if this message was already captured + const previousMessage = this.clineMessages.find((m) => m.ts === message.ts) + const wasAlreadyCaptured = previousMessage && previousMessage.partial !== true - if (shouldCaptureMessage) { - CloudService.instance.captureEvent({ - event: TelemetryEventName.TASK_MESSAGE, - properties: { taskId: this.taskId, message }, - }) + if (!wasAlreadyCaptured) { + CloudService.instance.captureEvent({ + event: TelemetryEventName.TASK_MESSAGE, + properties: { taskId: this.taskId, message }, + }) + } } }