First time contributing to open source and I'm no expert on rfc5545 and all things ical, but I've been trying to use RRULEs for recurring events in an application and may have found a bug. I may be misreading the RFC too.
RFC has this to say:
The UNTIL rule part defines a DATE or DATE-TIME value that bounds
the recurrence rule in an inclusive manner. If the value
specified by UNTIL is synchronized with the specified recurrence,
this DATE or DATE-TIME becomes the last instance of the
recurrence. The value of the UNTIL rule part MUST have the same
value type as the "DTSTART" property. Furthermore, if the
"DTSTART" property is specified as a date with local time, then
the UNTIL rule part MUST also be specified as a date with local
time. If the "DTSTART" property is specified as a date with UTC
time or a date with local time and time zone reference, then the
UNTIL rule part MUST be specified as a date with UTC time. In the
case of the "STANDARD" and "DAYLIGHT" sub-components the UNTIL
rule part MUST always be specified as a date with UTC time. If
specified as a DATE-TIME value, then it MUST be specified in a UTC
time format. If not present, and the COUNT rule part is also not
present, the "RRULE" is considered to repeat forever.
The relevant part is If the "DTSTART" property is specified as a date with UTC time or a date with local time and time zone reference, then the UNTIL rule part MUST be specified as a date with UTC time.
The issue I'm facing is that I'm storing zoned datetime dtstarts for my events, and so I'm following the spec and also storing their respective RRULE UNTILs in UTC but when I generate events from them usually the last event is missing because ical assumes the stored UNTIL value is in local datetime and not UTC.
First time contributing to open source and I'm no expert on rfc5545 and all things ical, but I've been trying to use RRULEs for recurring events in an application and may have found a bug. I may be misreading the RFC too.
RFC has this to say:
The relevant part is
If the "DTSTART" property is specified as a date with UTC time or a date with local time and time zone reference, then the UNTIL rule part MUST be specified as a date with UTC time.The issue I'm facing is that I'm storing zoned datetime dtstarts for my events, and so I'm following the spec and also storing their respective RRULE UNTILs in UTC but when I generate events from them usually the last event is missing because ical assumes the stored UNTIL value is in local datetime and not UTC.