You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Ical.Net VEVENT components are deserialized into CalendarEvent objects. During the deserialization process the DURATION property is extrapolated into DTEND and vice versa. I.e. one is calculated out of the other, so after deserialziation both are present. The information, which of both was contained in the original VEVENT component is lost during deserialization.
This is a problem when it comes to recurring events, because according to RFC 5545 recurrence sets are generated differently depending on which of both was used to specify the duration.
If the duration of the recurring component is specified with the
"DTEND" or "DUE" property, then the same exact duration will apply
to all the members of the generated recurrence set. Else, if the
duration of the recurring component is specified with the
"DURATION" property, then the same nominal duration will apply to
all the members of the generated recurrence set and the exact
duration of each recurrence instance will depend on its specific
start time.
Suggestion: During deserialization retain the information, which property (DURATION, DTEND, DUE) was used to specify an VEVENT's duration.
The text was updated successfully, but these errors were encountered:
…ly calculate the duration on the fly when needed. This way we don't overwrite the information, which of both was originally set and can adjust calculations accordingly (in the future). See ical-org#574.
…ly calculate the duration on the fly when needed. This way we don't overwrite the information, which of both was originally set and can adjust calculations accordingly (in the future). See ical-org#574.
In Ical.Net
VEVENT
components are deserialized intoCalendarEvent
objects. During the deserialization process theDURATION
property is extrapolated intoDTEND
and vice versa. I.e. one is calculated out of the other, so after deserialziation both are present. The information, which of both was contained in the originalVEVENT
component is lost during deserialization.This is a problem when it comes to recurring events, because according to RFC 5545 recurrence sets are generated differently depending on which of both was used to specify the duration.
See https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.3:
Suggestion: During deserialization retain the information, which property (
DURATION
,DTEND
,DUE
) was used to specify an VEVENT's duration.The text was updated successfully, but these errors were encountered: