I've been digging into Vanadium's extension support implementation and this looks like a solid approach for Android. The key challenge we faced with WebExtensions on mobile was the memory footprint - each extension runs in its own process which can add 30-50MB of overhead per extension on resource-constrained devices.
Curious how you're handling the isolation/sandboxing model here? The standard Chrome approach of site isolation + process-per-extension becomes pretty heavy on mobile. Have you considered using a shared process model with context isolation instead? We found that careful use of V8 contexts could give similar security guarantees with ~70% less memory overhead, though it required some tricky IPC handling between the extensions and main browser process.
Also worth noting that the WebExtension manifest v3 transition adds some extra complexity for mobile browsers - particularly around the service worker lifecycle and background page limitations. Would love to hear how you're approaching that migration path.
The repository introduces it as indeed based on Helium [0].
The cool part about Helium is that it's based on patches, rather than forking the full source code. I don't know how sustainable this is in the long term, but it's an interesting approach for sure.
Not sure what's cool about that. A fork is a patch set, with a ton more ergonomics on top. Passing around sets of patches was what we did before VCSs were common/easy-to-set-up, and it was always brittle and annoying.
Great job on this release! I've been waiting for something like it since my favorite browser, Kiwi, stopped getting updates.
Without updates, many sites will likely stop working with it soon.
Kiwi had some great features, like disabling AMP mode, rearranging the Chrome Store for mobile, and customizable tab layouts, etc. These features might interest others as well.
With Obtanium you can add the URL (https://github.com/jqssun/android-helium-browser) and it will automatically notify when a new version is available. Kind of like a package manager for GitHub and other sources (for stuff not available on F-Droid).
Combined Obtainium it's easy to keep it updated. https://github.com/ImranR98/Obtainium
Curious how you're handling the isolation/sandboxing model here? The standard Chrome approach of site isolation + process-per-extension becomes pretty heavy on mobile. Have you considered using a shared process model with context isolation instead? We found that careful use of V8 contexts could give similar security guarantees with ~70% less memory overhead, though it required some tricky IPC handling between the extensions and main browser process.
Also worth noting that the WebExtension manifest v3 transition adds some extra complexity for mobile browsers - particularly around the service worker lifecycle and background page limitations. Would love to hear how you're approaching that migration path.
That would raise the value of that project quite a lot (at least for me, but I feel like there are others, thinking similarly).
Please, push it to F-Droid!
[0]: https://news.ycombinator.com/item?id=45366867
[1]: https://helium.computer/
The cool part about Helium is that it's based on patches, rather than forking the full source code. I don't know how sustainable this is in the long term, but it's an interesting approach for sure.
[0]: https://helium.computer/
Some Chromium builds has that: https://chromium.woolyss.com/#google-api-keys
Without updates, many sites will likely stop working with it soon.
Kiwi had some great features, like disabling AMP mode, rearranging the Chrome Store for mobile, and customizable tab layouts, etc. These features might interest others as well.
Have you thought about merging your efforts with ungoogled-chromium (Android)?
There USED to be an ungoogled-chromium for Android (circa v88 chrome, the APK is still available for download) that also allowed extentions.
Edit: hard to find where to get this browser. Do I need to build it myself?
Kiwi was a great browser but has since shutdown. Android needs something like Kiwi that also has a steady income to support itself in future.