GNOME Bugzilla – Bug 635755
Authenticate books in addressbook importers on open
Last modified: 2010-12-03 18:03:45 UTC
Moving this from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=656814 How to reproduce ----- 1. adding(importing) a .VCF contact to my contacts database which has no UID set Sample contact: BEGIN:VCARD VERSION:3.0 FN:Diaspora N:Diaspora;;;; PROFILE:VCARD ADR:;;731 Market Street,Floor 3;San Francisco;California;94101;USA EMAIL;TYPE=WORK:no-reply@joindiaspora.com ORG:Diaspora URL:http://www.joindiaspora.com END:VCARD RFC 2426 doesn't say the UID is mandatory, thus it's evolution's bug.
+ Trace 224826
Thread 1 (Thread 18790)
I cannot reproduce this on my machine, thus I asked reported for more details, which are: The .vcf file was included as a download link in an email. When I clicked the link to download the file, a window popped up on my desktop asking if I want to save it or import it into Evolution's Contacts. I chose import and received a crash notification. Evolution was not running at the time. After receiving the inquiery about the "uid", I downloaded the file to my desktop to check out the question. After you told me you couldn't reproduce it, I tried just dbl-clicking on the file to see what kind of behavior I received (without Evolution running). I got the same Evolution import windows as before and I got the same crash notification as I did originally. I then opened Evolution and imported the .vcf using Import from the menus. The .vcf seemed to be imported properly. Now that it's been imported once though, I seem to be able to import it as often as I want by dbl-clicking it. As long as Evolution is not running. If Evolution is up and running, dbl-clicking appears to do nothing. I currently have 3 entries in Contacts for Diasporia.
Despite of me not being able to reproduce this, this particular crash, in GVariant code, may not happen again after change from bug #635825, thus I'm closing this in favour of that bug. *** This bug has been marked as a duplicate of bug 635825 ***
err, that's bad, or actually good. I can reproduce this issue, when importing to the google addressbook. There are messages on the e-addressbook-factory console: > libebookbackendgoogle-CRITICAL **: e_book_backend_google_create_contact: > assertion `priv->service' failed > > libebook-CRITICAL **: e_contact_get_const: assertion `E_IS_CONTACT (contact)' > failed The second makes sense, the 'contact' variable is NULL. With changes from the above bug it doesn't crash, but still, something is going wrong here. As a clarification from the downstream reporter: - use google addressbook - the email in question contained a link to the vCard, click on it, so it'll be downloaded and then will be opened an import wizard of evolution for it (or user will be asked to choose an application where to pen this vCard file) I did all this from the mailer, no move to Contacts view, neither any operation done on the Google address book.
Created attachment 175799 [details] [review] evo patch for evolution; As expected from the above comment, the addressbook importers were not opening books completely, thus for books requiring also authentication (where the Google book belongs), the backend wasn't connected to the server yet, and then it failed later on. One might not see this when opening the backend properly earlier, like when selecting the book in the Contacts view, in other words, this exhibits only when the e-addressbook-factory was not running before, or didn't open the Google backend yet. This patch properly opens books in addressbook importers.
Created commit 3a6932b in evo master (2.91.4+)