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:

  1. Does the synchronization work on a zip file loaded from Add-ons -> Tools for all add-ons -> Install add-on from file…?
    I have in manifest.json applications.gecko.id, as needed.
  2. 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

  • igorlogius@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    1 year ago

    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.

  • MrOtherGuy@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    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 to sync area (browser.storage.sync) - then you need to also read it from the sync area, but in your example you are reading from local area which is for local not-to-be-synced data only.