From c302a036bb02852e42065e62f15bb27e5a9ea3dc Mon Sep 17 00:00:00 2001 From: mARTin Date: Mon, 23 Mar 2026 23:49:40 +0100 Subject: [PATCH] fix: pass isRecurring/recurringEventId for Google and Outlook events Google and Outlook event mappings were missing isRecurring and recurringEventId fields, so the modal never showed recurring delete options and displayed recurring events as "Repeat: Never". v1.62.2 Co-Authored-By: Claude Opus 4.6 --- package.json | 2 +- src/components/WeeklyView.tsx | 4 ++++ src/lib/calendar-events.ts | 4 ++++ src/lib/outlook-calendar.ts | 2 ++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index a26720f..c9d925f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.62.1", + "version": "1.62.2", "description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view", "main": "index.js", "scripts": { diff --git a/src/components/WeeklyView.tsx b/src/components/WeeklyView.tsx index ffe8f05..f59d666 100644 --- a/src/components/WeeklyView.tsx +++ b/src/components/WeeklyView.tsx @@ -169,6 +169,10 @@ interface CalendarEvent { calendarColor?: string; editable?: boolean; recurringEventId?: string; + isRecurring?: boolean; + description?: string; + location?: string; + url?: string; } interface SomedayList { diff --git a/src/lib/calendar-events.ts b/src/lib/calendar-events.ts index 147aa43..c6e0ce5 100644 --- a/src/lib/calendar-events.ts +++ b/src/lib/calendar-events.ts @@ -367,6 +367,8 @@ export const getCalendarEvents = async ( start: event.start, end: event.end, location: event.location, + recurringEventId: event.recurringEventId, + isRecurring: !!event.recurringEventId, source: 'google' as const, calendarId, calendarTitle: calendarData?.summary || calendarData?.title || 'Google Calendar', @@ -625,6 +627,8 @@ export const getCalendarEvents = async ( start: event.start, end: event.end, location: event.location || '', + recurringEventId: event.recurringEventId, + isRecurring: event.isRecurring ?? false, source: 'outlook' as const, calendarId, calendarTitle: calendarData?.title || 'Outlook Calendar', diff --git a/src/lib/outlook-calendar.ts b/src/lib/outlook-calendar.ts index ff87bd9..04c2d9a 100644 --- a/src/lib/outlook-calendar.ts +++ b/src/lib/outlook-calendar.ts @@ -227,6 +227,8 @@ export const getUpcomingEvents = async ( location: event.location?.displayName, htmlLink: event.webLink, allDay: event.isAllDay, + recurringEventId: event.seriesMasterId || undefined, + isRecurring: event.type === 'occurrence' || event.type === 'exception' || event.type === 'seriesMaster', reminders: event.isReminderOn && event.reminderMinutesBeforeStart != null ? [{ method: 'popup', minutes: event.reminderMinutesBeforeStart }] : undefined,