I'm using add-on (MarkA link) to annotate links. It works pretty fine, except that "from time to time" all marks dissappeares (without any clear message or anything).
The… (read more)
I'm using add-on (MarkA link) to annotate links. It works pretty fine, except that "from time to time" all marks dissappeares (without any clear message or anything).
The data is kept in `storage-sync-v2.sqlite` database in a form of chunks (each chunk has length of 1084 bytes) as single "big" JSON. Application data is a JSON as well (here an object where link is a key with additional data for the link). All characters in "internal" JSON, which are not allowed as "external" (the one with "na" objects) are escaped with '\'.
I observed, that storage_sync_data::data might be incorrectly split, what causes the escape character escapes "external" JSON (I mean it joins two `na` chunks , which after that cannot be parsed (and whole data is removed), e.g.:
```
{\"grp\":\"bibl\",\"type\":\"Mark\","na_9":"",\"mark\":\"\"},
```
where "external" JSON is broken on `Mark` (as " from "internal" document is split into two entries, and closing " is escaped with a '\' from a `Mark` tag.
Things goes even worse, if the properties allow to contain some "special" characters escaped with '\' (e.g. new line, quotation mark, backslash, etc).