Engineer on sync here.
We’ve considered it, I think one of the other engineers even had a rough demo at one point. One big issue is that it’s very hard (almost impossible) to do sync without either:
- integrating into the storage layer of the browser
- corrupting user data
This isn’t a great situation to be in. That said, there are valid use cases, and maybe the edge cases don’t really matter in practice, e.g. maybe we can accept the corruption and handle it on a case-by-case basis (or maybe we could bite the bullet and do it via dropbox-style rescanning).
Anyway, someone very smart, dedicated, and motivated could probably port some of the code from https://github.com/mozilla/application-services/tree/master/components/sync15 (I suspect merely compiling it to wasm wouldn’t work, although we’d almost certainly accept patches to change that). Then, https://github.com/mozilla/dogear probably could be compiled to wasm to work in this manner, and could handle e.g. bookmark merging.
This is not trivial by any means, but it’s certainly possible. If you aren’t intimidated, feel free to give this a shot and reach out in chat.mozilla.org if you have questions.