Closed Bug 1582107 Opened 5 years ago Closed 5 years ago

Error: manifest.incognito set to "not_allowed" is currently unvailable for use

Categories

(WebExtensions :: Android, defect)

All
Android
defect
Not set
normal

Tracking

(firefox-esr68 wontfix)

RESOLVED DUPLICATE of bug 1585468
Tracking Status
firefox-esr68 --- wontfix

People

(Reporter: lidel, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0

Steps to reproduce:

I tried to install https://github.com/ipfs-shipyard/ipfs-companion/releases/download/v2.8.4.820/ipfs_companion_beta_build-2.8.4.820-an+fx.xpi in Firefox for Android, but got "package corrupted" error.

Actual results:

I was able to debug the reason via web-ext, details in https://github.com/ipfs-shipyard/ipfs-companion/issues/761

In short, if manifest.json contains "incognito": "not_allowed", the .xpi can't be loaded into Firefox for Android, it produces Error: manifest.incognito set to "not_allowed" is currently unvailable for use.

Expected results:

Ideally, manifest.incognito set to "not_allowed" should work, making it possible to load the same .xpi on Desktop and Android

Component: Add-on Manager → Untriaged
Product: Firefox for Android → WebExtensions
Version: Firefox 68 → unspecified
Component: Untriaged → Android

Hello,

I have managed to reproduce the issue on Firefox for Android (68.1.1/20190912140418). When I attempt to download and install the mentioned extension, an error is displayed stating that the add-on cannot be installed as it appears to be corrupt.

Status: UNCONFIRMED → NEW
Ever confirmed: true

I reproduced the issue on Release 68.1.1 and Beta 68.2b3 using Samsung Galaxy S8+ (Android 8.0.0). I will set the tracking flags accordingly.

OS: Unspecified → Android
Hardware: Unspecified → ARM

The manifest.incognito set to "not_allowed" is currently unvailable for use error is being triggered from the ExtensionData parseManifest method.

The error is raised on Android but not on Desktop because of the default value for the "extensions.allowPrivateBrowsingByDefault" preference, which is set to true on android builds.

The "extensions.allowPrivateBrowsingByDefault" preference value on Android is set to true because there are missing parts to fully expose the new behavior on Fennec (e.g. the UI that should allow the user to allow/disallow private browsing access on the installed extensions is missing in the mobile about:addons page).

I doubt that we may still be able to add to Fennec the missing pieces to fully expose the UI that can toggle the private browsing access from the installed extension, but it may be reasonable to double-check if we may instead allow the extensions that are explicitly opting-out from the private browsing access (by using the "manifest.incognito set to not allowed") to install successfully on Fennec ESR 68 (if the changes needed are simple enough to be actually low risky and reasonable to uplift).

Besides Fennec, the underlying issue is actually affecting the gecko Android builds, and so we should still look into the issue to make sure that it is fixed for GeckoView/Fenix

I'm adding a needinfo assigned to Shane, to make him aware of the issue (and then evaluate and agree with Shane what we can reasonably do about it).

(as a side note, I just noticed that we missed to catch the typo in that error message during the review of those changes, "unvailable" => "unavailable").

Flags: needinfo?(mixedpuppy)

Changing Hardware: ARM → All, because the issue is Android specific but not ARM specific.

Hardware: ARM → All

This is documented incorrectly for android, which doesn't support incognito.not_allowed.

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/incognito

I don't think we should offer that support without the UI work necessary being done.

Flags: needinfo?(mixedpuppy)
Keywords: dev-doc-needed

Do you want to put this onto your radar somehow for geckoview?

Flags: needinfo?(snorp)

-> agi

Flags: needinfo?(snorp) → needinfo?(agi)

Interesting. Thanks for the FYI. We need some sort of support for this for page/browser Action so I'll create a bug for this in GeckoView.

Flags: needinfo?(agi)

Can you dup this to the geckoview but then?

Flags: needinfo?(agi)
Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(agi)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.