Author: Tom Sydney Kerckhove <syd@cs-syd.eu>
Committer: Tom Sydney Kerckhove <NorfairKing@users.noreply.github.com>
ical-recurrence: keep one instance per start in the recurrence set @ Where duplicate instances are generated by the "RRULE" and "RDATE" properties, only one recurrence is considered. Duplicate instances are ignored. @ @ The duration of a specific recurrence may be modified in an exception component or simply by using an "RDATE" property of PERIOD value type. @ Unioning sets of EventOccurrence deduplicates on the start and the end together, so one instance survived twice whenever the same start arrived with two different ends. Key on the start alone instead. The quote above settles which one wins. A period-valued RDATE is how the duration of a single instance is changed, so it is meant to collide with the instance the rule generates, and it is the one that carries the intended duration. DTSTART beats the rule too, because its end is stated outright while the rule's is derived from it. This also updates zoned-recurring.occ, which recorded the bug: it listed four instances for a COUNT=3 rule, the first two being the same instance with its end written once in each of the event's two time zones. Its sibling zoned-recurring.res already listed three, because resolving the two ends to the same instant collapsed them, so the two golden files for that calendar disagreed about how many instances it has.