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

Effortless synchronization #46

Open
A5308Y opened this issue Sep 24, 2018 · 4 comments
Open

Effortless synchronization #46

A5308Y opened this issue Sep 24, 2018 · 4 comments

Comments

@A5308Y
Copy link
Owner

A5308Y commented Sep 24, 2018

Possible Solutions

CRDTs

Seems to be the "correct" solution. Is this memory intensive?
Possible Implementations:

Everything manually

When to save to localStorage?

  • Save on every interaction?
  • on every save button click?

When to save to server?

  • On "synchronization"-click?
  • Every x minutes?

Scenario:

Client 1 checks off an action offline
Client 2 renames the same action offline
Client 1 goes online and saves its action
What happens?

@A5308Y
Copy link
Owner Author

A5308Y commented Nov 6, 2018

Implemented a working version that's fast enough and does not exceed maximum stack size. Needs some work before I feel comfortable including it in Methodoly though.

@julianpistorius
Copy link

Implemented a working version that's fast enough and does not exceed maximum stack size. Needs some work before I feel comfortable including it in Methodoly though.

Hi @A5308Y. This sounds intriguing. I've been investigating using CRDTs in Elm for syncing. Are you open to sharing your initial working implementation on GitHub?

@A5308Y
Copy link
Owner Author

A5308Y commented Jan 19, 2019

Sure. I put it up at https://github.com/A5308Y/elm-crdt there are still edge cases that need to be addressed. I'd be happy to have a short call about this if you're up for it.

@julianpistorius
Copy link

Great! Thank you for the offer - I think I'll take you up on that.

I'll try it out first and get back to you with questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants