Remove the kinto-based storage.sync implementation
Categories
(WebExtensions :: Storage, task, P3)
Tracking
(Not tracked)
People
(Reporter: markh, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
In bug 1623245 we added a new implementation of the storage.sync API, and in bug 1634615 we will enable it by default - at which point it will be considered deprecated. At some point after that we should remove it entirely.
Comment 1•4 years ago
•
|
||
in bug 1634615 we will enable it by default - at which point it will be considered deprecated.
Looks like there may be one wrinkle here: GeckoView.
This line causes GeckoView to build with the old Kinto sync backend rather than the new Rust backend, and references Bug 1625257 to track the work of replacing it.
From Bug 1316442 I infer that the storage.sync
API does in fact store data correctly on Android using the Kinto backend, it's just that the data doesn't sync to the user's other devices. Since we don't even build the new Rust backend on Android, changing the above GeckoView config to flip webextensions.storage.sync.kinto
to false would entirely break even local use of the storage.sync
API. I assume would be an unacceptable regression.
So we may need to keep this code in the tree until Bug 1625257 gets resolved. :agi could you please gut-check whether my understanding above seems accurate?
Alternately, it may be possible to build the new Rust backend on Android and use it for local storage only, without building out all the infrastructure to plumb it in to the android-components AccountManager sync infrastructure. I'd be worried about that biting us down the road though, when we do come to make it sync.
Comment 2•4 years ago
|
||
Your understanding is correct. On Android/GeckoView storage.sync
is mostly equivalent to storage.local
and there are extensions published on Fenix that do rely on storage.sync
to work so regressing that is definitely something we want to avoid.
Comment 3•4 years ago
|
||
Cross-linking Bug 1661407, in which I would have liked to remove the encryption keys used by the Kinto storage.sync backend, but wasn't able to because of the above considerations. When someone does come to remove the Kinto storage.sync backend, they should also remove the additional uses of the sync:addon_storage
scope added in that bug.
Comment 4•3 years ago
|
||
When removing the kinto based implementation, kinto-offline-client.js
and kinto-storage-adapter.js
can be removed from m-c since they are not used by Remote Settings since Bug 1620185
Updated•3 years ago
|
Description
•