Skip to content

Commit 8efdcec

Browse files
committed
fix: AI conversation nodes connected after parallel nodes have different contexts when they first arrive at AI conv
ersation nodes in different branches #4778 (#4797)
1 parent 3378b54 commit 8efdcec

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

apps/application/flow/workflow_manage.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -665,15 +665,16 @@ def get_next_node_list(self, current_node, current_node_result):
665665
if next_node.properties.get('condition', "AND") == 'AND':
666666
if self.dependent_node_been_executed(edge.targetNodeId):
667667
up_nodes = self.flow.get_up_nodes(edge.targetNodeId)
668-
up_node_id_list = current_node.up_node_id_list
668+
up_node_id_list = [*current_node.up_node_id_list, current_node.node.id]
669669
if up_nodes and len(up_nodes) > 1:
670670
up_nodes.sort(key=lambda node: node.id)
671671
first = up_nodes[0]
672672
up_node_id_list = [n_c for n_c in self.node_context if n_c.node.id == first.id][
673673
0].up_node_id_list
674+
up_node_id_list = [*up_node_id_list, first.id]
674675
node_list.append(
675676
self.get_node_cls_by_id(edge.targetNodeId,
676-
[*up_node_id_list, current_node.node.id]))
677+
up_node_id_list))
677678
else:
678679
node_list.append(
679680
self.get_node_cls_by_id(edge.targetNodeId,
@@ -686,15 +687,16 @@ def get_next_node_list(self, current_node, current_node_result):
686687
if next_node.properties.get('condition', "AND") == 'AND':
687688
if self.dependent_node_been_executed(edge.targetNodeId):
688689
up_nodes = self.flow.get_up_nodes(edge.targetNodeId)
689-
up_node_id_list = current_node.up_node_id_list
690+
up_node_id_list = [*current_node.up_node_id_list, current_node.node.id]
690691
if up_nodes and len(up_nodes) > 1:
691692
up_nodes.sort(key=lambda node: node.id)
692693
first = up_nodes[0]
693694
up_node_id_list = [n_c for n_c in self.node_context if n_c.node.id == first.id][
694695
0].up_node_id_list
696+
up_node_id_list = [*up_node_id_list, first.id]
695697
node_list.append(
696698
self.get_node_cls_by_id(edge.targetNodeId,
697-
[*up_node_id_list, current_node.node.id]))
699+
up_node_id_list))
698700
else:
699701
node_list.append(
700702
self.get_node_cls_by_id(edge.targetNodeId,

0 commit comments

Comments
 (0)