Skip to content

Commit 8bb7ef0

Browse files
authored
Stop double-capturing cloud telemetry (RooCodeInc#5211)
1 parent fa693e1 commit 8bb7ef0

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/core/task/Task.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -375,13 +375,18 @@ export class Task extends EventEmitter<ClineEvents> {
375375
await provider?.postMessageToWebview({ type: "messageUpdated", clineMessage: message })
376376
this.emit("message", { action: "updated", message })
377377

378-
const shouldCaptureMessage = message.partial !== true && CloudService.isEnabled()
379-
380-
if (shouldCaptureMessage) {
381-
CloudService.instance.captureEvent({
382-
event: TelemetryEventName.TASK_MESSAGE,
383-
properties: { taskId: this.taskId, message },
384-
})
378+
// Only check for telemetry if the message is complete and CloudService is enabled
379+
if (message.partial !== true && CloudService.isEnabled()) {
380+
// Now check if this message was already captured
381+
const previousMessage = this.clineMessages.find((m) => m.ts === message.ts)
382+
const wasAlreadyCaptured = previousMessage && previousMessage.partial !== true
383+
384+
if (!wasAlreadyCaptured) {
385+
CloudService.instance.captureEvent({
386+
event: TelemetryEventName.TASK_MESSAGE,
387+
properties: { taskId: this.taskId, message },
388+
})
389+
}
385390
}
386391
}
387392

0 commit comments

Comments
 (0)