Hacker News new | ask | show | jobs
by jpgvm 1659 days ago
It did not at all. It solved the problem of how to reflect a source of truth (the server) in somewhat real-time on the client through subscriptions. Also made some attempt to have edits that were persisted to client-side mini-mongo pushed to the server but this was best effort at most.

CRDTs are on a completely different level. They provide deterministic conflict resolution strategies through either/or causal and physical timestamps to ensure it's always safe to persist a write locally and later sync it with the server or not even have a server and sync directly which other peers.

1 comments

I understand the difference.

However, the local mini-mongo is acting a local-state and the JSON/JS all the way is solving the marshalling/ORM issue. I understand it is a centralized way of dealing with this, however, it was operating on the same problem space. Furthermore, automerge can be used as the server, which bring it closer to what Meteor did. I was hinting at the overlap in the problem space, but I should have phrased it better. Anyway, I'm keep to try automerge.

You can't just use automerge on the server, it must be used on the client and additionally on the server (or a more cut down version that just replicates deltas between peers).

If you are going to try out automerge you should also take a look at y.js and diamond-types.

Yes, I get that part. I'll take a look at y.js and diamond-types, thank you!