Proposal: MailExtensions API to allow UI overlays, but no script injection

Eyal Rozenberg eyalroz at technion.ac.il
Wed Oct 16 19:05:41 UTC 2019


I like Axel's question :-)

A couple of comments:

1.
 > Core needs to do more than Add-ons ... which is partly true

Is it though? I'm not sure. Certainly not when it comes to Thunderbird's 
UI code. Actually, one could argue that extensions need to be able to do 
more than the core does.

2. Vetting/trust etc.

Here I oppose Axel's view. I believe this is a non-argument. We aren't 
talking about automatically-included extensions, or 
Thunderbird-council-endorsed extensions or anything like that. 
Extensions are independent entities. Thunderbird + extension is just 
like Thunderbird + another app where it comes to security and such. 
There is no need for trust - the user installs the extensions s/he likes 
and it's totally on them. Requiring a level of trust of the developer 
sounds like a compiler team saying they won't compile code by developers 
they don't trust. It's none of the core developers' business! If I'm 
going to develop the "delete all your mail folders and send lots of spam 
messages" extension - that should install and run smoothly!





On 16/10/2019 15:31, Axel Grude wrote:
> Eyal wrote:
> 
>> Extensions should be able to do essentially everything. Certainly 
>> everything the TB's _*own UI*_ code can do. 
> (emphasis by me)
> 
> That's essentially echoing what my thought was about "Thunderbird eating 
> it's own dog food", so let me re-iterate the question:
> 
> *How would a Thunderbird developer re-design the API if they were forced 
> to use it in their own front-end (JavaScript) code?*
> 
> This question may sound a little ridiculous at first glance, but it is 
> an interesting thought experiment, because it forces the Core Developer 
> to think about the restrictions proposed on us who want to add *more 
> functionality* and *improve existing functions*. If you think about it 
> our goals aren't vastly different to those from thunderbird core.
> 
> If the API is the "safe point" for the front end, then why not force 
> Thunderbird Core code through the same gate? Possible answers
> 
>   * Core needs to do more than Add-ons
>        (which is partly true, but Add-ons add stuff that core didn't
>     think of and users still find useful, so it also goes the other way)
>   * Core code is vetted and Firefox does not review web extensions code
>        (so far we did manually review and vet the code for security with
>     the Add-on reviewers crew. Which mainly consists of other
>     developers. Whether this is a big problem going forward remains
>     debatable; AFAIK there was *one* documented security breach caused
>     by an ADd-on in Tb within the last 10 years, which is not a bad
>     statistic compared to OS like windows)
>   * Core Developer are Trusted, anyone can  develop Add-ons
>        (I think this a stronger argument; the question is whether it
>     would be possible to have specially vetted / trusted Add-on
>     developers and only allow them XPCOM access and  how to vet these
>     people - A strong committment to the user base and regular
>     maintenance, bug fixing etc. would be good markers to start from. So
>     far I assumed there wasn't such a big difference in the development
>     community, except that core devs could be financed by the
>     foundation, whereas addon devs had to organize monetization
>     themselves. Maybe that aspect needs to be solved at the same time.)
> 
> I would still be very interested in at least one of the core devs going 
> through this thought experiment, even if just to come to the conclusion 
> that it's impossible. It may be not? Or it may lead to a completely 
> different answer.
> 
> Axel
> 
> *Axel Grude <mailto:axel.grude at gmail.com>*
> Music Production and Composition
> Thunderbird Add-ons Developer (QuickFolders 
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faddons.thunderbird.net%2Fthunderbird%2Faddon%2Fquickfolders-tabbed-folders%2F&data=02%7C01%7Ceyalroz%40alumni.technion.ac.il%7C1b36c74a6a56405164e408d75234bbe4%7Cf1502c4cee2e411c9715c855f6753b84%7C1%7C0%7C637068258760197995&sdata=g%2FU7VadnPx2dqn2lsgrTU3Fa6ghhLJ6q4s77T13OKr0%3D&reserved=0>, 
> quickFilters 
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faddons.thunderbird.net%2Fthunderbird%2Faddon%2Fquickfilters%2F&data=02%7C01%7Ceyalroz%40alumni.technion.ac.il%7C1b36c74a6a56405164e408d75234bbe4%7Cf1502c4cee2e411c9715c855f6753b84%7C1%7C0%7C637068258760207986&sdata=q3WOxIwjMxS1nMx2rXg1h9Tqxeiey42VLGBbTlGKaao%3D&reserved=0>, 
> QuickPasswords 
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faddons.mozilla.org%2Ffirefox%2Faddon%2Fquickpasswords%2F&data=02%7C01%7Ceyalroz%40alumni.technion.ac.il%7C1b36c74a6a56405164e408d75234bbe4%7Cf1502c4cee2e411c9715c855f6753b84%7C1%7C0%7C637068258760207986&sdata=54s1yv%2FwWPjxFI4LWet41dGW0Y9qF35yu0YsvRXzvb0%3D&reserved=0>, 
> Zombie Keys 
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faddons.thunderbird.net%2Fthunderbird%2Faddon%2Fzombie-keys%2F&data=02%7C01%7Ceyalroz%40alumni.technion.ac.il%7C1b36c74a6a56405164e408d75234bbe4%7Cf1502c4cee2e411c9715c855f6753b84%7C1%7C0%7C637068258760217982&sdata=47XrbF%2BZBmrfvkgk5LevuIMDG35CzE%2Fnm1%2BcO5EiWVI%3D&reserved=0>, 
> SmartTemplate⁴ 
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faddons.thunderbird.net%2Fthunderbird%2Faddon%2Fsmarttemplate4%2F&data=02%7C01%7Ceyalroz%40alumni.technion.ac.il%7C1b36c74a6a56405164e408d75234bbe4%7Cf1502c4cee2e411c9715c855f6753b84%7C1%7C0%7C637068258760217982&sdata=Axsk6AojJT6zkuu%2Bu0WEgsEsMXM1heXNpnrSYJ4xXzg%3D&reserved=0>) 
> 
> Visit my YouTube Channel 
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fc%2Fthunderbirddaily&data=02%7C01%7Ceyalroz%40alumni.technion.ac.il%7C1b36c74a6a56405164e408d75234bbe4%7Cf1502c4cee2e411c9715c855f6753b84%7C1%7C0%7C637068258760227977&sdata=8ojYmgk2O%2BZb3SF10bu3t6bpEjci4AXLHiR7Z5HUtPQ%3D&reserved=0> 
> for email productivity tips Get Thunderbird!
>> *Subject:*Re: Proposal: MailExtensions API to allow UI overlays, but 
>> no script injection
>> *From:*Eyal Rozenberg <eyalroz at technion.ac.il>
>> *To:*Thunderbird Planning (Moderated) <tb-planning at mozilla.org>; John 
>> Bieling <john.bieling at gmx.de>
>> *Sent: *Saturday, 10/12/2019, 15:56 15:56 IST +0100 [Week 41]
>> Sorry for sounding like a broken record, but:
>>
>> On 12/10/2019 9:25, John Bieling wrote:
>>> Why is it, extension should no longer be able to style the UI as before? 
>>
>> ... not just the UI. Extensions should be able to do essentially 
>> everything. Certainly everything the TB's own UI code can do.
>>
>> Eyal
>> _______________________________________________
>> tb-planning mailing list
>> tb-planning at mozilla.org
>> https://mail.mozilla.org/listinfo/tb-planning
>> .
> 
> _______________________________________________
> tb-planning mailing list
> tb-planning at mozilla.org
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.mozilla.org%2Flistinfo%2Ftb-planning&data=02%7C01%7Ceyalroz%40alumni.technion.ac.il%7C1b36c74a6a56405164e408d75234bbe4%7Cf1502c4cee2e411c9715c855f6753b84%7C1%7C0%7C637068258760257958&sdata=cmoKchbXPbsoSVie9UTQkKdssD1xN8zCteVvmZS4WnY%3D&reserved=0
> 


More information about the tb-planning mailing list