Skip to content

Feat/dedupe events - #7

Open
tomasvanrijsse wants to merge 4 commits into
mainfrom
feat/dedupe-events
Open

Feat/dedupe events#7
tomasvanrijsse wants to merge 4 commits into
mainfrom
feat/dedupe-events

Conversation

@tomasvanrijsse

Copy link
Copy Markdown
Contributor

No description provided.

Google Calendar sync only looked 15 minutes back, matching its own
15-minute schedule with no overlap margin. A single delayed or
skipped run permanently lost any event that started during the gap.

Add events.external_id (unique per source) and widen the calendar
sync lookback to 60 minutes, deduping on the Google event id so
overlapping fetches from a recovered run no longer create duplicates.
Hoist the lookback boundary to a named variable, inline test setup
per file instead of shared global helpers, and tighten test naming.
Push and PR events had no real delivery-identity check: pushed commits
were matched by title+timestamp (a heuristic meant to recognize rebases,
not to detect redelivery), and PR events had no dedup at all, so a
retried webhook could log a second commit_pushed/pr_* event or even
fabricate a spurious rebase event for a plain replay.

Dedupe commit_pushed events on repository+commit hash and PR events on
event key+PR id+timestamp via events.external_id, same mechanism as the
Google Calendar sync fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant