You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Calendar picker lists only the first page of calendars (Microsoft 100, Google 250) #59
I've searched existing issues and this isn't a duplicate.
This is a reproducible bug in Calnode, not a configuration/setup question or a feature request.
What's the bug?
The calendar picker lists only the first page of an account's calendars, so calendars beyond it cannot be checked for conflicts or chosen as the destination:
Microsoft:internal/calendar/microsoft/calendars.go requests /me/calendars?...&$top=100 once and never follows @odata.nextLink. freebusy.go already decodes @odata.nextLink, so the pattern exists in the package.
Google:internal/gcal/calendars.go requests calendarList?maxResults=250 once and never follows nextPageToken.
Nothing signals the truncation: the list simply ends. Accounts with many shared calendars (resource rooms in Microsoft 365, subscribed calendars in Google Workspace) reach these limits.
Steps to reproduce
Connect a Microsoft account that has more than 100 calendars (or a Google account subscribed to more than 250).
Open the calendar picker. Only the first 100 (or 250) appear.
Good catch - silent truncation is the worst kind. Looping @odata.nextLink / nextPageToken with a cap plus the two-page fake-server test is exactly right. Taking this one first.
Activity
pullfrog commentedon Sep 17, 2026
shockalotti commentedon Sep 17, 2026
Good catch - silent truncation is the worst kind. Looping @odata.nextLink / nextPageToken with a cap plus the two-page fake-server test is exactly right. Taking this one first.
fix(calendar): follow pagination when listing calendars (#59)