wefork / wekan

The open-source Trello-like kanban (built with Meteor)
https://wekan.io
MIT License
61 stars 12 forks source link

Add feature: Support offline mode #76

Closed martingabelmann closed 7 years ago

martingabelmann commented 7 years ago

From the original wekan issue wekan/wekan#466 :

It would be great to be able to use Wekan while offline with the confidence that modified data will be synced when the client gets back online. There are multiple component involved for this experience to became possible: Keeping the application code into the browser cache. Meteor has some support for appcache but this standard is now deprecated in favor of the new service workers that would allow to do a lot more things. We should build our offline mode using service workers. Mutating the database state on the client. Thanks to Meteor that allow us to build “rich-clients” this is already almost supported. We just need to keep the collections and the methods call into the browser cache so that there are not lost when the user close a Wekan tab while offline. Groundb should be perfect for this job. Reconcile concurrent state mutations. We currently have a “last-write-win” strategy which will become very problematic with offline mode as the delays between the client write and the server reception will increase, which will also increase the number of potential conflicts. Depending on the fields and precise use cases we will want to use OT or CRDT (conflict-free replicated data type). An interesting project to follow on this matter is Swarm. As far as I know Meteor doesn't currently have any good integration with this kind of solution but I suspect that they would benefit a lot of Meteor applications.

xet7 commented 7 years ago

This issue was moved to wekan/wekan#815