Bug 1203773

Summary: Retrieved list of Google calendars opened empty
Product: [Fedora] Fedora Reporter: Heiko Adams <bugzilla>
Component: evolutionAssignee: Milan Crha <mcrha>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 22CC: lucilanga, mbarnes, mcrha, tpopela
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: evolution-3.16.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-04-03 09:03:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Heiko Adams 2015-03-19 16:09:06 UTC
Description of problem:
When trying to include additional google calendars the list of calendars stays empty.

Version-Release number of selected component (if applicable):
$ rpm -qa evolution\*
evolution-ews-3.15.91-1.fc22.x86_64
evolution-help-3.15.91-1.fc22.noarch
evolution-data-server-3.15.91-1.fc22.x86_64
evolution-3.15.91-1.fc22.x86_64

$ rpm -qa libgdata\*
libgdata-0.16.1-1.fc22.x86_64

How reproducible:
allways

Steps to Reproduce:
1. Start evolution
2. Open the "New calendar" dialog and choose "Google" as source
3. Enter the name of the calendar and your Google username
4. Click on the button to retrieve the list of calendars

Actual results:
Evolution asks for calendar password and then nothing happens. The opening dialog is empty

Expected results:
Evolution should fetch the list of accessible calendars

Additional info:
My Google account is configured to use two-factor-authentication.

Comment 1 Milan Crha 2015-03-23 17:24:12 UTC
Thanks for a bug report. Your version is using a CalDAV interface, which may have issues with your two-factor authentication. there might work an application specific password, if you are asked for a password at all.

Comment 2 Heiko Adams 2015-03-23 17:36:07 UTC
I used an application specific password for that with no success

Comment 3 Milan Crha 2015-03-24 14:37:28 UTC
I had another user facing the same issue as you do with 3.16.0. He told me that it works fine for him with current git master, where were done changes in this regard, but those changes cannot be backported to 3.16.x, due to involved API changes. I can see my calendars, even I do not use 2-factor authentication. We did some debugging and the debug log showed that the server returned an empty list of calendars, which evolution showed in the UI. I suppose it's the same for you.

Could you try to:
a) File->New->Calendar
b) choose CalDAV type
c) into URL write: https://www.google.com/calendar/dav/
d) into User your Google user name (I use it without the @gmail.com suffix)
e) click "Find Calendars" button and enter the password

This gives me the list of calendars. The difference between the URL being used by the Google calendar type and this test is that the Google type uses concrete calendar URL, which can avoid lookup of other calendars. I still get the list of my calendars when I choose "Google" type at step b) above.

Comment 4 Heiko Adams 2015-03-25 10:39:21 UTC
I'm sorry but with evolution 3.15.92 this doesn't work. I still get an empty calendar-dialog. Maybe there's something changed between 3.15.92 and 3.16.0 that makes that way a workaround.

Comment 5 Milan Crha 2015-04-03 09:03:30 UTC
I see. The 3.15.92 and 3.16.0 has no code changes, there landed only translations. I found the issue, here, there was used an uninitialized variable, which avoided list population, regardless the provided password being correct. There is currently no workaround for it. I fixed this for 3.16.1 of evolution. You can also use a test build I made [1]. Interesting is that the same code in Fedora 21 works fine, but not in Fedora 22. Might be related to that uninitialized state of the variable.

Created commit 6b8c717 in evo gnome-3-16 (3.16.1+) [2]

[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=9404864
[2] https://git.gnome.org/browse/evolution/commit/?id=6b8c717