executeDeleteCompleted and executeDeleteCompletedSubtasks iterated over the reactive completedTasks/completedSubtasks lists with no error handling: the array shrinks with every successful delete, skipping subsequent entries, and a failed delete silently left a half-deleted state. Snapshot the target list up front and abort as soon as a delete returns false — matching the subtask-cascade path. |
||
|---|---|---|
| .. | ||
| tauri | ||