Skip to content

Support Undo/Redo for Multi-Task Operations #78

Description

@dlau72

Currently, the undo/redo system only tracks single-task operations (e.g., add, edit, done, rm). However, some commands affect multiple tasks at once and are not yet covered by undo/redo. This creates inconsistencies and can lead to accidental data loss when performing bulk updates.

Examples of multi-task operations:

  • done-all: marking several tasks complete in one command
  • clear --completed: removing all completed tasks
  • clear --active: removing all active tasks

Expected Behavior

  • Any bulk operation should be recorded in history with the before/after states of all affected tasks.
  • undo should restore tasks to their previous state (e.g., reactivate tasks after a done-all, restore removed tasks after a clear).
  • redo should reapply the bulk change consistently.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions