about:config for release
Categories
(Fenix :: General, enhancement, P5)
Tracking
(Not tracked)
People
(Reporter: kbrosnan, Unassigned)
References
(Depends on 1 open bug)
Details
Attachments
(1 obsolete file)
Fenix does not support about:config
in release builds. There are a few reasons for this restriction.
- There are preferences that correspond to Geckoview APIs that get reset if a user modifies them via
about:config
instead of the control that Fenix provides. The preference is reset when the app restarts. - There are many preferences that are noop. Most of the
browser.*
and others do nothing when modified because of the API separation that Geckoview provides. - There are preferences like
resistfingerprinting
where UI to optionally enable canvas is not present and touch events are disabled which breaks interacting with some websites. - There are platform preferences that are untested in Fenix. In the past enabling Fission and other Electrolysis features would result in startup crashes for Fenix. Due to the Android OS app architecture users cannot access app data. The solution of uninstalling and reinstalling results in the deleting of data like bookmarks, passwords, history, etc. unless they used Sync.
Possible paths forward.
- Advanced preferences UI that exposes known working prefs
- Warning about data loss and full access to
about:config
- Lifting specific preferences into the settings UI
For now users that want access to these advanced prefs will need to use Firefox Beta or Nightly.
There are platform preferences that are untested in Fenix. In the past enabling Fission and other Electrolysis features would result in startup crashes for Fenix. Due to the Android OS app architecture users cannot access app data.
Would it be possible to rewrite about:config
to have a native interface rather than going through Geckoview to allow editing them even if Geckoview crashes? Or even just a button in preferences (or whicher screen shows up when Geckoview crashes) to reset all configs as emergency option?
(In reply to bjorn3 from comment #2)
There are platform preferences that are untested in Fenix. In the past enabling Fission and other Electrolysis features would result in startup crashes for Fenix. Due to the Android OS app architecture users cannot access app data.
Would it be possible to rewrite
about:config
to have a native interface rather than going through Geckoview to allow editing them even if Geckoview crashes? Or even just a button in preferences (or whicher screen shows up when Geckoview crashes) to reset all configs as emergency option?
We could use android system's android:manageSpaceActivity to achieve this, which is similar to chromium-based android browser. It contains (maybe incomplete): clear all settings and extensions (i.e. Refresh fenix), clear all data, export bookmarks.
Refresh Fenix - reset add-ons and settings
https://bugzilla.mozilla.org/show_bug.cgi?id=1813808
Comment hidden (advocacy) |
Maybe there could be telemetry collection about how frequently crashes occur as a result of tweaking about:config? It would show if enabling it on release is dangerous or not.
As a small data point, Mull Browser (a Fenix fork) uses a custom user.js (Arkenfox) and there have never been any crashes based on this, despite making many changes to the prefs.
Comment hidden (me-too) |
Comment hidden (off-topic) |
Updated•7 months ago
|
Comment hidden (off-topic) |
Comment hidden (off-topic) |
Comment hidden (advocacy) |
Comment 12•2 months ago
|
||
I have buffering issues on few sites and need to increase some cache settings values via about:config. Since about:config is not exposed it's impossible to set cache and other config settings.
Comment hidden (advocacy) |
Comment 14•1 month ago
|
||
Someone posted a hacky solution in https://github.com/mozilla-mobile/firefox-android/pull/544#issuecomment-2017301080
about:config is available in the release build of Firefox for Android (and Firefox Focus) through the following URL:
chrome://geckoview/content/config.xhtml
Comment 15•19 days ago
|
||
With this can set "permissions.default.image" to 2 to block most images, but must also disable Javascript because it is not respectful of this
Description
•