Skip to content

Support Undo/Redo for Multi-Task Operations #78

@dlau72

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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions