Sent from Mobile. On Jul 26, 2013, at 17:16, Richard Newman <[email protected]> wrote:
>> stupid. Instead, if we define the key (_id) to be "httpRealm" and >> "formSubmitURL|usernameField|passwordField" for the two password types, > > Hashed, of course. > >> we get conflict resolution for free by couchdb. It will make sure we >> only have one password for each and unilateral password changes will be >> dealt with by couchdb as part of branch reconciliation. > > I think you mean "conflict detection", not "conflict resolution" -- the > conflict resolution (computing a new record when there has been a collision) > will necessarily be client-side, because firstly the body of the record is > encrypted, and secondly the various fields of the body need to be resolved in > a domain-specific way (e.g., combining timesUsed, choosing the maximum of > timeLastUsed, the minimum of timeCreated, etc.) Good conflict resolution is global. It allows the server to resolve instead of the clients doing an eventual consistency dance. Latest server write is perfectly fine here. No need to over rotate on edge cases that don't matter in practice. Andreas _______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

