Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CRDT example #68

Open
fivestones opened this issue Mar 19, 2023 · 3 comments
Open

Add CRDT example #68

fivestones opened this issue Mar 19, 2023 · 3 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@fivestones
Copy link

I'm just wondering how this works when there are conflicts. E.g., If I am running the same app on two different devices, and my internet goes down on one of them, and then I make some changes (say I change an item to a to-do list on one device, and delete the same item on the other device), what determines which thing happens once the devices come back online and sync their state? Is there some sort of CRDT running on sockets? How do they end up in the guaranteed same state as each other?
Your web-site says this is for developing local-first apps, and links to Ink & Switch's paper on the topic, so I figured something must be done in sockets to make this work, but I don't see any mention of how it might work on the website or in the docs.

What OS are you using (uname -a, or Windows version)?

MacOS, iOS

What programming language are you using (C/C++/Go/Rust)?

Javascript...?

What did you expect to see and what you saw instead?

n/a

@chicoxyzzy
Copy link
Member

chicoxyzzy commented Mar 23, 2023

CRDT is not a part of Socket Runtime at the moment. We are planning to add an example application which uses yjs or automerge for conflict resolution.

@fivestones
Copy link
Author

Oh, that sounds fantastic! It seems like both those CRDT implementations have a lot going for them, and having an example of using them in a project like sucketsupply would be great.

@chicoxyzzy chicoxyzzy transferred this issue from socketsupply/socket May 7, 2023
@chicoxyzzy chicoxyzzy changed the title How are conflicts sorted out? Add CRDT example May 7, 2023
@chicoxyzzy
Copy link
Member

Issue transferred to the examples repo

@lamiazar lamiazar assigned chicoxyzzy and unassigned chicoxyzzy Aug 23, 2023
@lamiazar lamiazar added help wanted Extra attention is needed good first issue Good for newcomers labels Aug 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants