Fixed lots of sync bugs

- All string values are now trimmed going into the DB (with a migration step for existing values) -- this fixes erroneous conflicts due to leading/trailing whitespace in sync XML being ignored
- Case disambiguation fixed on server
- Added basic diff ability to collections and tags so that identical objects won't trigger conflicts
- Fixed various other bugs that could cause erroneous conflicts
- Moved string fields in serialize() objects into a 'fields' object for consistency with Zotero.Item

Upshot of most of the above is that identical pre-upgrade libraries should now merge cleanly

Also reorganized/simplified/modularized parts of the sync code
This commit is contained in:
Dan Stillman 2008-10-24 11:10:05 +00:00
parent 3fdb212dd6
commit 108fd304ab
12 changed files with 608 additions and 336 deletions

View file

@ -1,4 +1,4 @@
-- 44
-- 45
-- This file creates tables containing user-specific data -- any changes made
-- here must be mirrored in transition steps in schema.js::_migrateSchema()