On 03/25/2016 02:03 PM, Dave Fullerton
([email protected]) wrote:
Greetings everyone,
I have a user who is unable to download his full calendar into
thunderbird. Events are appearing in the SOGo (2.3.8) web interface and
on his iPhone but not in thunderbird. When I reset the calendar cache in
thunderbird the calendar is cleared and only about 20 events download.
In Thunderbird's error console I see the following message repeated
three times:
CalDAV: Fatal Error doing multiget for Personal Calendar
file://c:/Documents.........../calendar-js/calDavRequestHandlers.js
line: 834
I have tried it with Thunderbird 38.6 and 38.7.1 using
connector/integrator 31.0.2 on two different computers and I get the
same thing.
The calendar will show up if I subscribe to it as a ics calendar on the
network, just not with caldav.
Any ideas?
Thank you
-Dave
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
--
[email protected]
https://inverse.ca/sogo/lists