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

Started drafting really basic sync #50

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from
Draft

Started drafting really basic sync #50

wants to merge 7 commits into from

Conversation

ErikBjare
Copy link
Member

@ErikBjare ErikBjare commented Aug 20, 2018

This will be slow, it will be computationally expensive, it won't allow two-way sync of buckets (the host that created the bucket will always be authoritative), but it'll work.

@ghost ghost assigned ErikBjare Aug 20, 2018
@ghost ghost added the review label Aug 20, 2018
@jantman
Copy link

jantman commented Jan 17, 2019

I'd be really interested in seeing this (by the way, I absolutely love this project! thank you so much!).

I'd been thinking of implementing some API-based sync on my own... i.e. a script that connects to the API on 2 different hosts and copies all events that don't exist from host A to host B a bucket at a time. But if there's going to be some sort of official upstream support for syncing, I'd rather use that.

@johan-bjareholt
Copy link
Member

IMO this would be best as a seperate module running in parallel with aw-server and the aw-watchers. It doesn't look to actually require to be inside aw-server?

@ErikBjare
Copy link
Member Author

@johan-bjareholt Indeed, I'm planning on rewriting it in Rust when I'm done prototyping.

Since the synced SQLite databases need to be consistent, and the SQLite datastores in Python and Rust aren't compatible (and shouldn't need to be), the Rust implementation will become the canonical one.

@johan-bjareholt johan-bjareholt marked this pull request as draft April 28, 2020 20:00
@ErikBjare
Copy link
Member Author

Just thought I'd mention: I've since implemented it in Rust, and it works, but has a few bugs left. See https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync

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

Successfully merging this pull request may close these issues.

3 participants