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 660721 - Online Account services not always activating in Evolution
Online Account services not always activating in Evolution
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.2.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Milan Crha
Evolution QA team
evolution[goa]
: 661157 (view as bug list)
Depends on:
Blocks: 660133
 
 
Reported: 2011-10-02 21:49 UTC by Ian B. MacDonald
Modified: 2011-10-13 08:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test evo patch (1.07 KB, patch)
2011-10-07 14:13 UTC, Milan Crha
none Details | Review
proposed evo patch ][ (1.63 KB, patch)
2011-10-12 12:12 UTC, Milan Crha
committed Details | Review

Description Ian B. MacDonald 2011-10-02 21:49:12 UTC
Running 3.2.0 (-0ubuntu2 from Ubuntu 11.10 B2) I have noticed that when configuring Online Accounts for mail and contacts, Evolution is not always configured properly for the selected services.

To test a number of bugs I have been purging my evolution settings, and adding a Google account with just mail and contacts.  Most of the time when I start evolution after configuring the Online Account the gmail Inbox is missing.  In some cases the Google contact addressbook is also missing.

The problem is resolved by toggling the Online account services On->Off->On a few times until the missing service appears in Evolution. 

I have noticed that fixing the "Contacts" service somehow also brings back the missing Gmail Inbox, even though I did not toggle that service at all from the initial On position. 

The steps that reproduce this consistently for for me are:

1) Remove Online accounts
2) Check for running evo processes and force-shutdown/kill as required
3) Execute my Evolution clean-up script
 #!/bin/sh
 rm /home/imac/.config/evolution -rf
 rm /home/imac/.camel_certs -rf
 rm /home/imac/.gconf/apps/evolution -rf
 rm /home/imac/.local/share/evolution -rf
 rm /home/imac/.cache/evolution -rf
4) Reboot
5) Create an online account with mail and contacts
6) Start evolution
Comment 1 Milan Crha 2011-10-07 09:01:50 UTC
*** Bug 661157 has been marked as a duplicate of this bug. ***
Comment 2 Milan Crha 2011-10-07 14:13:16 UTC
Created attachment 198535 [details] [review]
test evo patch

for evolution;

Could you try with this test patch, please? It has one side-effect, it initializes mailer part each start, but, on the other hand, there is no runtime warning with it when starting evolution with Online accounts configured (it shouldn't be there with the patch anymore). If it'll work then we can try to find a better way of fixing this bug.
Comment 3 Ian B. MacDonald 2011-10-11 00:05:50 UTC
Applied this patch against 3.2.0 and still missing Online Account on first startup.

In fact it seemed worse, no gmail, contacts or calendar appeared in two iterations following similar steps to those outlined above. I don't recall missing all three previously. I introduced another step before #3 above to more cleanly purge gconf data, that I don't expect changed the outcome.

3a) gconftool-2 --recursive-unset /apps/evolution
Comment 4 Milan Crha 2011-10-12 12:12:39 UTC
Created attachment 198842 [details] [review]
proposed evo patch ][

for evolution;

I finally got installed the new system and with this patch it works for me as expected. Could you retest with it, please? Thanks in advance.
Comment 5 Ian B. MacDonald 2011-10-12 16:22:33 UTC
This hunk failed against my 3.2.0 base (current Ubuntu 11.10) because I have "session" instead of "backend" on the following line as shown in my source, provided as the next line in the patch hunk (shown at bottom).

e_mail_store_add (session, CAMEL_STORE (service));

I applied the diff manually, but noted that in my source where the next hunk is applied just fine, I do have "backend" instead of "session" for e_mail_store_remove.  This makes me believe possibly another bug changed "session" to "backend" and I should do so also before applying this hunk?

@@ -383,7 +383,7 @@ handle_transport:
 		camel_url_free (url);
 	}
 
-	if (!skip && (provider->flags & CAMEL_PROVIDER_IS_STORAGE))
+	if (!skip && (provider->flags & CAMEL_PROVIDER_IS_STORAGE) != 0 && store_table != NULL)
 		e_mail_store_add (backend, CAMEL_STORE (service));
Comment 6 Ian B. MacDonald 2011-10-12 17:38:50 UTC
Well changing to "backend" just resulted in an undelcared, so I left my source alone and applied the failing hunk manually. 

The patch has resolved this issue for me.

In fact, immediately after applying the new .debs the gmail Inbox appeared in my current evolution config (it had *dissappeared*) on re-load.  I additionally walked through the steps above twice with no re-occurence on initial configuration of Online Accounts.
Comment 7 Milan Crha 2011-10-13 08:18:50 UTC
Thanks for testing it. The API changed in git master, against which the patch is created, and I didn't notice it myself. I would provide patch for gnome-3-2 branch instead. I'm sorry for that.
Comment 8 Milan Crha 2011-10-13 08:32:34 UTC
Created commit 2a38470 in evo master (3.3.1+)
Created commit 08e0361 in evo gnome-3-2 (3.2.1+)