Closed RogueScholar closed 5 years ago
63.0 and later are more difficult to support: https://wiki.mozilla.org/Thunderbird/Add-ons_Guide_63 I'll look into it.
I was able to use the "legacy" mode with XUL and get it somewhat functional. I'm not terribly impressed by the Thunderbird bugs I've run into, the stale documentation (even the wiki for getting comm-central source is broken), the very limited support, or the development tools that no longer work: DXR, DOM Inspector, etc.
Remaining problems that I've found so far:
Supporting both TB 63 and later as well as previous versions and other apps (Seamonkey, Postbox) will be painful: install.rdf takes priority over manifest.json, but manifest.json isn't supported in older versions or other applications (Seamonkey, Postbox). I can build two packages and include one or the other. This is likely to only get worse over time, especially if I try to continue supporting Seamonkey and Postbox.
Account Wizard doesn't insert the default AB properly (insertItemAt is gone, need to use insertBefore or appendItem).
Overlay issue: Overlays.jsm: Could not resolve 2 references 0:
FWIW, it's still working in 60.* (tested with 60.3.2). Unfortunately, this probably means one more version you have to watch and test for.
Well, I'm having trouble with TB 60.3.3 (64-bit) on MacOS 10.13.6. gContactSync was working fine, but then it started to open an error message window:
"gContactSync Warning Your authentication token from Google has expird. Please click OK then enter your credentials to get a new token and Synchronize your contacts."
When I click OK, another window pops open. Its title is "Sign in with Google," and the page largely consists of explanatory text, starting with "gContactSync wants to access your Google Account," and ending with a link, "Learn about the risks." Then at the bottom there are two buttons, "Cancel" and "Allow."
When I click "Allow" another window flashes by in an instant. As far as I can tell, it's providing some sot of key to enter somewhere in Google land. But it flashes by far too fast to do anything.
Then, in a few seconds, the original gContactSync Warning message reappears. Curse and repeat over and over, until you finally press Cancel instead of Allow in the Sign in with Google window.
I reported the error on the Error Report Form at Pi Rules.
Josh, thanks for all your effort, and Merry Xmas. How vulnerable do you suppose I am running TB 52.9 until you solve these riddles? I need gContactsSync more than I need total security, but still… :)
I was able to use the "legacy" mode with XUL and get it somewhat functional
I have this mostly working, but the options.xul dialog lost its tabs.
Account Wizard doesn't insert the default AB properly (insertItemAt is gone, need to use insertBefore or appendItem).
Done
newChannel was renamed? TypeError: ios.newChannel is not a function[Learn More] GContact.js:960:14 GContact_writePhoto
Fixed by using the descriptively named newChannel2 function: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIIOService#newChannel2() . There is an image downloader that abCard.js in TB uses, but it is not extensible enough to warrant using.
addressbook.js bug: this isn't even my fault...they assume an AB is selected when the count is changed. ERROR: failed to set status text: TypeError: getSelectedDirectory(...) is null; can't access its "dirName" property addressbook.js:507
I should write up a bug for TB for this.
New issue: the status text doesn't get updated (maybe related to the ab listener?) New issue: JavaScript .properties file doesn't appear to be working
StringBundle error:
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIStringBundle.GetStringFromName]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://global/content/elements/stringbundle.js :: getString :: line 44" data: no]
https://wiki.mozilla.org/Thunderbird/Add-ons_Guide_63#Removed_in_Thunderbird_63
Using this + GetStringFromName() fixed the string bundle error and the status bar text.
let stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService);
gContactSync.StringBundle.mBundle =
stringBundleService.createBundle("chrome://gContactSync/locale/gcontactsync.properties");
@Gnossos it looks like this is another TB incompatibility. I'll address this next.
Updating John Doe - johndoe@gmail.com WARNING: Error while serializing the following XML: [object Element] Error Message: TypeError: Components.classes['@mozilla.org/xmlextras/xmlserializer;1'] is undefined Found an expired token***
The options dialog looks normal in TB 65. There may be a bug in 66 that is prevent it from displaying with tabs. If it continues I'll look into it in a different issue. For now, I'm closing this since it seems to be working in v3.1.4.
Thunderbird has once again outpaced the maximum compatible version reported by the extension, forcing it to be disabled. Could a quick version bump be made to restore functionality?