-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DTSTART
is not always the first instance
#119
Comments
From https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.3:
The example that you're giving ignores this recommendation.
By ignoring the above recommendation, the result of this combination of DTSTART+RRULE is undefined. E.g.: no specific solution is correct. Although we can comment on which ones we think are better/worse. Let's rewrite this RRULE and DTSTART into plain English:
IMHO, it is ambiguous whether there is also a meeting on the 30th or not. I'd ask the sender to reformulate, in alignment with "The "DTSTART" property value SHOULD be synchronized with the recurrence rule". However, having a total four is absolutely wrong. Section 3.3.10 is quite explicit about this:
|
Agree with the ambiguity of the rule and understand your arguments 👍 It does feel like Google has a peculiar way of handling these recurring rules. That brings me a following point then: In order to replicate Google's behaviour, I started adding the
and this gives me the exact same result as Google in this specific case. BUT, in cases where the the
with result:
What's your opinion on deduplicating the results in this case (to guarantee we receive unique dates)? |
I found a "tricky" situation where I'm not 100% sure what the correct ouput should be according to the RFC.
I have a rule that:
DTSTART
that is on a Thursday:DTSTART;TZID=Europe/Berlin:20240530T200000
RRULE:FREQ=WEEKLY;COUNT=3;INTERVAL=1;BYDAY=WE
Initially I would expect the recurrences to match only the 3 Wednesdays after the
DTSTART
date.However, I noticed that Google Calendar actually generates 4 instances for this same rule:
DTSTART
Then looking a bit more closely at the RFC, it states that the
DTSTART
should always match the first generated occurrence:But then it's also a bit odd that asking for 3 events (
COUNT=3
) actually generates 4 instances 😱Do you have more context on what should be the expected behaviour in this case (according to the RFC)?
I wrote a test to describe the issue:
The text was updated successfully, but these errors were encountered: