Skip to content

[Google Calendar] #233

@tahpot

Description

@tahpot

The Google Calendar handler uses the events.list API endpoint. This endpoint provides items in oldest to newest order, with no way to fetch them in newest to oldest order.

The current implementation assumes the order is newest to oldest, which is incorrect.

This results in the sync fetching all calendar items up to a particular date/time, but will never fetch new calendar events added after the first sync.

The solution is to track progress based on event updated timestamps.

  1. For the first sync; fetch all items based on a page token, but record the updated timestamp of the first item fetched
  2. For catch-up syncs; fetch all items updated sync the updated timestamp of the first item fetched (use updatedMin attribute of events.list).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions