Feature #17149
Figure out what to do with Torbirdy vs. Thunderbird 78 ESR
0%
Description
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
Subtasks
Related issues
Related to Tails - |
Resolved | ||
Related to Tails - |
Resolved | ||
Blocks Tails - Feature #16209: Core work: Foundations Team | Confirmed |
History
#1 Updated by intrigeri 2019-10-11 07:07:17
- blocks Feature #16209: Core work: Foundations Team added
#2 Updated by intrigeri 2019-10-11 07:07:24
- related to
Feature #16771: Upgrade to Thunderbird 68 added
#3 Updated by intrigeri 2019-10-11 07:11:18
- Target version changed from Tails_4.11 to Tails_4.10
(Actually we can, and possibly should, do this as soon as Thunderbird 78 is released, ahead of the time when Thunderbird 68 is EOL and it becomes urgent and stressful.)
#4 Updated by intrigeri 2019-10-11 07:21:32
- Description updated
#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
- https://developer.thunderbird.net/add-ons/tb78
- 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:
https://gitweb.torproject.org/torbirdy.git/tree/components/torbirdy.js#n30
https://gitweb.torproject.org/torbirdy.git/tree/chrome/content/emailwizard.js
- For reference: overlays that are set by Torbirdy:
https://gitweb.torproject.org/torbirdy.git/tree/chrome/content
How to go further
————————-
- user interface can probably go away so we’re left with a set of
preferences.
- 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):
https://developer.thunderbird.net/add-ons/tb78
→ 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
u wrote:
> 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:
- https://thunderbird-webextensions.readthedocs.io/en/68/
- https://thunderbird-webextensions.readthedocs.io/en/latest/
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):
> https://developer.thunderbird.net/add-ons/tb78
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
legacy
key can be used to load the legacy XUL extension.
https://developer.thunderbird.net/add-ons/tb68
https://developer.thunderbird.net/add-ons/tb68/overlays
- 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”.
https://developer.thunderbird.net/add-ons/tb78
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.
#7 Updated by segfault 2019-11-10 13:18:57
- related to
Feature #17219: Replace TorBirdy added
#8 Updated by intrigeri 2019-11-28 18:50:13
- Status changed from Confirmed to Rejected
I agree with segfault’s analysis and conclusions. We’re dropping Torbirdy in Feature #17219 so this ticket does not make sense anymore ⇒ rejecting it.