callumalpass_tasknotes/tests/services
callumalpass a24d7aaee6 feat: sync recurring tasks to Google Calendar as recurring events
Scheduled-based recurring tasks now sync to Google Calendar as
native recurring events with RRULE support instead of single events.

- Add rruleConverter utility to convert TaskNotes RRULE format to
  Google Calendar recurrence array format (RRULE + EXDATE entries)
- Extend GoogleCalendarService.createEvent/updateEvent with recurrence
  parameter support
- Add shouldSyncAsRecurring() helper to detect eligible recurring tasks
- Update taskToCalendarEvent() to include recurrence data with DTSTART
  extraction and EXDATE generation for completed/skipped instances
- Modify completeTaskInCalendar() to update EXDATE instead of adding
  checkmark for recurring tasks
- Add updateRecurringEventExdates() for efficient instance exclusion

Completion-based recurring tasks (recurrence_anchor='completion')
continue to sync as single events since their DTSTART shifts on
each completion, which doesn't map well to Google Calendar.
2026-01-07 20:19:03 +11:00
..
FilterService.hierarchical.test.ts test: add comprehensive test coverage for hierarchical subgroup functionality 2025-09-18 10:15:08 +00:00
GoogleCalendarService.test.ts feat: sync recurring tasks to Google Calendar as recurring events 2026-01-07 20:19:03 +11:00
HierarchicalGroupingService.test.ts test: add comprehensive test coverage for hierarchical subgroup functionality 2025-09-18 10:15:08 +00:00
MicrosoftCalendarService.test.ts feat: add OAuth 2.0 calendar integration for Google and Microsoft Calendar (#997) 2025-10-26 16:40:35 +11:00
OAuthService.revocation.test.ts feat: add OAuth 2.0 calendar integration for Google and Microsoft Calendar (#997) 2025-10-26 16:40:35 +11:00