Figure out what to do with Torbirdy vs. Thunderbird 78 ESR
Even if we manage to ship Torbirdy on Thunderbird 68 (see
Feature #16771 for details), it’s quite unlikely that it’ll still work on Thunderbird 78, so we will probably need to figure something out.
Info gleaned on Thunderbird mailing lists:
- Updating Legacy Extensions for Thunderbird 78
- Traditional add-ons (including bootstrapped ones) will no longer be supported, possibly as early as Thunderbird 72, and almost certainly in Thunderbird 78.
- addons dev matters are primarily discussed on https://thunderbird.topicbox.com/groups/addons/
- “WebExt Experiments” and “MailExtension Experiments” may go away in a few years
#5 Updated by Anonymous 2019-11-07 16:09:44
Here is a summary from today’s meeting. I hope I did not mix things up too much, our running around in circles was quite hard to break! @segfault please correct me if I’m wrong.
- Thunderbird 78 will not support traditional addons anymore, possibly even TB72 won’t
- planned for summer 2020
→ a lot of stuff will not work anymore, XUL is going away
→ it’s unclear if preferences can even be set by a MailExtension. And if all needed preferences can be set.
- One can’t directly access preferences via WebExtensions: https://wiki.mozilla.org/WebExtensions/FAQ#Does_the_WebExtensions_API_provide_access_to_preferences.3F
- For reference, Thunderbird preferences set by Torbirdy here:
- For reference: overlays that are set by Torbirdy:
How to go further
- user interface can probably go away so we’re left with a set of
- we need to check if all the preferences could actually be set (segfault)
(sukhbir is happy to help with this in any way)
→ this would be a prerequisite to port to WebExtensions/MailExtensions
- check whether a hypothetical WebExtension ported Torbirdy will be broken with TB72 already (segfault)
- legacy support will be removed from the code base within the
Thunderbird 72 time frame (end of 2019):
→ this means our timeframe would be even shorter.
- If we think it is useful, to benefit more, also non-Tails, users, we could try to fix things in Thunderbird directly, possibly hiring an Outreachy or a GSoC student. Sukhbir could do the mentoring.
- But we will not have enough time to fix this for TB 78 in any case be it by porting to MailExtensions, be it by fixing it in Thunderbird directly.
→ This short time frame means that we will have to find a Tails specific solution.
- That could be a Git repo that can be used by other privacy distributions. (We should communicate with them about this.)
- And then set the preferences for Thunderbird in Tails directly.
#6 Updated by segfault 2019-11-07 22:34:53
> How to go further
> - we need to check if all the preferences could actually be set (segfault)
> (sukhbir is happy to help with this in any way)
> → this would be a prerequisite to port to WebExtensions/MailExtensions
I looked through the MailExtensions (that just seems to be the name of WebExtensions in Thunderbird) API of both Thunderbird 68, and the pre-release version, and didn’t see any functions which would allow us to set the preferences set by TorBirdy:
So I don’t think it will be possible to port TorBirdy to a MailExtension.
> - check whether a hypothetical WebExtension ported Torbirdy will be broken with TB72 already (segfault)
> - legacy support will be removed from the code base within the
> Thunderbird 72 time frame (end of 2019):
After reading more, I understand a bit better what will be removed in which Thunderbird version:
- Thunderbird 68 already only supports MailExtensions, but legacy extensions can supposedly be converted to MailExtensions relatively easily: It requires converting the old RDF manifest to a JSON manifest, and then in the JSON manifest the
legacykey can be used to load the legacy XUL extension.
- In either Thunderbird 72 or 78, the support for loading a legacy XUL extension via the JSON manifest will be removed. I still don’t understand in which version that will be removed, the page is titled “Updating Legacy Extensions for Thunderbird 78” but it then says “it should be [removed] whitin the Thunderbird 72 time frame - so by end of 2019”.
So we could spend some time to convert the manifest and try getting TorBirdy to work in Thunderbird 68, but that would only work for a few months. I think that instead we should try to implement and test a Tails-specific solution (i.e. set the Thunderbird preferences via our hooks) ASAP.