Undo/Redo behavior has been changed such that undoing/redoing now applies many actions at once, where as prior it used to only undo one change at a time. This just started happening on 7/7/23
Expected behavior
Undo/Redo should only apply one change at a time rather than many, or add an option for it
The behavior it had prior to an update that got pushed out a few days ago. It seems to be placing many edits that are “similar” or “within a period of time” into the same edit, so when you undo/redo - it performs many more actions than intended. Refer to the default behavior in a JetBrains IDE, VS Code, or Notepad++.
We do merge similar edits into one undo step, such as when a user types single characters continuously. ScriptEditors will merge these edits into a single undo step. However, this behavior has been in place for a long time. Do you have any recent examples where we have started merging edits into one undo step that we didn’t do before? This information can help us better understand the issue.
I’m aware that VSCode splits user typing into multiple steps if there are special characters, like space or =. However, ScriptEditor indeed has different behavior in this case.
Again, thanks for helping us to improve scripting experience!
The main issue I have is that when you make an edit that might be 15 lines away from where the previous edit was made, pressing undo should not undo both of those changes. It has the potential to cause a lot of bugs unknowingly.
Here is a video showing this behavior:
These two lines share nothing in common. This is an innocent case, but I have had numerous occasions where it actually changes import code unrelated to the recent change. It also interrupts workflow.
Apologies for the delayed response. The issue should be resolved today. Restart the Studio and verify if the problem persists. Thank you for bringing this to our attention!
Hi, we reverted the fix because we found there is another issue happened with this fix. Will give another update once we release fix again. Sorry for the inconvenience.