View Issue Details

IDProjectCategoryView StatusLast Update
0005895SOGoBackend Calendarpublic2023-12-17 11:50
Reportergdelafond Assigned Toqhivert  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version5.9.1 
Summary0005895: Modifiying an event that contains DURATION= makes it unasable by (at least) macOS/IOS clients
Description

When modifying an event in SOGo that contains DTSTART & DURATION (add an additional attendee by example), SOGo adds “DTEND” in the ICS but doesn't remove the “DURATION".

At the end, the ICS contains DURATION and DTEND, but the rfc5546 says :
| DTEND | 0 or 1 | If present, DURATION MUST NOT be present
| DURATION | 0 or 1 | If present, DTEND MUST NOT be present

When the ICS contains DTEND & DURATION, the event is not visible on Apple Calendar.app (via the caldav connection) and the ICS cannot be manually imported (On macOS 13.6, Calendar.app says "No event was added. No valid events were found to add to your calendar.").

PS: I have tested it with Thunderbird and Korganizer on linux and they accept it with both DURATION & DTEND.

Steps To Reproduce

Add a event to SOGo with DTSTART & DURATION (on our case it is created by a cal.com self-hosted instance).
Modify it in SOGo web interface (like add an additional attendee).
Try to view the event in Apple Calendar.app (Desktop or IOS).

Additional Information

See post "DURATION and DTEND bug ?" on users mailing.

TagsNo tags attached.

Activities

qhivert

qhivert

2023-11-17 08:26

administrator   ~0017441

Hello,
I've made a fix available in the nightly tomorrow -> https://github.com/Alinto/sogo/commit/0023a9ce3c4027bb32699efc5529a4a53d7699f6
Le me know if it works. If you already have "corrupted" events, you can modify them again to fix them.

Issue History

Date Modified Username Field Change
2023-10-30 09:44 gdelafond New Issue
2023-10-31 08:27 qhivert Assigned To => qhivert
2023-10-31 08:27 qhivert Status new => assigned
2023-11-17 08:26 qhivert Note Added: 0017441
2023-11-17 08:27 qhivert Status assigned => resolved
2023-11-17 08:27 qhivert Resolution open => fixed
2023-11-17 08:27 qhivert Fixed in Version => 5.9.1
2023-12-17 11:50 qhivert Status resolved => closed