Description
Problem
Undo action often doesn't revert to the original state. Sometimes it works, but other times it seems to skip an action in the history. For example, when adding a label to an arrow. If you add multiple objects to a section, undo steps back one object at a time.
Solution
To undo something the user has done, press Ctrl + Z (Windows) or Cmd + Z (Mac) until reaching the desired state. To redo an action, press Ctrl + Shift + Z (Windows) or Cmd + Shift + Z (Mac).
Note: the user can only undo or redo their own actions, not those made by other users.
Update the undo action behavior for different cases:
Text
The actions for border style, fill style, font style, size, font type, positioning, link and color must be reversible via undo.
The actions resize, duplicate, rotate, and remove from board must be reversible via undo/redo.
Shapes
The action changing shape must be reversible via undo
The actions for font style, size, font type, positioning, link and color must be reversible via undo.
The actions resize, duplicate, rotate, lock and remove from board must be reversible via undo/redo.
Stickers
The action Hide/show Author must be reversible via undo
The actions for font style, size, font type, positioning, link and color must be reversible via undo.
The actions resize, duplicate, rotate, lock and remove from board must be reversible via undo/redo.
Connectors
The actions for change line shape, change arrowhead, line style, add text and positioning must be reversible via undo.
Sections
The action changing size (1:1, A4 etc) , border style, fill style must be reversible via undo
Rename , Hide , Lock/Unlock section must be reversible via undo/redo
The actions resize, positioning, duplicate, and remove from board must be reversible via undo/redo.
Images
Upload: when multiple files are uploaded, the undo action should revert all of them at once, not one by one
The actions resize, duplicate, rotate, and remove from board must be reversible via undo/redo.
Pencil
Adding Entity or Multi-entities
When adding entity cards one after another Insert a card, the undo option should remove the cards in reverse order.
When multiple Multi-entity insert cards are added to the whiteboard the undo action should remove the stack of cards step by step. For example: if the user adds 10 features and then 10 stories, undo should first remove the 10 stories, then the 10 features.
The same logic applies to nested collections: if the user enables a nested stories collection for a feature, and then a nested tasks collection for a story, undo should first remove the task collection, then the story collection.
Relations
Convert to Entity
Duplicate
Group objects
Align objects
Sending an item backward or forward, Bringing items to the back or front
Undoing a bring to front, send to back, bring forward, or send backward action restores the affected item's previous z-order index within its layer
Remove from board
If the user removed from board any element (text, shape, card etc.) or or several elements at once from the board, the undo action should bring it back
Clean Board
Additional things:
? Do we need undo/redo buttons in the toolbar panel? Alex Tsayun