inseven / bookmarks

Pinboard client for iOS and macOS
https://bookmarks.jbmorley.co.uk
MIT License
31 stars 5 forks source link

Support offline editing of bookmarks #234

Open jbmorley opened 3 years ago

jbmorley commented 3 years ago

Right now, modifications are made by applying a local change, then immediately pushing that change to Pinboard, and waiting on a full update from the server. This means that operations feel slow, can get interleaved with remote changes, and won't work offline.

It would be great to improve on this architecture in a way that supports offline editing. Right now, the best approach I can think of is to have a queue of local changes that need to be pushed to the server prior to a full update. These changes could potentially be diffs, not full changes (e.g., add these tags, etc) to minimise the risks of collisions (imperfect, but better than nothing). It may also be acceptable to not bother performing full updates following each change, but rely on the correctness of local changes, and then incremental updates (or a manual refresh) to pull remote updates.

jbmorley commented 3 years ago

I'm going to push this into future for the time being since it likely requires quite a bit of thought and isn't required to make the app fully functional for common use-cases.