fix(task-system): sync blocks when adding blockedBy dependencies

This commit is contained in:
fumanhua
2026-03-15 16:00:43 +08:00
parent e57ced7d07
commit 66a8429f97

View File

@@ -87,6 +87,15 @@ class TaskManager:
self._clear_dependency(task_id) self._clear_dependency(task_id)
if add_blocked_by: if add_blocked_by:
task["blockedBy"] = list(set(task["blockedBy"] + add_blocked_by)) task["blockedBy"] = list(set(task["blockedBy"] + add_blocked_by))
# Bidirectional: also update the blocker tasks' blocks lists
for blocker_id in add_blocked_by:
try:
blocker = self._load(blocker_id)
if task_id not in blocker["blocks"]:
blocker["blocks"].append(task_id)
self._save(blocker)
except ValueError:
pass
if add_blocks: if add_blocks:
task["blocks"] = list(set(task["blocks"] + add_blocks)) task["blocks"] = list(set(task["blocks"] + add_blocks))
# Bidirectional: also update the blocked tasks' blockedBy lists # Bidirectional: also update the blocked tasks' blockedBy lists