Skip to content

Started drafting really basic sync#50

Draft
ErikBjare wants to merge 7 commits intomasterfrom
dev/sync
Draft

Started drafting really basic sync#50
ErikBjare wants to merge 7 commits intomasterfrom
dev/sync

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