After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 673894 - Adding events to Google Calendar is broken
Adding events to Google Calendar is broken
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
3.4.x (obsolete)
Other Linux
: Normal major
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 673538 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-04-11 09:51 UTC by Jonathan Ernst
Modified: 2012-04-16 05:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
e-calendar-factory output (15.02 KB, text/plain)
2012-04-11 09:51 UTC, Jonathan Ernst
  Details
eds patch (3.35 KB, patch)
2012-04-12 12:50 UTC, Milan Crha
committed Details | Review

Description Jonathan Ernst 2012-04-11 09:51:21 UTC
Created attachment 211817 [details]
e-calendar-factory output

Steps to reproduce :

1) add a new event to one of your google calendar
2) error message shows (translated from French) : Unable to create calendar object : The calendar doesn't exists
3) discard the new event dialog
4) check on the web : the event has been added nevertheless
5) some time after (next evolution sync) : the event appears on evolution

This affects a lot of the users I'm helping with Ubuntu related issues and is the exact same problem described here :

http://ubuntuforums.org/showthread.php?p=11834712

And there is more automatically fetched data in my downstream bug report :

https://bugs.launchpad.net/bugs/978728

I also attach here the result of CALDAV_DEBUG=all /usr/lib/evolution/e-calendar-factory -r. This shows the following error when clicking on save :

(e-calendar-factory:30861): e-cal-backend-caldav-WARNING **: Could not fetch object 'https://jonathan%40ernstfamily.ch@www.google.com/calendar/dav/jonathan%40ernstfamily.ch/events/20120411T094521Z-30973-1000-20661-0_jernst-laptop-20120411T094527Z.ics' from server, status:404 (Not Found)

This affects every google apps calendar that I have tried on several domains.
Comment 1 Jonathan Ernst 2012-04-11 09:53:25 UTC
Might be a duplicate of Bug 666038 but the error message seems different so I opened a new one
Comment 2 Milan Crha 2012-04-12 09:11:42 UTC
Downstream bug report about the same from 3.4.0:
https://bugzilla.redhat.com/show_bug.cgi?id=811791
Comment 3 Milan Crha 2012-04-12 12:35:17 UTC
Thanks for a bug report. I can reproduce it too. I do not think the CalDAV backend does anything wrong, it creates event according to [1], thus I suspect Google did an "update" on their CalDAV implementation. If I recall correctly, then the PUT request should be either followed by a redirection when server saves the event in a different place than requested, or it should include a Location header in it's Created response. None of that Google server does.

[1] http://tools.ietf.org/html/rfc4791.html#section-5.3.2
Comment 4 Milan Crha 2012-04-12 12:50:17 UTC
Created attachment 211924 [details] [review]
eds patch

for evolution-data-server;

OK, let's workaround their fault. After each PUT, CalDAV backend receives the event from a server, to present actual server version of the event to a user (you can notice that with google, if you have configured a default alarm on the server - you create an event without alarm in evolution, but as soon as it's saved the event is updated with added alarm). If this Get fails with 404 (not found), then CalDAV backend tries to get the event based on its UID. It can be misleading, but still think of this as a workaround for Google. If even this fails, then the event is left as is (also without corresponding ETag) and there is scheduled a full update, which will eventually remove this event and it'll download its live version from the server.
Comment 5 Milan Crha 2012-04-12 12:53:54 UTC
Created commit 67ccfad in eds master (3.5.1+)
Created commit de60fed in eds gnome-3-4 (3.4.1+)
Comment 6 Milan Crha 2012-04-12 12:56:03 UTC
*** Bug 673538 has been marked as a duplicate of this bug. ***