From 3b1deb80e1d6d18b29dfab46929531b6a259ff24 Mon Sep 17 00:00:00 2001 From: mARTin Date: Wed, 25 Mar 2026 12:10:27 +0100 Subject: [PATCH] fix: force sync after all calendar event operations All create, update, and delete operations now trigger an immediate forced refresh from providers instead of relying on stale cache. Previously, deleting recurring events left ghost instances visible until the next background sync cycle. v1.74.2 Co-Authored-By: Claude Opus 4.6 --- package.json | 2 +- src/components/WeeklyView.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7c6f28c..9164796 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.74.1", + "version": "1.74.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 d9d094b..551c236 100644 --- a/src/components/WeeklyView.tsx +++ b/src/components/WeeklyView.tsx @@ -2689,9 +2689,8 @@ export default function WeeklyView() { return [...prev, frontendEvent]; }); } - // Re-read events - force refresh for recurring events so all instances expand - const isRecurring = !!(eventData.recurrence && eventData.recurrence !== 'none'); - await fetchCalendarEvents(isRecurring); + // Force refresh to get canonical state from providers + await fetchCalendarEvents(true); } catch (error: any) { console.error("Error saving event:", error); if (error.name === "AbortError") { @@ -2757,7 +2756,8 @@ export default function WeeklyView() { e.id !== eventId && e.recurringEventId !== seriesId && e.id !== seriesId )); } - setTimeout(() => fetchCalendarEvents(false), 2000); + // Force refresh to get canonical state from providers + await fetchCalendarEvents(true); } catch (error) { console.error("Error deleting event:", error); throw error;