On 3/29/2016 3:10 PM, Dave Fullerton ([email protected]) wrote:

I figured out what was causing thunderbird's sync to fail. It appears this particular user was putting emoji (unicode) in some of his events. Thunderbird appears to download the calendar in blocks and whenever it would come across these emoji in a block the remaining (or even all, I didn't actually check) of the events in that block would be missing.

The interesting bit was that some of these events that caused thunderbird to fail on the download also did not appear in SOGo's own web interface. I had to use a PHP caldav class to remove the offending entries via href.

Here is what I had to do to find and correct the entries in case it is of any help to any one else:

1) In thunderbird's config editor, set the calendar.debug.log and calendar.debug.log.verbose to true.
2) Open Thunderbird's error console (CTRL-SHIFT-J)
3) Clear the error console but leave it open.
4) Reset the calendar cache and force thunderbird to re-download the entire calendar. 5) Check the error console for the "CalDAV: Fatal Error doing..." warning message. 6) Look at the message just below it that contains the ical raw data. You will see BEGIN:VCALENDAR, BEGIN:VEVENT, etc data. Scroll so you can see the bottom of this message (it could take several screens worth to get to the bottom) and look at the last line. In my case the last line was a SUMMARY: line. This is the event that Thunderbird choked on. Using the SUMMARY, DTSTART or any other information you can find use it to locate that event in the web interface, edit it and remove anything that is not a regular printed character. In some cases I had to query the sogo database for more information, like an href so I could delete it with a php caldav class. 7) Go to step 3 and repeat until there are no more warning messages in step 5. 8) Send an email to the user and tell them to stop using emoji in their calendar events.

-Dave
Good work!
Inverse should fix this bug in the CalDAV calendar sync so that it is able to encounter unicode/emoji without crashing the sync.

--
[email protected]
https://inverse.ca/sogo/lists

Reply via email to