There are multiple problems with Taskrs' underlying model:
[ ] When generating a UID for a new task, Taskrs doesn't verify at all whether the UID is free. It could do so by retrieving a file listing beforehand, but this still gives you data races, because remoteStorage.js doesn't provide an atomic way to write to a file and at the same time ensure the file doesn't exist yet. https://github.com/remotestorage/remotestorage.js/issues/887
[ ] Likewise, UUIDs for new task lists aren't verified, though the results are far less dramatic.
[x] When a user starts editing a task, and a task change is synchronized from remote to local storage, the user isn't notified of that change and may loose data by submitting that edit. 78ce8bb
[ ] Default conflict resolution is "server wins", per-task. #15
There are multiple problems with Taskrs' underlying model: