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