|
@@ -427,7 +427,8 @@ Result<ExecutionResult> WorkflowEngine::execute(const Workflow& workflow,
|
|
|
// after it can run.
|
|
// after it can run.
|
|
|
if (node->disabled) {
|
|
if (node->disabled) {
|
|
|
auto disabled_def = registry_.getNode(node->type);
|
|
auto disabled_def = registry_.getNode(node->type);
|
|
|
- const bool decides_branch = disabled_def && disabled_def->outputs.size() > 1;
|
|
|
|
|
|
|
+ const bool decides_branch = disabled_def &&
|
|
|
|
|
+ (disabled_def->outputs.size() > 1 || !disabled_def->dynamic_outputs.is_null());
|
|
|
|
|
|
|
|
NodeExecutionResult disabled_result;
|
|
NodeExecutionResult disabled_result;
|
|
|
disabled_result.node_id = node_id;
|
|
disabled_result.node_id = node_id;
|
|
@@ -1515,7 +1516,8 @@ bool WorkflowEngine::executeLoopBody(
|
|
|
disabled_result.status = NodeStatus::Disabled;
|
|
disabled_result.status = NodeStatus::Disabled;
|
|
|
disabled_result.input = nlohmann::json::object();
|
|
disabled_result.input = nlohmann::json::object();
|
|
|
disabled_result.output = nlohmann::json::object();
|
|
disabled_result.output = nlohmann::json::object();
|
|
|
- if (disabled_def && disabled_def->outputs.size() > 1) {
|
|
|
|
|
|
|
+ if (disabled_def && (disabled_def->outputs.size() > 1 ||
|
|
|
|
|
+ !disabled_def->dynamic_outputs.is_null())) {
|
|
|
disabled_result.output["_activeBranch"] = "";
|
|
disabled_result.output["_activeBranch"] = "";
|
|
|
}
|
|
}
|
|
|
disabled_result.started_at = TimeUtils::nowMs();
|
|
disabled_result.started_at = TimeUtils::nowMs();
|