View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006133 | SOGo | Backend Calendar | public | 2025-06-26 07:51 | 2025-08-01 10:11 |
Reporter | jordi | Assigned To | qhivert | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | feedback | Resolution | open | ||
Product Version | 5.12.1 | ||||
Summary | 0006133: Timezone updates not being taken into account | ||||
Description | The executive summary:
If you inspect the ics for the meeting that was shared by Thunderbird, you can see it included the entire historical timezone changes for Sao Paulo since 1914. Is it possible SOGo is unable to parse the entire thing and ends up not knowing Brazil stopped doing DST in 2019? These are the last entries in the Sao Paulo section:
| ||||
Tags | No tags attached. | ||||
Note that we have the same problem with a Chilean user, so this isn't specific to Sao Paulo. |
|
Hello, could you give me the full ics file? SOGo use the iana databases for its timezone -> https://www.iana.org/time-zones |
|
Hi Quentin! I've got the ics from that motivated the report and anonymized it. Hope it is useful! calendar.ics (11,373 bytes)
BEGIN:VCALENDAR PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN VERSION:2.0 METHOD:REQUEST BEGIN:VTIMEZONE TZID:America/Sao_Paulo X-TZINFO:America/Sao_Paulo[2024b] BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-030628 TZNAME:America/Sao_Paulo(STD) DTSTART:19140101T000000 RDATE:19140101T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19311003T110000 RDATE:19311003T110000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19320401T000000 RDATE:19320401T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19321003T000000 RDATE:19321003T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19330401T000000 RDATE:19330401T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19491201T000000 RDATE:19491201T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19500416T010000 RDATE:19500416T010000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19501201T000000 RDATE:19501201T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19510401T000000 RDATE:19510401T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19511201T000000 RDATE:19511201T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19520401T000000 RDATE:19520401T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19521201T000000 RDATE:19521201T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19530301T000000 RDATE:19530301T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19631023T000000 RDATE:19631023T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19640301T000000 RDATE:19640301T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19650131T000000 RDATE:19650131T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19650331T000000 RDATE:19650331T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19651201T000000 RDATE:19651201T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19660301T000000 RDATE:19660301T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19661101T000000 RDATE:19661101T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19670301T000000 RDATE:19670301T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19671101T000000 RDATE:19671101T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19680301T000000 RDATE:19680301T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19851102T000000 RDATE:19851102T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19860315T000000 RDATE:19860315T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19861025T000000 RDATE:19861025T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19870214T000000 RDATE:19870214T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19871025T000000 RDATE:19871025T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19880207T000000 RDATE:19880207T000000 END:STANDARD BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19890129T000000 RDATE:19890129T000000 END:STANDARD BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19900211T000000 RDATE:19900211T000000 END:STANDARD BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19910217T000000 RDATE:19910217T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19881016T000000 RRULE:FREQ=YEARLY;UNTIL=19911020T000000;BYMONTH=10;BYDAY=3SU END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19920209T000000 RDATE:19920209T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19921025T000000 RDATE:19921025T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19930131T000000 RDATE:19930131T000000 END:STANDARD BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19940220T000000 RRULE:FREQ=YEARLY;UNTIL=19950219T000000;BYMONTH=2;BYDAY=3SU END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19931017T000000 RRULE:FREQ=YEARLY;UNTIL=19951015T000000;BYMONTH=10;BYDAY=3SU END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19960211T000000 RDATE:19960211T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19961006T000000 RDATE:19961006T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19970216T000000 RDATE:19970216T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19971006T000000 RDATE:19971006T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19980301T000000 RDATE:19980301T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19981011T000000 RDATE:19981011T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:19990221T000000 RDATE:19990221T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:19991003T000000 RDATE:19991003T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20000227T000000 RDATE:20000227T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20001008T000000 RRULE:FREQ=YEARLY;UNTIL=20011014T000000;BYMONTH=10;BYDAY=2SU END:DAYLIGHT BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20021103T000000 RDATE:20021103T000000 END:DAYLIGHT BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20031019T000000 RDATE:20031019T000000 END:DAYLIGHT BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20041102T000000 RDATE:20041102T000000 END:DAYLIGHT BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20051016T000000 RDATE:20051016T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20010218T000000 RRULE:FREQ=YEARLY;UNTIL=20060219T000000;BYMONTH=2;BYDAY=3SU END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20061105T000000 RDATE:20061105T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20070225T000000 RDATE:20070225T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20071014T000000 RDATE:20071014T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20080217T000000 RRULE:FREQ=YEARLY;UNTIL=20110220T000000;BYMONTH=2;BYDAY=3SU END:STANDARD BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20120226T000000 RDATE:20120226T000000 END:STANDARD BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20130217T000000 RRULE:FREQ=YEARLY;UNTIL=20140216T000000;BYMONTH=2;BYDAY=3SU END:STANDARD BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20150222T000000 RDATE:20150222T000000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20081019T000000 RRULE:FREQ=YEARLY;UNTIL=20171015T000000;BYMONTH=10;BYDAY=3SU END:DAYLIGHT BEGIN:DAYLIGHT TZOFFSETTO:-020000 TZOFFSETFROM:-030000 TZNAME:America/Sao_Paulo(DST) DTSTART:20181104T000000 RDATE:20181104T000000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETTO:-030000 TZOFFSETFROM:-020000 TZNAME:America/Sao_Paulo(STD) DTSTART:20160221T000000 RRULE:FREQ=YEARLY;UNTIL=20190217T000000;BYMONTH=2;BYDAY=3SU END:STANDARD END:VTIMEZONE BEGIN:VEVENT CREATED:20250611T192941Z LAST-MODIFIED:20250611T193820Z DTSTAMP:20250611T193820Z UID:00aab58e-40d7-4b93-b869-0648b7d2147b SUMMARY:State of the DRM Scheduler and current improvement efforts DTSTART;TZID=America/Sao_Paulo:20250624T110000 DTEND;TZID=America/Sao_Paulo:20250624T120000 TRANSP:OPAQUE LOCATION:https://aaaaaaaa.igalia.com/bbbbbbbbbbb ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=aaaaaa aaaaaaa;CUTYP E=INDIVIDUAL;RSVP=TRUE:mailto:aaaaaaaa@igalia.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=bbbbbbb bb;RSVP=TRUE :mailto:bbb@igalia.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=ccccccc cccc ccccc;R SVP=TRUE:mailto:ccccc@igalia.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=ddddd dddddd;RSVP=TR UE:mailto:ddddddd@igalia.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=eeee eeeee eeeeeee;R SVP=TRUE:mailto:eeeeee@igalia.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=fffff fffff;RSVP=TRU E:mailto:ffffff@igalia.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=gggg ggggggg;RSVP=TR UE:mailto:gggg@igalia.com ORGANIZER;PARTSTAT=NEEDS-ACTION;CN=iiiii iiiiiii;SENT-BY="mailto:iiiiiiiiii i@igalia.com";CUTYPE=INDIVIDUAL:mailto:iiiii@igalia.com CLASS:PUBLIC END:VEVENT END:VCALENDAR |
|
I'm going to attach another ics. I'm able to reproduce this consistently. I import the event using Thunderbird. It shows at the right time (10:00 America/Sao Paulo -> 15:00 CEST) but only on thunderbird. SOGo web interface shows the event starting at 14:00 CEST. The email notification I got also shows the event starting at the wrong time. Start Thursday, July 10, 2025 - 14:00 Hope this helps. calendar-2.ics (1,081 bytes)
BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID:-//Ximian//NONSGML Evolution Calendar//EN VERSION:2.0 METHOD:REQUEST BEGIN:VTIMEZONE TZID:America/Sao_Paulo X-LIC-LOCATION:America/Sao_Paulo BEGIN:STANDARD TZNAME:-03 TZOFFSETFROM:-0200 TZOFFSETTO:-0300 DTSTART:20130217T000000 RRULE:FREQ=YEARLY;UNTIL=20190217T020000Z;BYDAY=SU; BYMONTHDAY=17,18,19,21,22;BYMONTH=2 END:STANDARD BEGIN:DAYLIGHT TZNAME:-02 TZOFFSETFROM:-0300 TZOFFSETTO:-0200 DTSTART:20181104T000000 END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT UID:00302cb419598f48325c749240833a04c4cdb6f4 DTSTAMP:20250710T000756Z DTSTART;TZID=America/Sao_Paulo:20250710T100000 DTEND;TZID=America/Sao_Paulo:20250710T103000 SEQUENCE:2 ORGANIZER;CN=Aaaaaa Aaaaaaaaaaa:mailto:aaaa@igalia.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED; RSVP=FALSE;CN=Bbbbb Bbbbb:mailto:bbbbbb@igalia.com SUMMARY:Ccccccccc ccccccc LOCATION:https://dddddddd.dddddd.ddd/eeeeeeeeeeeeeeee TRANSP:OPAQUE STATUS:CONFIRMED URL:https://ffffffff.ffffff.fff/gggggggggggggggg CLASS:PUBLIC END:VEVENT END:VCALENDAR |
|
Hello, Notice the quotes around fix and wrong. In the ics files, the timezone part should be like this
As there is no more daytime saving (DTS) for the timezone, notice that both values are the same -0300. When you create the event in SOGo, no problem. When you import your example into SOGo, no problem as well because SOGo will replace the VTIMEZONE with its info. However, when using caldav, SOGo will keep the original VTIMEZONE to not alter the file. When reading the file, sogo will found the timezone America/Sao_Paulo and will read get the info in VTIMEZONE, hence the "wrong" startdate written in the database. I'm assuming that thunderbird only read the timezone name and then fetch directly into their timezone info/db instead of reading the VTIMEZONE. That's my "fix" for SOGo. Now Sogo will read its own timezone info (always using the last iana https://www.iana.org/time-zones) instead of reading the VTIMEZONE. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2025-06-26 07:51 | jordi | New Issue | |
2025-06-26 07:52 | jordi | Note Added: 0018284 | |
2025-07-08 14:01 | qhivert | Note Added: 0018300 | |
2025-07-08 14:01 | qhivert | Assigned To | => qhivert |
2025-07-08 14:01 | qhivert | Status | new => feedback |
2025-07-15 12:47 | pabelenda | Note Added: 0018302 | |
2025-07-15 12:47 | pabelenda | File Added: calendar.ics | |
2025-07-29 11:58 | pabelenda | Note Added: 0018323 | |
2025-07-29 11:58 | pabelenda | File Added: calendar-2.ics | |
2025-08-01 10:11 | qhivert | Note Added: 0018324 | |
2025-08-01 10:11 | qhivert | Status | feedback => assigned |
2025-08-01 10:11 | qhivert | Status | assigned => feedback |