Post #2948761
2026-05-19 22:21 UTC
Some time in the last several months, I kind of gave up on Mozilla as an organization. I've been pretty dissatisfied with the direction Firefox is heading in, so I decided to try out other browsers. Vivaldi seems nice. I've stuck with that one for a while now.
But switching my daily driver browser means a bunch of my Web apps that were designed as browser extensions for Firefox apparently need a lot of work to get ported to Chrome and its descendants.
Web standards do a pretty good job of making all the browsers show web pages in roughly the same way, but hooooo boy do the standards really break down when it comes to web extensions! :blobcatnotlikethis:
Even just super basic stuff. Some browsers call the main API entry point `browser`. Other browsers (who shall remain nameless) call it `chrome`.
On the more esoteric end, some browsers pass messages between processes using basically JSON as a wire format, and others use a fancier method called structured cloning. And there's no signal to tell what a browser's going to do there (some browsers even do different things depending on configuration!), so you need to FAFO at runtime to figure out what works.
Browsers can't even agree on what the unique identifier for an extension should be and have come up with * wildly * different methods for choosing it.
The porting work has been a bit of a pain. But I think I have most of it figured out now.
Replies (0)
No replies.