I see. Thanks very much. Yes, I would like the script!
Appreciate you helping me with this, Josh.
Ok, here is the promised script but I strongly advise you to backup your contacts first just in case. This will ask you for the name of an address book and make sure you type it exactly as it appears.
Instructions:
Copy the entire line below, it is a very long line.
Open Thunderbird and go to
Tools -> Error ConsolePaste the line and click
EvaluateYou should see a popup. Type the name of the address book with your contacts in. It must be exact.
If it worked there will be a popup that says "Done"
Synchronize your contacts. They should be added to Google or updated.
var Cc=Components.classes,Ci=Components.interfaces,ab,card,dt=(new Date()).getTime(),name=prompt("Name of the address book?"),it=Cc["@mozilla.org/abmanager;1"].getService(Ci.nsIAbManager).directories;while(it.hasMoreElements()){ab=it.getNext();if(ab instanceof Ci.nsIAbDirectory && ab.dirName==name){var it2=ab.childCards;while(it2.hasMoreElements()){card=it2.getNext();if(card instanceof Ci.nsIAbCard && !card.isMailList){card.setProperty("LastModifiedDate",dt);ab.modifyCard(card);}}alert('done');break;}}Disclaimer: In my (futile) attempt to keep this line short I removed any error checking, so if you try to break this you will succeed in getting an error printed to the Error Console.
If it doesn't work on the first try I apologize; I didn't get around to it until now and I'm getting a bit tired. Please copy any errors you may get and I'll fix them.
Wouldn't this kind of problem be resolvable by implementing one or more of the features in this feature request?
Yes, I forgot about that because I didn't make a bug report for it (it is now
Bug 23052, thanks for the reminder. Updating the lastModifiedDate of every contact in an address book will essentially "replace to server" during the next sync as long as read-only mode isn't on.
A reset is essentially a "replace from server" in that request.