From 97bc8a38b5b22a4d484ee4d51a6f0bbb350d687f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 1 Jan 2026 14:21:32 +0000 Subject: [PATCH 1/2] Initial plan From 47d01bf158a26e0995793aa72bd00d17adc26215 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 1 Jan 2026 14:24:37 +0000 Subject: [PATCH 2/2] Replace any type with ICalRepeatingOptions for type safety Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com> --- lib/ical-generator.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ical-generator.ts b/lib/ical-generator.ts index 22f38e6..e7e57e7 100644 --- a/lib/ical-generator.ts +++ b/lib/ical-generator.ts @@ -1,4 +1,4 @@ -import ical from 'ical-generator' +import ical, { ICalRepeatingOptions, ICalEventRepeatingFreq } from 'ical-generator' import { TimetableData, TimetableEntry } from './types' import { getNextMondayWeekType, getWeekType } from './academic-calendar' @@ -29,8 +29,8 @@ export function generateIcal(timetableData: TimetableData, startDate?: Date): st endDateTime.setHours(endHour, endMinute, 0, 0) // Create recurring rule based on week type using academic calendar - let rrule: any = { - freq: 'WEEKLY', + const rrule: ICalRepeatingOptions = { + freq: ICalEventRepeatingFreq.WEEKLY, count: 40 // Full academic year }