Noscript (and likely any extension) can be accidently turned off on android alpha

🐞 Bug Report

I noticed on the latest alpha (16.0a3) that noscript was disabled and therefore not working right.

After investigating a bit, I found that terminating the app within a specific roughly half second window on startup can leave the extension disabled. Without re-installing, it will stay disabled without any way to enable it and almost no warning (you have to go into settings and actually check if it is disabled).

This is due to !1851 (merged) disabling and enabling extensions. If the app is closed before the app is re-enabled, it will stay disabled.

Reproduction steps

Open the app and immediately close it right after the splash screen goes away and the first actual screen is shown. It may take a few tries since the window is very small. It may help to add logs in the right place (like in the following diff) and running it in a debug build with logcat on.

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
index 04d13d2b7d4f2..2d137aba11ef1 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
@@ -750,9 +750,11 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
                     // disable and enable each extension to properly initialize them
                     extensions.forEach { extension ->
                         if (extension.isEnabled()) {
+                            logger.debug("disabling extension: ${extension.id}")
                           (components.core.engine as GeckoEngine).disableWebExtension(
                               extension,
                               onSuccess = {
+                                  logger.debug("enabling extension: ${extension.id}")
                                   (components.core.engine as GeckoEngine).enableWebExtension(extension)
                               },
                           )

Bookkeeping

  • Browser version:
  • Browser channel:
    • Release
    • Alpha
    • Nightly
  • Distribution method:
    • Installer/archive from torproject.org
    • tor-browser-launcher
    • homebrew
    • other (please specify):
  • Operating System:
    • Windows
      • Version:
    • macOS
      • Version:
    • Linux
      • Distribution + Version:
      • Desktop Environment + Version:
    • Android
      • Version:
      • Device:
    • Tails
    • Other (please specify):

Troubleshooting

Does this bug occur in a fresh installation?

Yes

Is this bug new? If it is a regression, in which version of the browser did this bug first appear?

Yes, introduced in !1804 (merged) 16.0a2

Does this bug occur in the Alpha release channel?

Yes

Does this bug occur in Firefox Rapid Release?

No, they didn't have the underlying problem that !1804 (merged) fixed.


Edited Mar 17, 2026 by clairehurst
Assignee Loading
Time tracking Loading