From adf638379d0b13313919edf0c1ef7eea2c7ac8ac Mon Sep 17 00:00:00 2001 From: sstent Date: Tue, 17 Feb 2026 07:26:04 -0800 Subject: [PATCH] Add raw ICS logging --- icalendar.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/icalendar.ts b/icalendar.ts index c3a9f04..a24f1df 100644 --- a/icalendar.ts +++ b/icalendar.ts @@ -78,7 +78,7 @@ async function sha256Hash(str: string): Promise { * Recursively converts all Date objects and ISO date strings to strings * Handles nested objects like {date: Date, local: {date: Date, timezone: string}} */ -function convertDatesToStrings(obj: T): DateToString { +function convertDatesToStrings(obj: T, timezones?: any): DateToString { if (obj === null || obj === undefined) { return obj as DateToString; } @@ -99,14 +99,14 @@ function convertDatesToStrings(obj: T): DateToString { } if (Array.isArray(obj)) { - return obj.map(item => convertDatesToStrings(item)) as DateToString; + return obj.map(item => convertDatesToStrings(item, timezones)) as DateToString; } if (typeof obj === 'object') { const result: any = {}; for (const key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { - result[key] = convertDatesToStrings((obj as any)[key]); + result[key] = convertDatesToStrings((obj as any)[key], timezones); } } return result as DateToString; @@ -191,6 +191,7 @@ async function fetchAndParseCalendar(source: Source): Promise { } const icsData = await response.text(); + console.log(`[iCalendar] Raw ICS Snippet (first 500 chars): ${icsData.slice(0, 500).replace(/\n/g, " ")}`); const calendar: IcsCalendar = convertIcsCalendar(undefined, icsData); if (!calendar.events || calendar.events.length === 0) { @@ -208,7 +209,7 @@ async function fetchAndParseCalendar(source: Source): Promise { ref, tag: "ical-event" as const, sourceName: source.name, - }); + }, calendar.timezones); })); }