+
+ {t("task:dependsOn")}
+
+
+
+
+
+ {t("task:dependencyInfo")}
+
+
+
+ {dependencyField}
+ {Boolean(candidateError) && !loadError && (
+
+
+ {t("task:failedToLoadDependencyCandidates")}
+
+
+
+ )}
+ {Boolean(saveError) && (
+
+ {dependencySaveError(saveError, t)}
+
+ )}
+
+ );
+}
diff --git a/apps/web/e2e/helpers/api-client.ts b/apps/web/e2e/helpers/api-client.ts
index 1c13386aef..367bfe56d6 100644
--- a/apps/web/e2e/helpers/api-client.ts
+++ b/apps/web/e2e/helpers/api-client.ts
@@ -2342,6 +2342,23 @@ export class ApiClient {
});
}
+ /** Replace the complete predecessor set, including an empty set. */
+ async replaceTaskDependencies(
+ taskId: string,
+ dependsOnTaskIds: string[],
+ ): Promise