GNotifier
GNotifier copied to clipboard
[Announcement] GNotifier on Thunderbird 60
Dear GNotifier's friends,
Mozilla has just released Thunderbird 60. This new release comes with many improvements and new exciting features. It is a major update that also introduces some changes in add-ons area. Those changes have negative impact on GNotifier.
Unfortunately, in current form, GNotifier can't be run on TB 60.
There are at least two major issues that I've identified:
- Options panel has to be rewritten to standalone version (so called "option type 3")
- TB60 doesn't support extensions written with Add-on SDK framework (so called "jetpack extensions")
Because of the above and having very limited time, I don't see any other option but to close this project. I can't continue to support GNotifier any more :-(
I'm sad to see this project closed, but I can totally understand your reasoning. On behalf of every GNotifier user who won't see your message, I want to say huge thank you for developing this plugin in the first place, for sticking with us throughout this time and for implementing our feature requests 😉
Really sad this was a great extension for me as gnome user. Thanks for the great work!
TB60 doesn't support extensions written with Add-on SDK framework (so called "jetpack extensions")
Couldn't find anything about that in this guide: https://wiki.mozilla.org/Thunderbird/Add-ons_Guide_57 Do you have any source for this claim? I think for now it only applies to firefox - not thundebird.
EDIT: I think the problem is the simple-prefs (preferences
key in package.json
) which generates an <em:optionsType>2</em:optionsType>
- which is unsupported now. But i think a jetpack
extension might still work with the preferencesURL
so point one of your list. Right?
@carlos22
Do you have any source for this claim? I think for now it only applies to firefox - not thundebird.
Definitely Thunderbird. I can't refer to any source. My conclusion is based on my own investigation and debugging. Maybe I'm wrong..
It appears that all jetpack extensions fail to load on TB60 and this issue is not related to preferences option type. Option type can be easily changed to supported "option 3" but extension will not be loaded as well. It looks like SDK's bootstrap script doesn't exist in TB60 any more.
Here is error console log from Clickguard (also jetpack add-on) and GNotifier:
1533835760229 addons.xpi WARN Error loading bootstrap.js for @clickguard: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXPCComponents_Utils.import]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///home/mkiol/.thunderbird/x21qceoj.mkiol/extensions/@clickguard.xpi!/bootstrap.js :: <TOP_LEVEL> :: line 9" data: no] Stack trace: resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///home/mkiol/.thunderbird/x21qceoj.mkiol/extensions/@clickguard.xpi!/bootstrap.js:9
[...]
1533835760231 addons.xpi WARN Add-on @clickguard is missing bootstrap method startup
1533835760238 addons.xpi WARN Error loading bootstrap.js for jid1-OoNOA6XBjznvLQ@jetpack: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXPCComponents_Utils.import]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: resource://gre/modules/addons/XPIProvider.jsm -> file:///home/mkiol/.thunderbird/x21qceoj.mkiol/extensions/jid1-OoNOA6XBjznvLQ@jetpack/bootstrap.js :: <TOP_LEVEL> :: line 9" data: no] Stack trace: resource://gre/modules/addons/XPIProvider.jsm -> file:///home/mkiol/.thunderbird/x21qceoj.mkiol/extensions/jid1-OoNOA6XBjznvLQ@jetpack/bootstrap.js:9
[...]
1533835760238 addons.xpi WARN Add-on jid1-OoNOA6XBjznvLQ@jetpack is missing bootstrap method startup
The problem is the same in both cases. There is no startup
method in bootstrap.js
. The SDK's add-on bootstrap.js
script looks like this:
const { utils: Cu } = Components;
const rootURI = __SCRIPT_URI_SPEC__.replace("bootstrap.js", "");
const COMMONJS_URI = "resource://gre/modules/commonjs";
const { require } = Cu.import(COMMONJS_URI + "/toolkit/require.js", {});
const { Bootstrap } = require(COMMONJS_URI + "/sdk/addon/bootstrap.js");
var { startup, shutdown, install, uninstall } = new Bootstrap(rootURI);
On TB60, it appears that resource://gre/modules/commonjs/sdk/addon/bootstrap.js
doesn't exist, so any SDK/jetpack extension can't be loaded.
I probably should ask someone from Mozilla or report an issue on TB bugzilla...
I hacked the plug-in to have optionsType 3 and it certainly loads on tb60. But I haven't dug any deeper.
C.f. happy to help if I can on giving the plug-in continued life.
@jamtur01
it certainly loads on tb60
Technically you probably right, it loads but it is not being started. TB doesn't call startup method (bootstrap.js) because (this is my theory) there is no add-on SDK implementation in TB60.
Official Mozilla sources mention that TB60 supports XUL and bootstrapped/restartless extensions. There is no information about SDK add-ons.
C.f. happy to help if I can on giving the plug-in continued life
Thank you :-) It is very heartwarming to see that GNotifier (the first thing I've ever coded) has so many users and contributors willing to help. I've never expected that.
The key problem with GNotifier future development is as follows. To make it compatible with TB60, someone has to migrate it to XUL or bootstrapped technology which is already considered by Mozilla as legacy. According Mozilla, TB62 will support only WebExtensions. I'm not convinced whether it is worth to invest anybody time to something that is temporary...
The notifications in TB 60 seems to be native in linux (gnome/libnotify).
They are, but the contents of the notifications is worse comparing to GNotifier; and more importantly (to me 😛) the urgency hint is not being set when new mails arrive.
I'm not saying there is no reason to have GNotifier, but i just noticed that they changed it in TB 60. Not sure if everyone is aware...
They're not native on KDE (Manjaro testing) with libnotify installed. That's strange though. carlos22, are you sure you don't have some other relevant package installed?
Works for me as well.
https://www.thunderbird.net/en-US/thunderbird/60.0/releasenotes/
Native notifications on Linux are now re-enabled
That is weird. Possibly a packaging issue? I'll ask other Manjaro users.
The key problem with GNotifier future development is as follows. To make it compatible with TB60, someone has to migrate it to XUL or bootstrapped technology which is already considered by Mozilla as legacy. According Mozilla, TB62 will support only WebExtensions. I'm not convinced whether it is worth to invest anybody time to something that is temporary...
Just to clarify, TB gets major version bumped once a year, so we still have 12 months of suffering before TB 62+ is released.
Damn! Native notifications are not used in Windows 10. Is there any alternative solutions for GNotifier?