From 6b2c69ebf486e2f4c8c51023f17e40d182e83230 Mon Sep 17 00:00:00 2001 From: mengyonghao <1533512157@qq.com> Date: Mon, 22 Dec 2025 20:23:20 +0800 Subject: [PATCH] fix(workflow): fix incorrect list append/pop logic in assigner node --- api/app/core/workflow/nodes/operators.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/api/app/core/workflow/nodes/operators.py b/api/app/core/workflow/nodes/operators.py index 9563c335..5a1dba1f 100644 --- a/api/app/core/workflow/nodes/operators.py +++ b/api/app/core/workflow/nodes/operators.py @@ -100,7 +100,8 @@ class ArrayOperator(OperatorBase): self.check() # TODO:require type limit in list origin = self.pool.get(self.left_selector) - self.pool.set(self.left_selector, origin.append(self.right)) + origin.append(self.right) + self.pool.set(self.left_selector, origin) def extend(self) -> None: self.check(no_right=True) @@ -110,12 +111,14 @@ class ArrayOperator(OperatorBase): def remove_last(self) -> None: self.check(no_right=True) origin = self.pool.get(self.left_selector) - self.pool.set(self.left_selector, origin.pop()) + origin.pop() + self.pool.set(self.left_selector, origin) def remove_first(self) -> None: self.check(no_right=True) origin = self.pool.get(self.left_selector) - self.pool.set(self.left_selector, origin.pop(0)) + origin.pop(0) + self.pool.set(self.left_selector, origin) class ObjectOperator(OperatorBase):