Description
The EditTaskInTaskwarrior function is currently inefficient and dangerous for concurrent environments. Mostly due to the recent additions to the controller. It executes multiple independent shell commands for a single task update and manually deletes global data directories.
Required Changes
-
Batch Command Execution for better performance
- Action: Instead of calling utils.ExecCommand for every single field, build an argument slice ([]string) and execute one single task modify command.
- Reason: Spawning shell processes is expensive. Taskwarrior can be to handle multiple attribute changes in one go (e.g., task 1 modify project:Home due:tomorrow). This reduces execution time.
-
UUID over Task ID: Use the uuid for the modify command instead of the taskID. Though we use UUID on frontend, we probably need to update this here.
Acceptance Criteria
Description
The EditTaskInTaskwarrior function is currently inefficient and dangerous for concurrent environments. Mostly due to the recent additions to the controller. It executes multiple independent shell commands for a single task update and manually deletes global data directories.
Required Changes
Batch Command Execution for better performance
UUID over Task ID: Use the uuid for the modify command instead of the taskID. Though we use UUID on frontend, we probably need to update this here.
Acceptance Criteria