Currently sync_calendars_graph maps all events to the default calendar via GET /me/calendarView. This means:
- Non-default Graph calendars are discovered but their events aren't separated
- Unsubscribing from a non-default Graph calendar has no effect
- The subscription check only looks at the default calendar
Should be updated to:
- Fetch events per-calendar using
GET /me/calendars/{id}/events instead of the global calendarView
- Use the same
HashSet<String> unsubscribed filter pattern as JMAP/Google/CalDAV sync paths
- Map events to their correct local calendar ID
See the TODO comment in src-tauri/src/commands/calendar.rs at sync_calendars_graph.
Currently
sync_calendars_graphmaps all events to the default calendar viaGET /me/calendarView. This means:Should be updated to:
GET /me/calendars/{id}/eventsinstead of the global calendarViewHashSet<String>unsubscribed filter pattern as JMAP/Google/CalDAV sync pathsSee the TODO comment in
src-tauri/src/commands/calendar.rsatsync_calendars_graph.