From 9a33570bee95c97c0b665534683a9ea36d15ec52 Mon Sep 17 00:00:00 2001 From: waleed Date: Thu, 9 Apr 2026 23:04:10 -0700 Subject: [PATCH] fix(polling): advance calendar cursor past fully-filtered event batches --- apps/sim/lib/webhooks/polling/google-calendar.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/sim/lib/webhooks/polling/google-calendar.ts b/apps/sim/lib/webhooks/polling/google-calendar.ts index d77f0ecb88..ed3ed02b56 100644 --- a/apps/sim/lib/webhooks/polling/google-calendar.ts +++ b/apps/sim/lib/webhooks/polling/google-calendar.ts @@ -282,12 +282,6 @@ async function processEvents( let latestUpdated: string | null = null for (const event of events) { - // Client-side event type filter — skip before idempotency so filtered events aren't cached - const computedEventType = determineEventType(event) - if (eventTypeFilter && computedEventType !== eventTypeFilter) { - continue - } - // Track the latest `updated` timestamp for clock-skew-free state tracking if (event.updated) { if (!latestUpdated || event.updated > latestUpdated) { @@ -295,6 +289,12 @@ async function processEvents( } } + // Client-side event type filter — skip before idempotency so filtered events aren't cached + const computedEventType = determineEventType(event) + if (eventTypeFilter && computedEventType !== eventTypeFilter) { + continue + } + try { // Idempotency key includes `updated` so re-edits of the same event re-trigger const idempotencyKey = `${webhookData.id}:${event.id}:${event.updated || event.created || ''}`