Open zero0cool0 opened 1 year ago
DTSTART:20260317T170000Z
is not actually a date that matches the rule. There has been discussion about that sort of thing, and we try to schedule an event at DTSTART
and then the events after that that match the rule.
I think that there should be events scheduled on:
But I can see why the code might schedule for 2028 - it skips the possible events in December 2026 and 2027, and schedules in the 3rd year, 2028.
I have no idea why it then only skips 2029 and schedules in 2030 - that is strange.
If you have code fixes, please make a PR and we can discuss.
I was testing some more complex recurrence rules and believe I've hit a bug in yearly recurrence rule that contains a negative week number. RFC 5545 Section 3.3.10 is a little vague about this; the way I read it, a negative week number should count the week numbers from the end of the year. So in this particular case below with a given interval of 3, shouldn't the expected date of the second recurrence be in year 2029 instead of 2028? More precisely, as 2029 has 52 weeks (assuming week start at Monday), I would expect Monday 2029-12-10 (week 50)
Happy to submit a PR about this, but wanted to verify first if this is expected behaviour or not.
Output: