Prevent accidental marking of recurring items
Currently, when an item is set to recur, the user can mark any future instance of the item as done - the item is then scheduled again into the next slot according to the recurrence pattern.
It could happen, though, that a user does this "accidentally" and hence unintentionally re-schedules an item too far into the future.
To prevent this, the following shall be implemented:
- If the time difference between the current date and the date the item is to be done is less than the number of days the item would be re-scheduled into the future, proceed as usual (i.e. in this case the item instance is really the next one to work on).
- However, if the time difference is larger, then first ask the user if they really mean to mark this (future) instance of the item as done. Only on a positive response, mark the next occurrence of the item as done.
As requested in this GitHub issue.