Support `readonly` notes
Is your feature request related to a problem? Please describe. For example when you share a note (via file sharing, as the direct share functionality isn't implemented yet #231) with restricted permissions. If the read-only user tries to open and edit it within the Android app, it will stay stuck on "Synchronization failed", he then won't ever be able to re-sync it again. Even the "Cancel" option doesn't work, it looks like it's still trying to push something (shouldn't this action affect only the local storage?).
Describe the solution you'd like As with the web view, prevent Edit view on notes without write permission
Describe alternatives you've considered It would be also be very beneficial imo to fix the "Cancel" action, I believe this should act like a "git checkout" and simply retrieve the server's file version?
Absolutely, I agree. For users stumbling over this issue: The currently only known workaround is to remove and readd the account from the Notes Android app (after backing up unsynchronized changes).
ToDo
- [ ] Add a flag
readonlyto the notes entity - [ ] Check property when fetching notes (it is already sent by the API, we are just ignoring it) and update it in the database
- [ ] Check
HTTP 403responses when pushing local changes to remote and setreadonlytotruefor the given note. Maybe we should duplicate the note to prevent loosing the changed data(?) - [ ] Add some hints on the UI, if a note is marked as
readonly