Screenshot of HN discussion. Question: How does this happen without an interface for conflict resolution? That's the hard part. Answer: Ah, no. Not really. People sometimes think about conflict resolution as a problem that needs to be solved. But it’s not solvable, not really. It’s part of the domain, it’s not going anywhere, it’s irreducible complexity. You _will_ have conflicts (because your app is distributed and there are concurrent writes). They will happen on semantic level, so only you (app developer) _will_ be able to solve them. Database (or any other magical tool) can’t do it for you. Another misconception is that conflict resolution needs to be “solved” perfectly before any progress can be made. That is not true as well. You might have unhandled conflicts in your system and still have a working, useful, successful product. Conflicts might be rare, insignificant, or people (your users) will just correct for/work around them. I am not saying “drop data on the floor”, of course, if you can help it. But try not to overthink it, either.
https://files.mastodon.online/media_attachments/files/114/200/264/778/247/176/original/9cb058b749ef719e.png