Fix ExtensionStorageIDB storage.local.get when called with a string parameter

VERIFIED FIXED in Firefox 63

Status

defect
P1
normal
VERIFIED FIXED
10 months ago
9 months ago

People

(Reporter: mte90net, Assigned: rpl)

Tracking

unspecified
mozilla63

Firefox Tracking Flags

(firefox63 verified)

Details

Attachments

(2 attachments)

(Reporter)

Description

10 months ago
The extension is https://addons.mozilla.org/en-US/firefox/addon/share-backported/
Code on https://github.com/Mte90/Share-Backported

I received support request and also tested on my installation that with last Firefox Nightly the data are not migrated and as explained on https://blog.mozilla.org/addons/2018/08/03/new-backend-for-storage-local-api/ the file exist.

In any case I was trying to understand if I can reconfigure the plugin with saving new settings.
When I save with storage.local seems that the data are not saved.
(Assignee)

Comment 1

10 months ago
When the storage.local.get API method is called with a string parameter, it should return
a result object that only include that property (if it is one of the key stored into the
storage.local data backend).

This patch fixes the behavior of the ExtensionStorageIDB in the above scenario, and also
applies some related small changes to the tests (to add some additional assertion to verify
this behavior as part of the automated tests and to fix a mistake on a storage.local.get
call in one of the test case, which has been caught once fixed the storage.local.get behavior
for the string parameter).
(Assignee)

Updated

10 months ago
Assignee: nobody → lgreco
Status: NEW → ASSIGNED
Iteration: --- → 63.4 - Aug 20
Priority: -- → P1
(Reporter)

Comment 2

10 months ago
So I don't need to fix that from my extension but when this fix will be available for Nightly users?
(Assignee)

Comment 3

10 months ago
(In reply to Daniele "Mte90" Scasciafratte from comment #2)
> So I don't need to fix that from my extension but when this fix will be
> available for Nightly users?

Yes, the extension linked in Comment 0 should work correctly without any changes on a Nightly build with the attached fix applied.

From what I saw while I've been investigating this issue, the data is actually saved (and migrated) correctly, on the contrary the issue is when the extension's options page is loading the saved settings using the storage.local.get API method with a string parameter (which should return as a result an object with just that property, but it is currently returning an object with all the properties, and this seems to be what is making the extension's options page to do not set the expected values on the input elements).

You may also test if the patch fixes the issue for your extension before the patch is merged by using a linux64 build created in one of my push to try, e.g.:

- https://queue.taskcluster.net/v1/task/Bt9ZDeEoR2aC5y5DpotLTQ/runs/0/artifacts/public/build/target.tar.bz2
  (Generated from the following push to try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=61da4c757b52eb61df833042ba06450461ce6344)
(Reporter)

Comment 4

10 months ago
Tested and is working, when will be available on Nightly?

Comment 5

10 months ago
Pushed by luca.greco@alcacoop.it:
https://hg.mozilla.org/integration/autoland/rev/84aff55a4fbf
Fix ExtensionStorageIDB storage.local.get when called with a string param. r=aswan

Comment 6

10 months ago
Comment on attachment 8998506 [details]
Bug 1481607 - Fix ExtensionStorageIDB storage.local.get when called with a string param.

Andrew Swan [:aswan] has approved the revision.
Attachment #8998506 - Flags: review+

Comment 7

9 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/84aff55a4fbf
Status: ASSIGNED → RESOLVED
Last Resolved: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63

Comment 8

9 months ago
Posted image Bug1481607.gif
This issue is verified as fixed on Firefox 63.0a1(20180809220138) under Win 7 64-bit and Mac OS X 10.13.3.

STR:
- Start Firefox 62 latest Beta.
- Install the extension from the Description.
- Open the options page, set some options and press the “Save” button.
- Reload the options page and check that your settings have been saved.
- Start Firefox 63 latest Nightly on the same profile.
- Open the options page and check that the settings you made are migrated as expected.
- Open about:config and check that the extension has been migrated (ExtensionStorageIDB.migrated.ADDON_ID)
- Change the settings from the options page again and press the “Save” button.
- Reload the options page and check that the new settings are loaded as expected.

Please see the attached video.

Updated

9 months ago
Status: RESOLVED → VERIFIED
(Assignee)

Updated

9 months ago
Summary: Data not saved in Nightly → Fix ExtensionStorageIDB storage.local.get when called with a string parameter
You need to log in before you can comment on or make changes to this bug.