From af46c0c21f975b2ca19079351067d2f583a22222 Mon Sep 17 00:00:00 2001 From: mARTin Date: Sun, 22 Mar 2026 23:54:08 +0100 Subject: [PATCH] chore: add debug logging for Synology calendar pruning Log individual calendar names/URLs from server and stale calendar IDs to diagnose why deleted calendars persist in stored list. v1.57.5 Co-Authored-By: Claude Opus 4.6 --- package.json | 2 +- src/app/api/calendar/connections/route.ts | 5 +++++ src/lib/synology-calendar.ts | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 3b94904..8f080d8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.57.4", + "version": "1.57.5", "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/app/api/calendar/connections/route.ts b/src/app/api/calendar/connections/route.ts index 97b22ca..72d8b98 100644 --- a/src/app/api/calendar/connections/route.ts +++ b/src/app/api/calendar/connections/route.ts @@ -50,6 +50,11 @@ export async function GET(request: NextRequest) { if (username && password && serverUrl) { const freshCalendars = await getSynologyCalendars(serverUrl, username, password); const freshIds = new Set(freshCalendars.map(c => c.id)); + const storedIds = calendars.map((c: any) => c.id); + const staleIds = storedIds.filter((id: string) => !freshIds.has(id)); + if (staleIds.length > 0) { + console.log('[CONNECTIONS] Synology stale calendars to prune:', staleIds); + } const pruned = calendars.filter((c: any) => freshIds.has(c.id)); if (pruned.length < calendars.length) { calendars = pruned; diff --git a/src/lib/synology-calendar.ts b/src/lib/synology-calendar.ts index 4a57dbd..50471a5 100644 --- a/src/lib/synology-calendar.ts +++ b/src/lib/synology-calendar.ts @@ -201,6 +201,9 @@ export const validateCredentials = async (serverUrl: string, username: string, p })); console.log('[SYNOLOGY CALENDAR] Found calendars:', mappedCalendars.length, '(filtered from', calendars.length, 'total)'); + for (const cal of mappedCalendars) { + console.log(`[SYNOLOGY CALENDAR] - "${cal.title}" → ${cal.id}`); + } return mappedCalendars; } catch (error) { console.error('Synology Calendar validation failed:', error);