Czy synchronizacja działa na plik zip załadowany z Dodatki -> Narzędzia dla wszystkich dodatków -> Zainstaluj dodatek z pliku...?


Robię podstawowy test synchronizacji `browser.local.sync`:


```javascript

let monster = {

name: "Kraken",

tentacles: true,

eyeCount: 10,

};


let kitten = {

name: "Moggy",

tentacles: false,

eyeCount: 2,

};


browser.storage.sync.set({ kitten, monster })

```


i na drugim profilu:

```javascript

await browser.storage.local.get("kitten")

```


ale nic się nie dzieje, `get("kitten")` nie zwraca nic.


PYTANIE:

1. Czy synchronizacja działa na plik zip załadowany z Dodatki -> Narzędzia dla wszystkich dodatków -> Zainstaluj dodatek z pliku...?

Mam w `manifest.json` `applications.gecko.id`, tak jak trzeba.

2. Jeśli nie, to co trzeba zrobić, żeby PRZETESTOWAĆ działanie synchronizacji?


API https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync

#firefox #addons #rozszerzenia #extensions #webextensions

Komentarze (1)

fewtoast

Testowałem, i sam sobie odpowiem:

1. Da się.

2. Da się nawet bez pakowania do pliku zip, można nawet bezpośrednio załadować folder w `about:debugging#/runtime/this-firefox`.


Ale...


Miałem pewien pomysł z wykorzystaniem i...

Synchronizacja w Firefox jest absolutnie nieprzewidywana i niekonsekwentna. Nie ma opcji żeby użyć jej do czegoś użytecznego, tego nie da się sensownie użyć. Całe API WebExtensions ma wiele dziwnych błędów, niektóre zgłosiłem i są olewane. Tutaj API synchronizacji czasami całkowicie ignoruje jakieś dane, czasem bez problemu synchronizuje zgodnie z cyklem czasowym, czasem event onChanged łapie czasem nie, czasem funkcja get() łapie, czasem nie i koniec. Wybili mi z głowy ten pomysł.

Zaloguj się aby komentować