Skip to content
This repository has been archived by the owner on Mar 25, 2023. It is now read-only.

[Announcement] GNotifier on Thunderbird 60 #207

Open
mkiol opened this issue Aug 8, 2018 · 14 comments
Open

[Announcement] GNotifier on Thunderbird 60 #207

mkiol opened this issue Aug 8, 2018 · 14 comments

Comments

@mkiol
Copy link
Owner

mkiol commented Aug 8, 2018

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 :-(

@maximbaz
Copy link

maximbaz commented Aug 8, 2018

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 😉

@carlos22
Copy link

carlos22 commented Aug 9, 2018

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?

@mkiol
Copy link
Owner Author

mkiol commented Aug 9, 2018

@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...

@jamtur01
Copy link

jamtur01 commented Aug 9, 2018

I hacked the plug-in to have optionsType 3 and it certainly loads on tb60. But I haven't dug any deeper.

@jamtur01
Copy link

jamtur01 commented Aug 9, 2018

C.f. happy to help if I can on giving the plug-in continued life.

@mkiol
Copy link
Owner Author

mkiol commented Aug 10, 2018

@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...

@carlos22
Copy link

The notifications in TB 60 seems to be native in linux (gnome/libnotify).

@maximbaz
Copy link

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.

@carlos22
Copy link

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...

@nortexoid
Copy link

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?

@maximbaz
Copy link

Works for me as well.

https://www.thunderbird.net/en-US/thunderbird/60.0/releasenotes/

Native notifications on Linux are now re-enabled

@nortexoid
Copy link

That is weird. Possibly a packaging issue? I'll ask other Manjaro users.

@maximbaz
Copy link

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.

@jarmo
Copy link

jarmo commented Oct 1, 2018

Damn! Native notifications are not used in Windows 10. Is there any alternative solutions for GNotifier?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants