Open Bug 1813163 Opened 1 year ago Updated 19 days ago

about:config for release

Categories

(Fenix :: General, enhancement, P5)

All
Android
enhancement

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.

Examples showing the need: TRR, RFP.

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

Depends on: 1647160

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.

Assignee: nobody → gregp
Status: NEW → ASSIGNED
Duplicate of this bug: 1859180

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.

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

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

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: