Skip to content

ICSParser.parse() silently drops EXDATE (exclusion dates) #66

@thedhanawada

Description

@thedhanawada

Bug Description

ICSParser defines EXDATE: 'excludeDates' in its propertyMap (line 26 in core/ics/ICSParser.js), but the parseProperty() switch statement (lines 223-288) has no case 'EXDATE' handler. This means exclusion dates in imported ICS files are silently dropped.

Impact

  • Recurring events imported via ICS will not respect EXDATE rules
  • Cancelled individual occurrences of recurring series will appear as normal events
  • Data loss on ICS round-trip (import → export)

Expected Fix

Add an EXDATE case handler in parseProperty() that:

  1. Parses comma-separated date values
  2. Stores them in the event's excludeDates array
  3. Handles both DATE and DATE-TIME formats per RFC 5545

Files

  • core/ics/ICSParser.js:26 (propertyMap entry exists)
  • core/ics/ICSParser.js:223-288 (missing case handler)

Metadata

Metadata

Assignees

No one assigned

    Labels

    phase:0-foundationImmediate fixes and test infrastructurepriority:highImportant for next milestonetype:bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions