I received numerous reports of gContactSync showing errors about mailing lists, deleting contacts, and/or duplicating contacts.

I believe the cause is a recent (unannounced?) change to the API that gContactSync 0.2 uses as well as the newer API that 0.3 alphas use.

For some reason, it looks like Google changed the self URL of contacts to use HTTPS rather than HTTP (a good idea, but not so good when done in APIs that are supposed to be stable without any sort of notice…).

There is an “Issue” with Google’s Contacts API that causes the IDs of contacts to now use HTTPS instead of HTTP.  gContactSync uses this URL as the ID of the contact.  The end of the URL contains the actual ID, but back in 0.1 I decided to store the entire URL as the ID (because the full URL contains the account’s e-mail address).  gContactSync matches your Thunderbird contacts with your Google contacts based on this ID.  It looks like this change isn’t permanent, but it has not been fixed as of late March 25th (Eastern), so I will permanently add the fix to gContactSync.

So where the URL of a contact used to be something like this:
http://www.google.com/m8/feeds/contacts/username%40gmail.com/full/682280958b46a123

It now looks like this, which makes gContactSync determine that the two contacts are not, in fact, the same
https://www.google.com/m8/feeds/contacts/username%40gmail.com/full/682280958b46a123

Additionally, some contacts store the groups they are in with the old http://www.google.com… link while others use https://www.google.com… which causes problems with group synchronization (whether you are synchronizing one group or many, gContactSync cannot always accurately tell which groups a contact is in due to this problem).  This will be addressed in 0.2.15

The following steps should fix the problem (thanks to bblackmoor on the forum for some additional steps with changing group preferences – http://pirules.org/forum/index.php/topic,127.msg503.html#msg503)

Before doing anything else, please go http://contacts.google.com and Export all of your contacts.

Version 0.2:

  • Update to 0.2.15 or greater
  • Go to Tools -> Add-ons and click Preferences under gContactSync
  • Switch to the Main tab
  • Uncheck Synchronize contacts automatically
  • Go to the Accounts tab
  • Click Reset All Synced ABs
  • Restart Thunderbird and re-enable automatic synchronization if you wish

Version 0.3

  • Update to 0.3.0a5 or greater.  Remember that 0.3 is still in its Alpha stage, meaning it is still being worked on and tested.  Use 0.2 if you want a more stable and tested add-on.  0.3 will be put on addons.mozilla.org when it is ready
  • Go to Tools -> Add-ons and click Preferences under gContactSync
  • Uncheck Synchronize contacts automatically under the Main tab
  • Go to the Advanced tab
  • Click Reset All Synced ABs if it is there (depending on the version you have)
  • If the reset button is not in that tab:
    • Open the Address Book window
    • Go to gContactSync -> Accounts
    • Click Reset All Synced ABs
  • Restart Thunderbird and re-enable automatic synchronization if you wish

If you have updated and reset all address books and gContactSync still isn’t working as expected please send me at least part of the log so I can figure out the cause: http://www.pirules.org/extensions/submit_error.php?ext=gContactSync

If any of your contacts were deleted and you do not have a backup, please read this for instructions on how to recover those contacts from Thunderbird.

Thanks to everyone who reported this issue, and I apologize for the problems it caused.

PS – I have an exam today, one Monday, one Tuesday, a ton of homework due tomorrow, and some recruitment events that I need to attend, so I apologize if I am slow to respond.  I haven’t tested 0.2.14 or 0.3.0a4 nearly as much as I usually do since I just discovered the problem and have to go to a meeting then take an exam very soon.  If anything is wrong I’ll try to get another update out late tonight or tomorrow.

Categories: gContactSync

6 Comments

Jon Brown · March 25, 2010 at 4:47 PM

Hi, I just downloaded ver. 0.3.0a4 and tried to install it on Thunderbird 3.03. I have Mac OSX Snow Leopard. It will not install and says it is not compatible with Thunderbird 3.03. Is that true, or is there something else I need to install?
Thanks. If I can get this working, it will end a big headache.
Jon

Pi · March 25, 2010 at 9:09 PM

Hey,

That’s almost as strange as the sudden change that caused all the problems.
Can you redownload it (or wait a few hours until 0.3.0a5 is released) and try again? gContactSync 0.3 should work with any version of Thunderbird released within the last year including development versions that are still being worked on.

If that doesn’t work, can you go to Help -> About Thunderbird and copy and paste all of the text on the bottom? It should look like this, except it will probably say “Thunderbird” instead of “Shredder”:
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a4pre) Gecko/20100325 Shredder/3.2a1pre

Josh

Benjamin · March 26, 2010 at 1:10 AM

Hi Josh,
thank you for your efforts. The problem with your advice is that I end up with all of my contacts
but stripped off all their addresses. This is an improvement, as the the sync is working at last. I
hope that Google comes forward with any kind of decision how to handle the address and name
fields.
By the way: The automatic line break in the text field where to leave a comment isn’t working for
me.

Best regards,

Benjamin

Peter Hollo · March 26, 2010 at 6:46 AM

Hey Josh,
Just a big thankyou for acting so quickly here! I had actually worked out the “untick My Contacts” workaround already, and that got all my contacts back – and as soon as I saw them disappear in Thunderbird I went and backed them up via Google anyway.

But, glad you’ve worked it out and found a fix, in the middle of your exams! Good luck (not that you’ll need it! 😛 We have faith in you…)
Peter

Pi · March 26, 2010 at 7:23 AM

@Benjamin – Did you install 0.2.15 or a version with 0.3.0a in it? Version 0.3 is still being worked on and tested, so it might not be as stable as 0.2. Address synchronization has been disabled temporarily while I decide what to do with it.

You can always find the latest stable version here (no automatic updates yet): https://addons.mozilla.org/en-US/thunderbird/addon/8451

@Peter Hollo – Thanks for letting me know it’s working. Unchecking the My Contacts checkbox was really all that was necessary if it was already checked since changing it resets all address books and pulled the contacts with the new IDs into TB.

Benjamin · April 1, 2010 at 3:40 AM

Hi Josh,
I’m using the latest alpha (0.3.0 Alpha 6 at the moment). I know that there is this problem with postal addresses. The problem I have is that I don’t want to reset my Address Book in TB because I loose all my postal addresses. And keeping two Address Books side-by-side (one synchronized without addresses, the other one not synchronized but with addresses) is doubled work.

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.