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
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
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ć