From b443b5e800ec3ab20aacfca759229b3939abcaeb Mon Sep 17 00:00:00 2001
From: Jerop Kipruto <jerop@google.com>
Date: Mon, 23 Jun 2025 18:05:02 -0400
Subject: Ensure telemetry events are flushed immediately (#1344)

The previous implementation used `flushIfNeeded` to batch most telemetry events, but it was not reliably sending them, leading to data loss. Notably, the `startSession` event, which already used `flushToClearcut`, was working correctly, indicating an issue with the batching logic itself.

This change replaces all calls to `flushIfNeeded` with `flushToClearcut` to align all event logging with the working `startSession` implementation and ensure that events are sent immediately. This prioritizes the reliability of data collection over network efficiency.

This is a temporary solution to prevent further data loss. The underlying issue with the batching mechanism in `flushIfNeeded` should be investigated and fixed in the future, at which point this change can be reverted.
---
 packages/cli/src/ui/hooks/useGeminiStream.test.tsx | 1 +
 1 file changed, 1 insertion(+)

(limited to 'packages/cli/src/ui/hooks/useGeminiStream.test.tsx')

diff --git a/packages/cli/src/ui/hooks/useGeminiStream.test.tsx b/packages/cli/src/ui/hooks/useGeminiStream.test.tsx
index c5145eda..29871e8a 100644
--- a/packages/cli/src/ui/hooks/useGeminiStream.test.tsx
+++ b/packages/cli/src/ui/hooks/useGeminiStream.test.tsx
@@ -289,6 +289,7 @@ describe('useGeminiStream', () => {
       getCheckpointingEnabled: vi.fn(() => false),
       getGeminiClient: mockGetGeminiClient,
       getUsageStatisticsEnabled: () => true,
+      getDebugMode: () => false,
       addHistory: vi.fn(),
     } as unknown as Config;
     mockOnDebugMessage = vi.fn();
-- 
cgit v1.2.3

