Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Thu, 2015-11-26 at 09:06 +0100, Milan Crha wrote: > On Thu, 2015-11-26 at 08:01 +0300, James Bottomley wrote: > > I'm thinking currently the fix might be in libical. Both the issues: > > converting VALUE= to VALUE=x and adding it to the TZID look to be > > bugs in that library. > > Hi, > what is your libical version, please? As I said in the previous email, > mine version, 1.0.1, doesn't add quotes around the value. It only makes > the VALUE=X from VALUE=. I tried that on a local calendar (On This > Computer), which pointed to a custom file, where I did all the "raw" > editing. rpm -qi libical1 Name: libical1 Version : 1.0 Release : 5.2.2 James ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Thu, 2015-11-26 at 08:01 +0300, James Bottomley wrote: > I'm thinking currently the fix might be in libical. Both the issues: > converting VALUE= to VALUE=x and adding it to the TZID look to be > bugs in that library. Hi, what is your libical version, please? As I said in the previous email, mine version, 1.0.1, doesn't add quotes around the value. It only makes the VALUE=X from VALUE=. I tried that on a local calendar (On This Computer), which pointed to a custom file, where I did all the "raw" editing. Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Wed, 2015-11-25 at 15:23 +0100, Milan Crha wrote: > On Wed, 2015-11-25 at 12:21 +0300, James Bottomley wrote: > > On Tue, 2015-11-24 at 18:32 +0100, Milan Crha wrote: > > > On Tue, 2015-11-24 at 15:17 +0300, James Bottomley wrote: > > > > DTSTART;TZID=America/Los_Angeles:20131024T18 > > > > DTEND;TZID="America/Los_Angeles;VALUE=":20131024T20 > > > > > > > > However, this doesn't excuse evolution's handling of it, > > Hi, > it depends. > > > because every other caldav implementation silently ignores this > > How do they ignore it? Do they convert the time into a floating time? > That means that they interpret the end time of the event as being in > the timezone the view is set for. No, they just drop the bogus VALUE=, so what owncloud supplies is DTEND;TZID=America/Los_Angeles;VALUE=:20151125T19 simply becomes DTEND;TZID=America/Los_Angeles:20151125T19 And the appointment ends up being displayed correctly. > Thus, if you've set your view's > (UI's) timezone to America/Los_Angeles, then you won't notice any > difference, the event will be on 2013-10-24 between 18:00 and 20:00. If > you've view's timezone set to UTC, then the time with the floating > interpretation is from 2013-10-25 02:00 to 2013-10-24 20:00. That means > the start of the event is _after_ its end. It's precisely what the > evolution's day view told you: > > (evolution:19872): calendar-gui-CRITICAL **: e_day_view_add_event: > > assertion 'start <= end' failed > > > whereas we mangle it into a potentially unreadable timezone and then > > drop the event. The mangling seems to occur as part of the back end > > caching and is likely the fault of libical. > > Right, I'd like to know which part added the quotes. I tried to read > the same event without the quotes and save it locally and the result > was: >DTEND;VALUE=X;TZID=America/Los_Angeles:20151125T19 > that means the libical didn't add there the quotes. At least the 1.0.1 > version doesn't do that. You started with the thing the wrong way around you need to feed it DTEND;TZID=America/Los_Angeles;VALUE=:20151125T19 Which then gets cached as DTEND;TZID="America/Los_Angeles;VALUE=":20151125T19 So for some reason the bogus value gets appended to the timezone. > I also tried what the evolution's UI will do when I change my view's > timezone to America/Los_Angeles and set the DTENT to the quoted TZID, > as you found it, and the result is that the evolution showed the event > properly. As soon as I changed to another timezone, like a > Europe/Prague, the event disappeared from the view and the evolution > console contained runtime warnings, though different from that yours: > >> e_day_view_add_event: assertion 'start < add_event_data->day_view > >> ->upper' failed > > Interestingly, a change of the view's timeozne to Pacific/Midway didn't > make the event longer. I would expect it to happen. > > > I'll see if I can work out how to fix it. > > Thanks, I appreciate it. Just consider that trying to workaround other > software's fault, especially such specific, is likely not to happen. > It's because the only correct fix is the fix of the broken software > (aka your opened ticket against ownCloud). I'm thinking currently the fix might be in libical. Both the issues: converting VALUE= to VALUE=x and adding it to the TZID look to be bugs in that library. James ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Wed, 2015-11-25 at 12:21 +0300, James Bottomley wrote: > On Tue, 2015-11-24 at 18:32 +0100, Milan Crha wrote: > > On Tue, 2015-11-24 at 15:17 +0300, James Bottomley wrote: > > > DTSTART;TZID=America/Los_Angeles:20131024T18 > > > DTEND;TZID="America/Los_Angeles;VALUE=":20131024T20 > > > > > However, this doesn't excuse evolution's handling of it, Hi, it depends. > because every other caldav implementation silently ignores this How do they ignore it? Do they convert the time into a floating time? That means that they interpret the end time of the event as being in the timezone the view is set for. Thus, if you've set your view's (UI's) timezone to America/Los_Angeles, then you won't notice any difference, the event will be on 2013-10-24 between 18:00 and 20:00. If you've view's timezone set to UTC, then the time with the floating interpretation is from 2013-10-25 02:00 to 2013-10-24 20:00. That means the start of the event is _after_ its end. It's precisely what the evolution's day view told you: > (evolution:19872): calendar-gui-CRITICAL **: e_day_view_add_event: > assertion 'start <= end' failed > whereas we mangle it into a potentially unreadable timezone and then > drop the event. The mangling seems to occur as part of the back end > caching and is likely the fault of libical. Right, I'd like to know which part added the quotes. I tried to read the same event without the quotes and save it locally and the result was: DTEND;VALUE=X;TZID=America/Los_Angeles:20151125T19 that means the libical didn't add there the quotes. At least the 1.0.1 version doesn't do that. I also tried what the evolution's UI will do when I change my view's timezone to America/Los_Angeles and set the DTENT to the quoted TZID, as you found it, and the result is that the evolution showed the event properly. As soon as I changed to another timezone, like a Europe/Prague, the event disappeared from the view and the evolution console contained runtime warnings, though different from that yours: >> e_day_view_add_event: assertion 'start < add_event_data->day_view >> ->upper' failed Interestingly, a change of the view's timeozne to Pacific/Midway didn't make the event longer. I would expect it to happen. > I'll see if I can work out how to fix it. Thanks, I appreciate it. Just consider that trying to workaround other software's fault, especially such specific, is likely not to happen. It's because the only correct fix is the fix of the broken software (aka your opened ticket against ownCloud). Thanks and bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Tue, 2015-11-24 at 18:32 +0100, Milan Crha wrote: > On Tue, 2015-11-24 at 15:17 +0300, James Bottomley wrote: > > DTSTART;TZID=America/Los_Angeles:20131024T18 > > DTEND;TZID="America/Los_Angeles;VALUE=":20131024T20 > > > > Removing the quotes and the spurious ;VALUE= for the DTEND TZID causes > > the event to become visible when evolution is restarted. So, it looks > > like something in the caldav connector is adding bogus data to the TZID > > information. > > Hi, > I agree with you, the empty VALUE= should not be there. How the quotes > got around it is another question. OK, so I found the reason for this. There's a bug in the owncloud calendar importer that adds an empty VALUE= label to DTEND https://github.com/owncloud/calendar/issues/991 However, this doesn't excuse evolution's handling of it, because every other caldav implementation silently ignores this whereas we mangle it into a potentially unreadable timezone and then drop the event. The mangling seems to occur as part of the back end caching and is likely the fault of libical. I'll see if I can work out how to fix it. James ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Tue, 2015-11-24 at 15:17 +0300, James Bottomley wrote: > DTSTART;TZID=America/Los_Angeles:20131024T18 > DTEND;TZID="America/Los_Angeles;VALUE=":20131024T20 > > Removing the quotes and the spurious ;VALUE= for the DTEND TZID causes > the event to become visible when evolution is restarted. So, it looks > like something in the caldav connector is adding bogus data to the TZID > information. Hi, I agree with you, the empty VALUE= should not be there. How the quotes got around it is another question. I suppose you are trying to figure out which of the clients made the change on the event that garbled its DTEND, right? It can be the evolution too, with its libical. If I'd guess, I'd try to change an all day event into an event which is within one day. The all day events created by the evolution are with VALUE=DATE, which made me wondering about this possibility. Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Wed, 2015-11-18 at 10:03 -0800, James Bottomley wrote: > On Wed, 2015-11-18 at 07:53 +0100, Milan Crha wrote: > > On Tue, 2015-11-17 at 09:42 -0800, James Bottomley wrote: > > > Shows they're all present, including the ones evolution is not > > > displaying. I suspect there's some issue somewhere in the ical file > > > that's causing a parse problem ... so my question, how do I debug > > > this? Is there a magic debug option to show parsing of ical events? > > > > Hi, > > there is no magic option to debug parsing of the iCalendar object, the > > only CalDAV related debugging option you already found and used > > properly. > > Sigh, that's what I suspected from reading the code; thanks for > confirming. > > > I would double-check that you do not have any filters set in the > > Evolution's UI, then pick one of those missing events and enter a > > similar one into the CalDAV calendar. Then compare the two objects in > > the local cache and see the differences. Compare also UID and > > RECURRENCE-ID properties of the components, the later is there for > > recurring events only. > > Right, no filters. Actually I've been copying events into a local > calendar (as in creating an ical file from the events in the local > caldav cache) ... what do you know, not only do they appear, but the > missing equivalent in the caldav calendar also appears. So I'm thinking > this is either some sort of iterator problem in the data server itself, > or in the actual evolution front end. > > > It would be also interesting if you could share one of the missing > > events, with sanitized values like the Summary, Description and any > > e-mail addresses and such - anything you consider private. > > I will if I can find one which genuinely fails ... as in it won't appear > even when placed into a separate ical file. OK, I think I've identified one reason. It seems to be a misparsing of DTEND in the caldav cache. An event that's not appearing is triggering this warning: (evolution:19872): calendar-gui-CRITICAL **: e_day_view_add_event: assertion 'start <= end' failed And, on checking the calendar.ics cache, this appears for the times: DTSTART;TZID=America/Los_Angeles:20131024T18 DTEND;TZID="America/Los_Angeles;VALUE=":20131024T20 Removing the quotes and the spurious ;VALUE= for the DTEND TZID causes the event to become visible when evolution is restarted. So, it looks like something in the caldav connector is adding bogus data to the TZID information. James ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
James Bottomley wrote: > > It would be also interesting if you could share one of the missing > > events, with sanitized values like the Summary, Description and any > > e-mail addresses and such - anything you consider private. > > I will if I can find one which genuinely fails ... as in it won't > appear > even when placed into a separate ical file. As you are working with owncloud, perhaps it's easier for you to publish a new public calendar with fake events for people to connect to. ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Wed, 2015-11-18 at 07:53 +0100, Milan Crha wrote: > On Tue, 2015-11-17 at 09:42 -0800, James Bottomley wrote: > > Shows they're all present, including the ones evolution is not > > displaying. I suspect there's some issue somewhere in the ical file > > that's causing a parse problem ... so my question, how do I debug > > this? Is there a magic debug option to show parsing of ical events? > > Hi, > there is no magic option to debug parsing of the iCalendar object, the > only CalDAV related debugging option you already found and used > properly. Sigh, that's what I suspected from reading the code; thanks for confirming. > I would double-check that you do not have any filters set in the > Evolution's UI, then pick one of those missing events and enter a > similar one into the CalDAV calendar. Then compare the two objects in > the local cache and see the differences. Compare also UID and > RECURRENCE-ID properties of the components, the later is there for > recurring events only. Right, no filters. Actually I've been copying events into a local calendar (as in creating an ical file from the events in the local caldav cache) ... what do you know, not only do they appear, but the missing equivalent in the caldav calendar also appears. So I'm thinking this is either some sort of iterator problem in the data server itself, or in the actual evolution front end. > It would be also interesting if you could share one of the missing > events, with sanitized values like the Summary, Description and any > e-mail addresses and such - anything you consider private. I will if I can find one which genuinely fails ... as in it won't appear even when placed into a separate ical file. > By the way, what evolution(-data-server) version are you using, please? 3.12 James > Bye, > Milan > ___ > evolution-hackers mailing list > evolution-hackers@gnome.org > To change your list options or unsubscribe, visit ... > https://mail.gnome.org/mailman/listinfo/evolution-hackers > ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Need help debugging owncloud caldav problem
On Tue, 2015-11-17 at 09:42 -0800, James Bottomley wrote: > Shows they're all present, including the ones evolution is not > displaying. I suspect there's some issue somewhere in the ical file > that's causing a parse problem ... so my question, how do I debug > this? Is there a magic debug option to show parsing of ical events? Hi, there is no magic option to debug parsing of the iCalendar object, the only CalDAV related debugging option you already found and used properly. I would double-check that you do not have any filters set in the Evolution's UI, then pick one of those missing events and enter a similar one into the CalDAV calendar. Then compare the two objects in the local cache and see the differences. Compare also UID and RECURRENCE-ID properties of the components, the later is there for recurring events only. It would be also interesting if you could share one of the missing events, with sanitized values like the Summary, Description and any e-mail addresses and such - anything you consider private. By the way, what evolution(-data-server) version are you using, please? Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
[Evolution-hackers] Need help debugging owncloud caldav problem
At least, it may not necessarily be a caldav problem, I think it might actually be an ical parsing issue. The symptoms are that I've exported about 1,300 events from my google calendar and imported it successfully into owncloud. Verification via the web calendar and also the caldav android connector works and sees all the events. Evoution does not, its calendar only sees a couple of them. doing CALDAV_DEBUG=all, I see the caldav backend has sync'd all the events, confirmed by this message CalDAV - finished syncing with 1278 items in a cache And a manual inspection of .cache/evolution/calendar/1447535993.17449.1@jarvis/calendar.ics Shows they're all present, including the ones evolution is not displaying. I suspect there's some issue somewhere in the ical file that's causing a parse problem ... so my question, how do I debug this? Is there a magic debug option to show parsing of ical events? Thanks, James ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers