[Chore/Refactor] Simplify LoopNode variable handling logic #16464

Closed
opened 2026-02-21 19:26:12 -05:00 by yindo · 1 comment
Owner

Originally created by @laipz8200 on GitHub (Aug 26, 2025).

Originally assigned to: @laipz8200 on GitHub.

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for refactoring, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Description

The current implementation in api/core/workflow/nodes/loop/loop_node.py has redundant code for handling ARRAY_BOOLEAN segment types. The variable assignment logic can be simplified by removing the special case for ARRAY_BOOLEAN and using a unified approach for all remaining types.

Motivation

This refactor improves code maintainability by removing unnecessary conditional logic. The ARRAY_BOOLEAN case was doing the same operation as the default case (value = original_value), making the special handling redundant. By consolidating these cases, we reduce code complexity and make the logic clearer.

Additional Context

The refactored code removes the special case for ARRAY_BOOLEAN and replaces the unreachable assertion with a simple else clause that handles all remaining segment types uniformly.

Originally created by @laipz8200 on GitHub (Aug 26, 2025). Originally assigned to: @laipz8200 on GitHub. ## Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for refactoring, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ## Description The current implementation in `api/core/workflow/nodes/loop/loop_node.py` has redundant code for handling `ARRAY_BOOLEAN` segment types. The variable assignment logic can be simplified by removing the special case for `ARRAY_BOOLEAN` and using a unified approach for all remaining types. ## Motivation This refactor improves code maintainability by removing unnecessary conditional logic. The `ARRAY_BOOLEAN` case was doing the same operation as the default case (`value = original_value`), making the special handling redundant. By consolidating these cases, we reduce code complexity and make the logic clearer. ## Additional Context The refactored code removes the special case for `ARRAY_BOOLEAN` and replaces the unreachable assertion with a simple else clause that handles all remaining segment types uniformly.
yindo closed this issue 2026-02-21 19:26:12 -05:00
Author
Owner

@laipz8200 commented on GitHub (Aug 26, 2025):

Closing this refactor issue as this is actually a bug fix. Creating a proper bug report instead.

@laipz8200 commented on GitHub (Aug 26, 2025): Closing this refactor issue as this is actually a bug fix. Creating a proper bug report instead.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16464