Skip to content

Recurrence override full fidelity #20

Description

@SashankBhamidi

Per-instance changes in recurring events are silently dropped. The converter only preserves title, start, duration, and description in recurrence overrides — everything else (participants, locations, alerts, status, keywords) is lost on round-trip.

This means a recurring meeting where one instance has different attendees, a different location, or a modified alert will silently lose those changes. It's a data integrity bug in the core converter.

  • ical_to_jscal: extend per-child-VEVENT patch to include participants, locations, virtualLocations, alerts, status, keywords, freeBusyStatus
  • ical_to_jscal: only include properties that differ from the master event
  • ical_to_jscal: handle properties explicitly removed in an override instance
  • jscal_to_ical: apply full patch dict to child VEVENT, not just title/start/duration/description
  • jscal_to_ical: handle null patch values — remove the property from the child VEVENT
  • Tests: round-trip recurring events with per-instance participant changes, location changes, alert changes, and combined multi-property overrides

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions