Bug Description
ICSParser.eventToICS() at line 235 exports VALARM triggers using reminder.minutes, but the canonical property set by Event._normalizeReminder() is reminder.minutesBefore (Event.js lines 162, 704, 904).
Impact
- All exported ICS VALARM triggers use the fallback value of 15 minutes regardless of actual reminder setting
- Round-trip import/export of ICS files loses reminder timing data
- Silent data corruption — no error is thrown
Code Location
// ICSParser.js:235 (current — broken)
lines.push(`TRIGGER:-PT${reminder.minutes || 15}M`);
The Event class normalizes reminders to use minutesBefore:
// Event.js:162
minutesBefore: typeof r === 'number' ? r : (r.minutesBefore || r.minutes || 15)
Fix
// ICSParser.js:235 (fixed)
lines.push(`TRIGGER:-PT${reminder.minutesBefore || 15}M`);
Files
core/ics/ICSParser.js:235 (bug)
core/events/Event.js:162, 704, 904 (canonical property)
Bug Description
ICSParser.eventToICS()at line 235 exports VALARM triggers usingreminder.minutes, but the canonical property set byEvent._normalizeReminder()isreminder.minutesBefore(Event.js lines 162, 704, 904).Impact
Code Location
The Event class normalizes reminders to use
minutesBefore:Fix
Files
core/ics/ICSParser.js:235(bug)core/events/Event.js:162, 704, 904(canonical property)