top | item 43539211

(no title)

ochiba | 11 months ago

I would say this is why server-authoritative systems that allow for custom logic in the backend for conflict resolution work well in practice (like Replicache, PowerSync and Zero - custom mutators coming in beta for the latter). Predefined deterministic distributed conflict resolution such as CRDT data structures work well for certain use cases like text editing, but many other use cases require deeper customizability based on various factors like you said.

discuss

order

jahewson|11 months ago

CRDT falls flat for rich text editing though. So many nasty edge cases and nobody has solved them all, despite their claims.

mentalgear|11 months ago

have you tried loro

ezekg|11 months ago

Server-authoritative conflict resolution kind of mirrors my thinking as well, having resolution work like multiplayer net code, where the client and server may or may not attempt to resolve recent conflicts, but server has the final say on state. Just not sure how this plays out when a client starts dropping conflicting data because the server says so...