On 04/05/2016 11:41 AM, Dave Fullerton (dfullertaster...@shorelinecontainer.com) wrote:
On 04/05/2016 10:47 AM, Charles Marcus (cmar...@media-brokers.com) wrote:
On 3/29/2016 3:44 PM, Chris (ch...@espacenetworks.com) <users@sogo.nu>
wrote:
On 3/29/2016 3:10 PM, Dave Fullerton
(dfullertaster...@shorelinecontainer.com) 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.

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.

So... is this a Thunderbird bug or SOGo bug?

Was a bug report created in the offending software's bug tracker?

I don't know which side is the guilty party. I know that thunderbird is
capable of receiving unicode characters because some of the emoji in the
events that didn't cause the error would appear as a diamond with a "?"
in the middle. That means that SOGo was able to store the character and
transmit it to thunderbird even if thunderbird couldn't display it. In
other cases, it wasn't. But I'm not sure how to tell which program is at
fault.

So, no, a bug report was not created.

-Dave





Mr Marcus,
Your email got me thinking about this more and I ran another test. I created a new user with a blank calendar and loaded some events with an iPad. First an event with no emoji which syncs with thunderbird fine. Then an event with emoji that will not sync with thunderbird. I tried a packet capture but I couldn't not see any of the calendar data being transmitted. Next I removed the caldav account on the iPad, rebooted it and re-added the account. None of the events showed up. As soon as I removed the emoji event from within SOGo, the other event appeared on the iPad. So I am concluding this is a SOGo issue.

A bug report has been filed:
http://sogo.nu/bugs/view.php?id=3616

-Dave
--
users@sogo.nu
https://inverse.ca/sogo/lists

Reply via email to