Closed Bug 1899674 Opened 5 months ago Closed 3 months ago

Optional Permission switch deletes permission row instead of toggling off

Categories

(Toolkit :: Add-ons Manager, defect, P1)

All
Android
defect

Tracking

()

VERIFIED FIXED
130 Branch
Tracking Status
firefox130 --- verified

People

(Reporter: zmckenney, Assigned: zombie)

References

Details

(Whiteboard: [addons-jira])

Attachments

(4 files, 1 obsolete file)

Steps to reproduce

  1. Install an extension with runtime permission changes or do as state in this description from related ticket
  2. Add a runtime permission
  3. Navigate to the optional permissions screen
  4. Toggle off a runtime permission

Expected behavior

The toggle is turned off and remains across navigation changes to the screen (although this does differ from Desktop which works by toggling off and is removed if the user navigates away from the screen) or the UI icon to represent that it will destroy the row.

Actual behavior

When a user toggles off a runtime permission it destroys the row and cannot be recovered.

Any additional information?

If it's not clear to the user that some toggles when left off will disappear forever I believe this to be a UX anti-pattern so I expect the UI to actually represent that it's destroying the row with an appropriate icon.

Attached video Current functionality
Whiteboard: [addons-jira]

After talking through this with the web-ext team we're going to cache the addon permissions in memory so the permission toggle does not delete in the returned value for the Addon when changing permissions. These permissions will be cached in memory which will retain for the Fenix session so the user can toggle as desired after leaving and coming back to the details permission screen. I'm taking down the WIP patch and we can move forward with these changes.

Attachment #9404710 - Attachment is obsolete: true

Moving to Toolkit::Add-ons Manager because we're going to keep track of the optional permissions in memory to fix this bug, not just for Fenix, but desktop in general (even after reloading about:addons for example).

Assignee: zmckenney → tomica
Component: WebExtensions → Add-ons Manager
Product: Fenix → Toolkit
Pushed by tjovanovic@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/768d81356736 Keep track of optional permissions requested at runtime r=robwu
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch

While the code is shared across platforms, this landed with a test only for desktop, it would be great to get manual QA verification on android as well.

The STR from comment 0, together with the extension from bug 1896871 should be enough, but please ask if more details are required.

Flags: qe-verify+

Verified as Fixed.

Tested on the latest Nightly for Android (130.0a1, Build #2016034519, hg-a0e3db73fd24+, GV: 130.0a1-20240724215903, AS: 130.20240724050232) using the STR from Comment 0 and the extension from Bug 1896871. I also tested the latest Beta for Android for comparison purposes.

On Nightly, after granting the runtime permissions as per https://bugzilla.mozilla.org/show_bug.cgi?id=1896871#c0, toggling them off will not destroy the rows, confirming the fix.

On Beta, on the other hand, toggling the permissions off will destroy the rows, further confirming the fix in Nightly.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: