penguin86 / nextcloud-maps-client

Manage Nextcloud Maps Geobookmarks on your Android phone
GNU General Public License v3.0
37 stars 3 forks source link

Offline Support #4

Open Ablu opened 3 years ago

Ablu commented 3 years ago

Hi,

The app looks awesome already! I like the design a lot! One thing that I find lacking is offline support though. It would be cool if the items available from the server could be cached on the sevice, as well as, new entries created while out of cell coverage could be synced as soon cell coverage returns.

penguin86 commented 3 years ago

Hello Ablu, caching is useful, but not trivial to implement: I should design it with a grain of salt so concurrent modifications are handled well, without losing data (duplication, merging?). ATM I'm pretty busy, probably I'm gonna work this ticket around the end of Novembrer. Have a nice day

Ablu commented 3 years ago

caching is useful, but not trivial to implement: I should design it with a grain of salt so concurrent modifications are handled well, without losing data (duplication, merging?).

Sure. It quickly becomes very tricky. It looked like there were server timestamps of the last modification available? My first idea would be to compare those during the sync. If the timestamp was changed (so there were changes on the server while the app worked offline), one could either just discard the data or, maybe better, to move it to some new "Conflict copy". I would assume that this would give one 80% of the features for 20% of the time (implementing a conflict resolution UI sounds like a lot more work to me...).

Maybe a starting point would be to simply only allow adding new locations and allow viewing of the existing ones without modification. That probably is quite useful by itself without coming with too many corner-cases to implement?

ATM I'm pretty busy, probably I'm gonna work this ticket around the end of Novembrer.

No worries! I know how open-source stuff works. So I am not expecting you to give me a timeline for the ticket (or any kind of confirmation that you will do it at all) which you are working on during your freetime :). Maybe if I get bored I can try to look into it too.

penguin86 commented 2 years ago

Hello Ablu, I'm sorry I couldn't work on this feature for this release. It will be implemented in one of the following. Thank you for your patience. Have a nice day

Ablu commented 2 years ago

No worries :). No need to give me any estimations ;)