Open Quasant opened 1 week ago
With this proposed implementation, consider the following scenario
adds n/John ...
adds n/Jane ...
undo
undo
If the user wanted to undo adds n/John ...
, they would not be able to do so, since undo
→ undo
with this implementation would re-add Jane
, rather than deleting John
.
Hence we decided not to implement this variation of undo
, as it would ultimately defeat the purpose of undoing multiple steps as the user would be stuck with either undoing the latest change or redoing it.
Our implementation of undo
should have been stated more clearly in our User Guide, especially for users who may not understand how undo
functions in other applications.
Team chose [severity.Low
]
Originally [severity.Medium
]
Reason for disagreement: [replace this with your explanation]
Steps to reproduce on startup:
According to UG SS above, it should undo the previous command (except for the 2 planned commands). So after undo, I should be able to undo the result of the undo as well.
Why is this an issue? Suppose that a user made a mistake and performs the undo functionality, and then realises that the mistake was not a mistake or that the mistake was a few commands back. If the user then performs the undo command again in an attempt to rectify the wrong undo, it might undo a valid command.