I do a basic browser.local.sync
sync test:
let monster = {
name: "Kraken",
tentacles: true,
eyeCount: 10,
};
let kitten = {
name: "Moggy",
tentacles: false,
eyeCount: 2,
};
browser.storage.sync.set({ kitten, monster });
and on the second profile:
await browser.storage.local.get("kitten");
but nothing happens, get("kitten")
returns nothing.
QUESTIONS:
- Does the synchronization work on a zip file loaded from Add-ons -> Tools for all add-ons -> Install add-on from file…?
I have inmanifest.json
applications.gecko.id
, as needed. - If not, what do I need to do to TEST the synchronization work?
API https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync
I assume the zip-file wasn’t signed by mozilla? And the question is basically if unsigned extensions can use the Storage API. Interesting question … i actually never tried that, i just assumed since the Storage isn’t encrypted and account bound, that unsigned extensions should be able to use it.
about:sync-log
might be of interest here.I don’t know if the syncing part will work for unsigned extensions, but you need to use the same storage area on both endpoints. So if you set
kitten
key tosync
area (browser.storage.sync) - then you need to also read it from the sync area, but in your example you are reading fromlocal
area which is for local not-to-be-synced data only.