Re: [Evolution-hackers] Need help debugging owncloud caldav problem

2015-11-26 Thread James Bottomley
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

2015-11-26 Thread Milan Crha
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

2015-11-25 Thread James Bottomley
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

2015-11-25 Thread Milan Crha
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

2015-11-25 Thread James Bottomley
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

2015-11-24 Thread Milan Crha
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

2015-11-24 Thread James Bottomley
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

2015-11-18 Thread Ángel González
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

2015-11-18 Thread James Bottomley
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

2015-11-17 Thread Milan Crha
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

2015-11-17 Thread James Bottomley
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