Archive for March, 2010

Note to gContactSync Users – Please update ASAP

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.

6 Comments