3 ms·
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,
by ochiba 2y 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.
- jahewson 2y agoCRDT falls flat for rich text editing though. So many nasty edge cases and nobody has solved them all, despite their claims.
- mentalgear 2y agohave you tried loro
- mmerlin 2y agohttps://loro.dev/ https://loro.dev/
- ezekg 2y agoServer-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...
- ochiba 2y agoYes, exactly. https://www.gabrielgambetta.com/client-side-prediction-server-reconciliation.html https://www.gabrielgambetta.com/client-side-prediction-serve...