
Extensions in Firefox 59 - ac29
https://blog.mozilla.org/addons/2018/01/26/extensions-firefox-59/
======
npongratz
I find this pretty exciting for (hopefully; someday) wider adoption of
alternative protocols:

 _Starting with Firefox 59, several protocols that support decentralized
architectures are available for use by extensions. The white-listed protocols
are:

\+ Dat Project (dat://)

\+ IPFS (dweb:// ipfs:// ipns://)

\+ Secure Scuttlebutt (ssb://)_

~~~
soapdog
Hey! I made that patch! :-D

so basically the explanation is simple. There is a whitelist of protocols you
can have your WebExtension take over.

If the protocol you want to control is not on that whitelist such as an
hypothetical "catgifs:" protocol, you need to prefix it like: "web+catgifs" or
"ext+catgifs" depending if it will be used from the Add-on or by redirection
to another Web page. This makes it inconvenient to use with lots of
decentralization protocols because in many other clients we are already using
urls such as "ssb:" and "dat:" (eg, check out beaker browser). In essence this
allows us to implement many new cool decentralization features as add-ons now
that we can take over protocols, so, you could be in Firefox browsing the
normal web and suddenly see a "dat:" link, normally you'd need to switch
clients to a dat enabled app, now, you can have an add-on display that content
in the current user-agent you're using.

Still, there is another feature that we need before we can start really
implementing decentralization protocols as pure WebExtensions, we need both
TCP and UDP APIs like we had in Firefox OS (as an example, Scuttlebutt uses
UDP to find peers in LAN and its own muxrpc TCP protocol to exchange data, DAT
also uses UDP/TCP instead of HTTP).

I have been building little experiments in Firefox for interfacing with
Scuttlebutt which can be seen at:

[https://viewer.scuttlebot.io/%25csKtp9VmxTjJoKy17O7GA6%2F3S8...](https://viewer.scuttlebot.io/%25csKtp9VmxTjJoKy17O7GA6%2F3S8ou9Y9XLi8pZ%2FQgwKs%3D.sha256)

[https://viewer.scuttlebot.io/%25uBev5w8m8iZGVbQDo9fpr%2BCXLB...](https://viewer.scuttlebot.io/%25uBev5w8m8iZGVbQDo9fpr%2BCXLBtth0xngs4uUF%2FLFAk%3D.sha256)

I hope to start a conversation in the add-ons list about TCP and UDP APIs for
WebExtensions soon :-)

~~~
madez
Decentralization and safer protocols are needed. Plain HTTP and even HTTPS are
really not the best one could come up with. There are better alternatives, but
using them is not always easy. So, thanks a lot for your work on making that
easier!

~~~
soapdog
Thanks a lot for the kind words! :-) talking about safety and integrity, have
you seen how Scuttlebutt works? Check the secret handshake part of:

[https://ssbc.github.io/scuttlebutt-protocol-
guide/#handshake](https://ssbc.github.io/scuttlebutt-protocol-
guide/#handshake)

In essence, your connection to a given peer is encrypted in a way that only
you both have the keys, even if someone breaks that key (such as the peer
being a bad agent) it would not compromise your connection with other peers as
they will use different keys. It is quite an awesome protocol.

~~~
guelo
It's nice but the fact that you can never delete a message in your feed means
that it doesn't really work as a social media protocol. Some people see that
as a feature since it is theoretically uncensorable, but that's not how humans
like to interact.

~~~
soapdog
I have been using patchwork[1] as my main social network client for
scuttlebutt. In my current experience, the fact that messages are not
removable makes me more careful when writing and has led to much better and
more meaningful interactions on the network.

Also remember that a message being in the feed doesn't mean it is displayed.
Scuttlebutt is quite flexible, there are clients that have support for "chess
messages" so their users can play chess, patchwork doesn't support those
messages so I don't even see them. There is git-ssb[2] which allows people to
host and contribute to code directly inside the feed, not all clients show
these messages but they are all there.

New messages could be added for flagging a message id as deleted and clients
could honor them and not display that message anymore, they would still be on
the feed, much like in version control systems we still have access to deleted
files (if no one rewrites history).

I enjoy how permanent things are there because as a side-effect it causes
people to care more about the ecosystem and culture as those are permanent
stuff you're putting out there. Check out this essay "the future will be
technical"[3] about the culture on scuttlebutt, you'll see it is quite
different than other social networks, but I agree with you, your experience
may vary and what I consider an advantage, others may see as a reason not to
use.

[1]: [https://github.com/ssbc/patchwork/](https://github.com/ssbc/patchwork/)
[2]: [https://github.com/noffle/git-ssb-intro](https://github.com/noffle/git-
ssb-intro) [3]: [https://coolguy.website/writing/the-future-will-be-
technical...](https://coolguy.website/writing/the-future-will-be-technical/)

~~~
auxbuss
Erasure of data, on demand, is a requirement of GDPR[0], which becomes law in
Europe on 25 May 2018.

Note that erasure of the data is required, not just its display.

IANAL, but the above appears to be contrary to GDPR.

[0]
[https://en.wikipedia.org/wiki/General_Data_Protection_Regula...](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation)

~~~
soapdog
I am not a lawyer either, but doing a quick read on the scope, I found in
first phrase:

    
    
      "The regulation applies if the data controller (an organization that collects data from EU residents) or processor (an organization that processes data on behalf of data controller e.g. cloud service providers) or the data subject (person) is based in the EU."
    

And this might not apply as there is no data controller, organization or
company. You data is on your computer and it replicates that data to friends
and friends of friends. There is no cloud or service involved, it is from one
machine to the other, I believe someone that has real knowledge of legal
matters and p2p should chime in. I am also a bit lost regarding this.

~~~
rmc
Surely that means that the people who replicate it from your ("your friends"
and "your friends of friends") would be required to delete the (personal)
data?

~~~
jovdg
So I could require anyone inside the EU to delete any mail they received from
me? (I'm in the EU)

~~~
0x445442
Yeah, email was the first thing I thought of as well. Surely that doesn't
apply.

------
kibwen
Happy to see that Mozilla was serious about their intentions to extend the
WebExtensions API in post-57 Firefox. I'm also happily surprised at the
section about user notification of extension overrides; having a nice UI for
this sort of thing is a difficult yet worthwhile problem (and I'm also a big
fan of the new Preferences tab in general, it works far better than the old
popup window). Hopefully some of this will make it in time for the next ESR so
that people who are still on Firefox 52 ESR due to unsupported extensions will
have the option to upgrade (though I don't see anything that will satisfy the
vimperator users, I'm encouraged by the new mouse gesture APIs). Kudos to
Mozilla for conducting this process with an eye towards keeping the security
threat of addons reasonably manageable, even if the overall process is slower
than we'd otherwise like.

~~~
JohnTHaller
It's funny that vimperator is mentioned every single time Firefox extensions
are brought up on HN even though it only has about 11,000 users out of the
hundreds of millions that use Firefox.

~~~
bringtheaction
Well, 1) it's a legitimate use-case and 2) certainly the amount of Vimperator
/ Pentadactyl / Vimium etc users are a much higher percentage of HN users than
among the population at large.

I used to be one of the users, but after the millionth time that an upgrade
broke the extension I gave up on being able to use it.

I don't think about it often but even though I am mostly over it I get a
little sad thinking about it. But only a little.

I've also stopped using tiling window managers.

Most of my time is spent either reading in the browser, writing code or typing
in the terminal. I have sufficiently few windows most of the time that alt +
tab does the job just fine. I prefer tabbing between windows now because it
gives me bigger windows and more flexibility.

I think the scroll wheel is better for web browsing than hjkl.

But my code I will still often edit with Vim, though I sometimes use an IDE
also.

~~~
icebraining
For me, macros alone are worth installing Vimperator. Just record a series of
steps once, then you can effortlessly play them back how many times you want.
I just used it today to skip 20 pages in a dumb interface that only offers
previous/next links.

    
    
      qafnextq20@a

------
nathcd
I have a tangential question for anyone who might know more about tab stuff
than me.

Awhile ago, I looked into making Firefox not do any tab management. Basically,
always have one tab per window, middle click always opens a new window, normal
click always opens a page in the current tab. (I'd like to do tab management
with my window manager instead of browser so I can have a consistent tabbing
interface across all of my applications.)

The few results I found googling around seemed to be mostly along the lines of
"change these 14 prefs in about:preferences, install this addon to stop
target:_blank, add these userstyles to hide the tabbar, don't open any
internal FF pages, and check back with every new browser version".

Am I missing something that would make this easier, or is this really a thing
that's just not really feasible? I can certainly understand that it's not a
priority since almost no one needs to disable tabbing, but it also doesn't
seem like that farfetched of a use case, nor would I imagine it would require
much work to support.

~~~
hartator
Interesting. What do you use for tab management on the OS level?

~~~
btschaegg
It's almost certainly not what OP is using, but if you're interested in
tabbing of arbitrary windows as a built-in OS feature, I'd suggest you have a
look at how BeOS used to do that. You can still try it with Haiku[1].

I'm also fairly certain that functionality could be implemented with a handful
of scripts in awesome (in a floating way instead of using pre-existing tiling
WM features).

[1]: [https://www.haiku-os.org/](https://www.haiku-os.org/)

~~~
adambyrtek
Many tiling windows managers like i3 and XMonad have a tabbed layout:

[https://i3wm.org/docs/userguide.html#_changing_the_container...](https://i3wm.org/docs/userguide.html#_changing_the_container_layout)

[https://hackage.haskell.org/package/xmonad-
contrib-0.13/docs...](https://hackage.haskell.org/package/xmonad-
contrib-0.13/docs/XMonad-Layout-Tabbed.html)

~~~
btschaegg
> Many tiling windows managers like i3 and XMonad have a tabbed layout

I'm aware of that - I use Sway on my linux machines, which ported that over
from i3. But thanks for pointing it out, anyway :)

What I didn't know is that openbox and fluxbox can do this too, as oblio notes
(but that's more out of disinterest for those two - maybe I should have a
closer look).

I mainly pointed at awesome because I find it to be - well - awesome for being
so flexible. You can do almost anything if you want to bend it for your
specific workflows - be that in a tiling or floating layout.

For example: I still have a couple of scripts lying around that introduce the
workspace behavior of the Gnome 3 shell in an awesome desktop.

------
geekamongus
I went all in with 57 (the first 'Quantum' release) after having been a Chrome
user for quite a while. I really haven't missed Chrome _at all_ since I made
the move, and in fact, am continually impressed by the little things in
Firefox that I keep discovering. Not to mention the speed.

These changes look like they will eventually make things better, especially
for extension developers and those of us who get to reap their benefits.

Keep up the good work, Mozilla.

------
neuland
> ... one of the most requested features has been the ability to hide tabs
> with the WebExtensions API. It was a key element of some very popular legacy
> add-ons ...

It's weird that they are not mentioning Tree Style Tabs by name. But, at least
they're listening the the user requests.

I don't use the plugin myself, but I heard that one of the gripes of the new
WebExtensions version is that it still shows the normal horizontal tabs.

~~~
gogoengie
They are referring to hiding individual tabs, not hiding the horizontal tab
bar.

The legacy extension they are referring to is Tab Groups [0]. It allowed you
to separate the tabs of a single session into groups. Selecting the active
group would hide the other tabs.

[0] [https://addons.mozilla.org/en-US/firefox/addon/tab-groups-
pa...](https://addons.mozilla.org/en-US/firefox/addon/tab-groups-panorama/)

~~~
xg15
Still, it seems that the current API couldn't really support that use-case if
tabs with active audio or video can't be hidden. At least there will be some
random tabs hanging around that don't belong to your group.

~~~
calcifer
> if tabs with active audio or video can't be hidden

That's for a good reason. I don't want a tab I can't see to record audio or
video. Why would _you_ want to?

~~~
xg15
But the main use-case for this API seems to be organizing things - and it's
strange that I would want certain tabs not take part in my organisation
scheme.

If I had virtual desktop support, but certain windows are nevertheless shown
on all desktops, that would feel broken, too.

Of course notifying users of audio/video recording is important, but this
could be done with a separate notification - with options to stop recording or
activate and un-hide the tab.

------
scrollaway
Anyone working on this reading the thread? Can we ever expect an extension
that will allow the far better tab management that Chrome has? Namely: Being
able to scroll between tabs with the scroll wheel, and being able to select
multiple tabs with shift/ctrl to drag them/merge them/close them/etc.

It's crazy to me that Firefox's original selling point was tab management, and
today Chrome's is so much better.

~~~
zbraniecki
There's a bug filed to allow for multitab operations and it got assigned not
long ago -
[https://bugzilla.mozilla.org/show_bug.cgi?id=566510](https://bugzilla.mozilla.org/show_bug.cgi?id=566510)

I doubt it'll be in Fx60, but maybe son after? :)

~~~
scrollaway
Sweet! Thanks for that heads up. It really is one of the things I miss the
most from chrome.

------
rocky1138
As a technical user who values choice and customisability, I am totally fine
with their choice of disabling tab hiding until you flip a bit in the configs.
It's the best of both worlds: customisability for power users and security for
regular folks.

~~~
superkuh
Or it would be if it stayed this way. It was this way for a while with
extensions. You could install extensions you wanted freely. Then there was a
config bit to make it so you could install extensions without Mozilla
approval. Then they decided grandma was more important and completely removed
the ability to install extensions not approved by Mozilla.

The only way around it is to run a beta version or use the unpackaged
unbranded versions manually.

I wouldn't count on power user features remaining for long given Mozilla's
current target demographic.

~~~
Sylos
The config bit for allowing unsigned extensions was temporary from the start.
They did not later redecide that they wanted to remove it, they knew from the
beginning that it did not offer the security that they wanted to achieve.

Because any extension or sufficiently capable malware on your system can
change about:config values, meaning that if Mozilla ever makes a mistake in
the extension approval process and lets a malicious extension slip through, or
you get such malware on your PC, then that extension/malware would be able to
flip that config bit and open the flood gates for all malicious extensions.
Mozilla would also not be able to change that config bit back in any trivial
way, if they notice that they let a malicious extension through.

Only moving that configuration to the compilation step is able to prevent this
for sure and most definitely is the sensible choice not just for Granny, but
for most tech-savvy users as well, as even only a fraction of those care about
unsigned extensions.

Months of public discussions have been held on if this can be done in a more
(power-)user-friendly way without comprising security for the vast majority of
users, who really do not care for unsigned extensions either.

Yes, these discussions would have concluded differently, if those 0.1% users
who actually care about unsigned extensions made up 80% of Firefox users, but
acting like this decision with a motivation that goes well beyond just wanting
to not do as much maintenance is somehow indicative of how much Mozilla cares
for its power users, is just ridiculous.

And just look at the malware fest that is the Chrome Store. This is what
Mozilla was able to prevent by requiring extensions to be signed.

Lastly, specifically because they now have a functioning way of controlling
malware, they can actually be a bit more liberal in what they allow to be
configured via about:config and there is now no real use case anymore where it
would make sense to move an about:config value to a compile flag.

~~~
grumdan
> Because any extension or sufficiently capable malware on your system can
> change about:config values, meaning that if Mozilla ever makes a mistake in
> the extension approval process and lets a malicious extension slip through,
> or you get such malware on your PC, then that extension/malware would be
> able to flip that config bit and open the flood gates for all malicious
> extensions.

If such a malicious extension or other malware got installed, it could already
do anything another malicious unsigned extension could, so I don't see how
having this setting weakens security under the assumption that there's already
malicious code running.

If we assume a system is compromised, it may as well install other malware as
normal binaries instead of a Firefox extension.

~~~
Sylos
It's much easier to hide the flipping of one about:config value in your code
than it is to hide a full-fledged spyware suite.

Same for OS-level malware, which can only do so much suspicious things before
it's noticed by antivirus software or the user.

~~~
grumdan
Just flipping the about:config bit alone doesn't help much though. Any
malicious extension installed after changing the setting would still have to
have some payload with similar malicious behavior.

Moreover, even if Firefox was compiled without support for that setting,
malware could patch the Firefox binary (or download and install a malicious
version) to disable the check and then it'd still be able to hide itself as a
Firefox extension instead of a binary somewhere else on the system. Once
there's malicious code running on the system, it's game over and a flag
disabling installing more malware using one out of many possible methods is
not going to help much.

However, not having the setting may help for users that get tricked into
toggling it through some web page telling them to and then installing a
malicious extension, but that's a different scenario than an already
compromised system.

------
dbdr
> pageActions can now be shown and/or hidden automatically for specific pages
> via pattern matching using the “hide_matches” and “show_matches” manifest
> properties. This is a nice performance win for users.

When writing an extension that shows a page action only for certain
domains/URLs, this allows to replace about 15 lines of javascript code with a
single line in manifest.json. Nice!

------
shmerl
Mozilla should fix no exit confirmation for Ctrl+Q. It's just too easy to
close the browser this way, and extensions that offered this feature aren't
working anymore.

It's really a problem in general, there is no way to make an extension that
customizes browser behavior itself (rather than page behavior), since
WebExtensions can't do that.

~~~
kzrdude
I thought the gaining philosophy here was to make "destructive" operations
easy to undo, rather than having warnings and confirmations before carrying
them out?

Quitting Firefox and then starting again and restoring all tabs fits well with
easy to undo.

~~~
shmerl
I don't see how it can undo everything, if you'll lose data in the process.
Not every open page is static and some can have user input and what not.
Exiting the browser will wipe it all out, and restarting it isn't going to
help.

So confirmation for Ctrl+Q is a must, there is no question about it. And if
you don't want it - they can make an option that can turn it off.

~~~
kzrdude
If the page you're on would show a warning on close tab, it will show the same
one if you hit Quit.

HN doesn't use those warnings. This reply was first written, then I quit and
restored, and now I'll hit Send.

~~~
icebraining
Simple HTML pages will be preserved, but if the form is created using JS, good
luck.

Yes, they probably should show a warning, but browsers developers know very
well they can't rely on websites to always follow the best practices.

------
virtualwhys
Was hoping to see Web SQL make its way back into Firefox.

Yes, it's been deprecated for years, but that hasn't stopped the browser
makers with majority of market share (Google > Chrome, Apple > Safari) from
continuing to ship it along with the strictly worse alternative (IndexedDb).

Now that pretty much every language compiles to Javascript it's a shame to
lose SQL functionality on the client. Shared model, shared validation, shared
SQL layer, etc. -- it could all be a unified whole, but no, now one has to
wait for _sqlite-lite_ to be built on top of IndexedDb; that or throw
everything out and go NoSQL on client and server.

~~~
jgj
> but no, now one has to wait for sqlite-lite to be built on top of IndexedDb

not exactly sqlite-lite, but it's sqlish and it's build on top of IDB:
[https://github.com/google/lovefield](https://github.com/google/lovefield)

~~~
virtualwhys
Thanks for the link, I've been hunting around everywhere looking for a cross
platform solution.

In a sibling comment I mentioned the fact that most languages compile to
Javascript, the primary benefit being able to share code across client and
server. So, if you've got a query DSL on the server that hooks into an SQL
database you can use the _same_ code on the client, hooking into an SQL
database on the frontend.

All of the IndexedDb wrappers I've seen do essentially their own thing; in
Lovefield's case, "The difference is that Lovefield does not accept raw SQL
statements; instead, it has a builder-pattern API to build queries", which
means it's effectively a client-side only solution if pure SQL is the output
target of your query DSL.

------
vzola
They mention tab groups. Mozilla, why do you play with my feelings?

~~~
kbenson
What are you referring to?

The containers addon does grouping, sorting, color coding, auto group
association, and sandboxed cookies. Is there something else you're looking
for?

~~~
orev
No, the old Tab Groups extension does something different. It allows you to
switch between different groups like you can switch between virtual desktops.

~~~
nicoburns
I beleive the additions in this release should enable that... there's an
extension called konex (or is it conex) which I believe does just this.

~~~
maccam94
conex does use the new API now, but it's built on Firefox Containers, so the
groups have their own cookie sandboxes.

------
cirowrc
This is very cool:

> Extensions can now override the proxy settings in the browser which has been
> another highly requested feature

I see that there's an opportunity here to improve the experience of using
SOCKS in the browser. Pretty cool.

~~~
pedrocr
I built an extension to make SOCKS as simple as possible without a bunch of
scary permissions:

[https://addons.mozilla.org/en-
US/firefox/addon/proxyswitcher...](https://addons.mozilla.org/en-
US/firefox/addon/proxyswitcheroo/)

I'll probably be updating it in 59 to use this new API though. It almost
completely removes the need for a settings page and should allow you to set
all the complex proxy config you want using the firefox UI. It does seem to
need a broader permission than I would have liked though.

------
fro0116
Not really related to extensions, but one thing I've been curious of for a
while now: Does the Firefox team have any plans to implement something like
Chrome's expensive background timers throttling feature?

[https://blog.chromium.org/2017/03/reducing-power-
consumption...](https://blog.chromium.org/2017/03/reducing-power-consumption-
for.html)

It seems more and more relevant these days with the advent of cryptocurrency
miners.

~~~
clouddrover
Yes, Firefox 58 has background tab throttling:

[https://hacks.mozilla.org/2018/01/firefox-58-the-quantum-
era...](https://hacks.mozilla.org/2018/01/firefox-58-the-quantum-era-
continues/)

~~~
fro0116
Ah thank you! That's great to hear. Looks like I just couldn't find the right
search terms to find it.

------
paul7986
Does this mean tabmix plus is now once again compatible? An add on I used for
ten years.

~~~
RussianCow
There are still tons of APIs missing from WebExtensions that are required for
many features of Tab Mix Plus. For instance, there is no way to get click
events of any kind on tabs, so things like "reload tab on double-click" are
not possible. You also can't control things like whether a new "window" opens
in a tab or an actual window (to implement TMP's "open popups in tabs"
feature), where tabs open (to have new tabs open next to the active one), what
shows in their right-click context menus, etc.

So no, we're quite a long ways away from having a real Tab Mix Plus
replacement. Having said that, I have faith that we will eventually get there,
and hopefully be able to implement at least half of the functionality of TMP
using WebExtensions within the next two years.

~~~
brokenmachine
So I'll remain stuck on Firefox 56 for two years...

~~~
RussianCow
You probably don't want to keep using a version of Firefox that isn't going to
get security updates... If keeping Tab Mix Plus is that important to you, try
Waterfox[0] instead. It's a fork of Firefox 56 with security patches
backported and a few small changes.

Personally, I've installed add-ons for the bits of functionality that are
possible with WebExtensions, and otherwise learned to deal with it. The
performance and stability improvements are worth it.

[0]: [https://www.waterfoxproject.org/](https://www.waterfoxproject.org/)

~~~
brokenmachine
Thanks, I'll check it out.

Tab Mix Plus is pretty much essential for me. I have over 900 tabs at the
moment, and all other tab extensions I've tried have been very ordinary in
comparison.

------
lillesvin
I recently tried to switch back to Firefox from Chrome because I was missing
how Vimperator was able to hide all of the UI and just give me a small
statusbar at the bottom like in Vim. However, I found that's no longer
possible with WebExtensions, so now I'm wondering if anyone has any
suggestions if I want a browser with absolutely minimal UI and Vim controls?

Seems like we're getting closer with this version though. I might just have to
be patient.

------
hendersoon
Minor note, the mouse gesture config flag they speak about in this article,
allowing mouse gestures to work on Linux and MacOS, was actually added in
Firefox v58.

------
joveian
I hope FavTab will be able to work again. That is the one thing that has
really messed up my usage of Firefox (I'm using AutoPinTab to pin everything
as a replacement, but it causes flashing when it overlaps the favicon
bookmarks I have to the right of the tabs and makes Ctrl-w not work).

~~~
Sylos
Have you tried the userChrome.css edits that the author lists on the add-on
page?

[https://addons.mozilla.org/en-
US/firefox/addon/favtab/](https://addons.mozilla.org/en-
US/firefox/addon/favtab/)

~~~
joveian
Thank you! That text wasn't there when I looked. It is still too wide but at
least much better than AutoPinTab and with a few adjustments I got something
that behaves a little strangely but uses less space.

------
joemccall86
> To better support mouse gestures, browserSettings.contextMenuShowEvent() has
> been added in this version. This new API can be set to “mouseup” or
> “mousedown” by extensions to determine when context menus should be shown.

Looking forward to using FireGestures in Linux again.

~~~
nebalee
You'll have to look for an alternative as the dev of FG wont port his addons
to WebExtensions:
[https://github.com/gomita/firegestures/issues/170#issuecomme...](https://github.com/gomita/firegestures/issues/170#issuecomment-348765675)

------
nercht12
Here's wondering how soon we'll see ActivityPub added, now that it's in the
standards.[1]

[1] [https://www.w3.org/TR/activitypub/](https://www.w3.org/TR/activitypub/)

~~~
floatboth
How is it even related to browsers? o_0

------
seanwilson
If you have an existing Chrome extension that relies on just the WebRequest
API, how much effort is it to port to Firefox? Do things generally work
without significant modifications? Are there lots of gotchas and small
differences?

~~~
jopsen
Take a look at MDN: [https://developer.mozilla.org/en-US/Add-
ons/WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions)

The API docs all have browser compatibility tables.

------
ilaksh
Is there a list of Web extensions APIs that are also compatible with Chrome?

~~~
soapdog
At MDN you have a browser compatibility chart for each API entry documented at
the end of the page describing and there is also this page here:

[https://developer.mozilla.org/en-US/Add-
ons/WebExtensions/Br...](https://developer.mozilla.org/en-US/Add-
ons/WebExtensions/Browser_support_for_JavaScript_APIs)

------
gkgicccj
I'm still annoyed by some fx changes that are purely out of chrome jealousy.

The address bar suggestions used to be 2-lines and were so readable until
someone just blindly copied the unreadable version of chrome.

~~~
cstdr
You mean like this
<[https://i.imgur.com/6ZXAchD.png>](https://i.imgur.com/6ZXAchD.png>)? You can
get the old look back via userChrome.css. Relevant styles from mine:

    
    
      #PopupAutoCompleteRichResult .ac-separator {
        page-break-before: always;
        width: 47px;
      }
    
      #PopupAutoCompleteRichResult .ac-separator-text {
        display: none !important;
      }
    
      #PopupAutoCompleteRichResult richlistitem {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        height: auto;
        padding-bottom: 5px;
      }

~~~
gkgicccj
You created an account just to answer me? Thank you! I forgot to upvote
earlier.

------
5_minutes
The only thing I’m missing in FF is the easiness of Google Translate, baked
into Chrome. I know there are a few extensions, but it’s less smooth. Other
than that, Chrome became bloated.

------
dnsco
I just tried to read this on mobile:

Found there were About three words laid out in the Column so I flipped My
phone for a less Arduous reading Experience but there Was just more padding
And I found the eye Tracking experience Exhausting so I stopped reading.

------
randomString1
Too bad the new model to not review and approve extensions made me stop
installing and experimenting with them (except uBlock and a couple more). Same
BS as Chrome but what can you do. My browser is very boring now.

------
baby
Is tree style tab integrated by default in firefox now?

~~~
severine
I don't think so, what makes you say that?

~~~
baby
I'm waiting for them to include something like tree-style tabs by default in a
future version :o

~~~
oblio
That'll never happen. Some casual users are confused by tab bars. And casual
users understand trees even less.

~~~
baby
I’m confident that it will happen. It’s actually easier to understand tabs on
the side for new users. And it makes more sense in general.

~~~
oblio
None of the other browsere seems to support it, so there's that.

On the other hand, "never say never", right? :)

~~~
baby
That's probably where the next evolution of browser will come from :) but I'm
just trying to guess, who knows right

------
onewhonknocks
Bring back tag groups plz

~~~
halfjoking
Bring back Components.classes["@mozilla.org/inspector/dom-
utils;1"].getService(Components.interfaces.inIDOMUtils) PLZ

------
eklavya
No keychain support in mac, still can’t use firefox :(

------
noloblo
its painful see most of the extensions don't work yet in latest firefox
keychain access manager ublock and others why do every Firefox version break
extensions ?

~~~
oblio
uBlock works, it always worked. They had a WebExtensions version early.

And the point of WebExtensions is to provide a stable API and prevent the
constant breakage.

