MCF20: Flatpak support, sorta, kinda
Table of Contents
It's weird, despite being a father now, I still manage to find time for mobile-config-firefox; fixing annoyances and sometimes even issues other people have.
Recently, I added flatpak support. Thankfully, there was prior art: PocketBlue, the immutable Fedora-based OS for phones, did some work in that direction, in not one, but two projects:
- firefox-systemconfig, a flatpak that adds mobile-config-firefox to a Firefox flatpak,
- handyfox, a flatpak bundling Firefox with mobile-config-firefox and even more.
This first approach is what has now been added to mobile-config-firefox. For that I had to make one change, and then added two others, to make installing slightly more convenient.
- Changing mobile-config-autoconfig.js - I am sure that there are smarter ways to implement this, but this is what I managed to come up with,
- Changing the Makefile and install/uninstall scripts,
- Adding a flatpak manifest.
... and, of course, documentation.
Limitations and Use case
What's important to note: This implementation ONLY works with the Firefox flatpak. It also can't be put on Flathub, just look at the appid that manifest has.
But: It's a way for those on immutable phone distributions that want or need something newer than Firefox ESR on their phone, or want to use Firefox on postmarketOS Duranium with Plasma Mobile, which does not ship Firefox, only Angelfish.
It's also helpful for further development, if you are on postmarketOS - Alpine usually does not ship the latest release on day one, while the flatpak is available quickly.
But Librewolf?
Honestly, it's hard. The Librewolf flatpak is not extensible, as the Firefox flatpak is, so ... there's no way to make this work easily with the available flatpak. While the necessary change is just adding a few additional lines to the manifest, I'll leave the upstreaming of that - and the necessary additional changes to mobile-config-firefox - to someone else who actually likes and uses Librewolf and is up for testing (and fixing) m-c-f with Librewolf. I wasn't happy how m-c-f Librewolf support in postmarketOS was added through packaging alone without much consultation; this is my silent revenge if you will. ;-)
Next steps
What's next for me? Well, mostly fixing things. There's always something else broken, and customizations need to be adjusted to keep up with Firefox. If Firefox Beta 157 is a valid indicator, the Nova redesign is going to land with 157. While I don't like the new look (it's just too round, IMHO), I'll see if I can find the time to make it just visually different and not meaningfully broken on mobile.
Also, there's some housekeeping coming up: Once 153.* ESR replaces 140.* ESR in Alpine and/or Debian, we will need to rotate old customizations that no longer apply out to keep things lean and maintainable.