Xmarks 4.0.0 Introduces Repair Feature for Firefox
You have asked, and we listened! Xmarks users that have encountered sync problems have heard from us that performing a backup and then a manual download is the quickest way to get back in sync.
Unfortunately, any bookmarks removed by the manual download must be added back one-by-one, a painstaking process. Thus, with Xmarks 4.0 we have added a new, non-destructive feature to fix the local bookmark database, called Repair.
The underlying assumption of the Xmarks Sync algorithm is that bookmarks never change unless Xmarks knows about it. This enables the browsers and Xmarks servers to exchange small updates to modify the bookmarks rather than sending the entire sets of bookmarks.
However, for a variety of reasons, updates can get lost, bookmarks might be changed outside of the plugin's purview, and local databases may become corrupted. Repair makes no assumption that the server and client are in sync; instead, it checks the entire bookmark database each time.
How does Repair work?
Repair first takes a snapshot of the local bookmarks, sets the bookmarks to match the server copy, and then adds back any local bookmarks that aren't on the server. The re-added bookmarks are sent to the server on the next sync.
Repair also tries to fix common problems with the Firefox Places database. If you ever encounter the dreaded Xmarks error that your bookmark database is corrupt, you can now try running Repair before resorting to recreating your database.
And, it's fast. The repair algorithm is based on the concept of Merkle trees, which means the repair time is linear in the number of bookmarks, and only the bookmarks that differ from the server need to be downloaded.
To run Repair, simply click on the Advanced tab of Xmarks settings, and then click the Repair button next to the legend "Repair local nodeset." If there are unsaved local changes, the icon will change to indicate pending changes. Running "Synchronize Now" will then upload these bookmarks.
We will continue to improve this feature in future releases as we find more solutions that can be automated.
We hope you never have to use it, but if you get persistent sync errors, it's nice to know that Repair is there.