使用 javascript,如何永久删除存储在 firefox 配置文件中的存储同步记录
Using javascript, how do I permanently delete a storage sync record stored in a firefox profile
我创建了一个 firefox 网络扩展,用于在存储同步中存储描述搜索引擎的数据。数据实际上存储在名为 storage-sync.sqlite 的文件中。我注意到 browser.storage.sync.remove 实际上将隐藏的 属性 “_status” 从 "created" 更改为 "deleted",但实际上并没有删除记录。
是否可以从我的网络扩展中的 js 脚本中永久删除整个记录?
简而言之:不,状态用于同步目的。
Kinto(sync 使用的存储后端)设置 _status 字段以便同步到当前浏览器的其他浏览器知道 "hey, I should remove this"。我不知道它什么时候真正被删除,但我认为它不会永远存在。
来自Kinto的关于密码的注释,似乎证实了_status的存储功能-sync.sqlite:
We detect kB changing by storing the current kB (as a hash) in the
keyring record itself. We "update" this keyring record with the
current kB hash on every call to sync(). kinto.js tries to track the
status of the keyring in a field called _status -- it should be
"synced" when it is the same as the version that we expect on the
server, and it should be "updated" if we've changed it and haven't
pushed it to the server. So after possibly updating the kB hash (or
just replacing it with what it already is), we check if the keyring is
"updated" and if so, try to upload it to the server. Because
encryption happens "just-in-time", this causes the keyring to be
reuploaded but encrypted by the new kB.
https://wiki.mozilla.org/CloudServices/Sync/ExtensionStorage_Design_Doc#Password_changes
我创建了一个 firefox 网络扩展,用于在存储同步中存储描述搜索引擎的数据。数据实际上存储在名为 storage-sync.sqlite 的文件中。我注意到 browser.storage.sync.remove 实际上将隐藏的 属性 “_status” 从 "created" 更改为 "deleted",但实际上并没有删除记录。
是否可以从我的网络扩展中的 js 脚本中永久删除整个记录?
简而言之:不,状态用于同步目的。
Kinto(sync 使用的存储后端)设置 _status 字段以便同步到当前浏览器的其他浏览器知道 "hey, I should remove this"。我不知道它什么时候真正被删除,但我认为它不会永远存在。
来自Kinto的关于密码的注释,似乎证实了_status的存储功能-sync.sqlite:
We detect kB changing by storing the current kB (as a hash) in the keyring record itself. We "update" this keyring record with the current kB hash on every call to sync(). kinto.js tries to track the status of the keyring in a field called _status -- it should be "synced" when it is the same as the version that we expect on the server, and it should be "updated" if we've changed it and haven't pushed it to the server. So after possibly updating the kB hash (or just replacing it with what it already is), we check if the keyring is "updated" and if so, try to upload it to the server. Because encryption happens "just-in-time", this causes the keyring to be reuploaded but encrypted by the new kB.
https://wiki.mozilla.org/CloudServices/Sync/ExtensionStorage_Design_Doc#Password_changes