GNOME Bugzilla – Bug 660721
Online Account services not always activating in Evolution
Last modified: 2011-10-13 08:33:22 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
*** Bug 661157 has been marked as a duplicate of this bug. ***
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.
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
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.
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));
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.
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.
Created commit 2a38470 in evo master (3.3.1+) Created commit 08e0361 in evo gnome-3-2 (3.2.1+)