-
-
Notifications
You must be signed in to change notification settings - Fork 59
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
base: master
Are you sure you want to change the base?
Conversation
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. |
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? |
@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. |
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 |
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.