You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gcgj-dify-1.7.0/api/core
xuzijie1995 b13ae784a4 fix(workflow): Resolve streaming failure on conditional join points
Improves the robustness of the workflow engine's streaming output by fixing two core issues that caused streaming to fail in complex topologies where multiple conditional branches merge.

**1. Corrected Runtime State Management ("Pruning"):**

The primary bug was located in the `_remove_unreachable_nodes` method. Its aggressive recursive "pruning" algorithm incorrectly removed shared downstream nodes (including LLM and Answer) when handling conditional branches that led to a join point. This prematurely emptied the `rest_node_ids` list, causing the stream processor to fail its initial state check.

The fix replaces the recursive logic with a more conservative, non-recursive approach that only prunes the immediate first node of an unreachable branch. This ensures the integrity of the `rest_node_ids` list throughout the workflow execution.

**2. Improved Static Dependency Analysis:**

A secondary, underlying issue was found in the static dependency analysis (`_recursive_fetch_answer_dependencies`). It incorrectly identified all upstream, mutually exclusive `If/Else` nodes as parallel dependencies of the Answer node.

The fix enhances this analysis by adding "join point awareness". The upward trace now stops when it encounters a node with more than one incoming edge, correctly identifying the join point itself as the dependency rather than its upstream branches.

Together, these changes ensure that streaming output remains reliable and predictable, even in complex workflows with reusable, multi-input nodes.
10 months ago
..
agent Support OAuth Integration for Plugin Tools (#22550) 10 months ago
app Fix/replace datetime patterns with naive utc now (#22654) 10 months ago
base refactor: Remove RepositoryFactory (#19176) 1 year ago
callback_handler Refactor/message cycle manage and knowledge retrieval (#20460) 11 months ago
entities feat: Add Citations and Attributions to Agent Node (#18558) 10 months ago
errors fix(core/errors): change base class of custom exceptions to ValueError (#11955) 1 year ago
extension refactor: Improve model status handling and structured output (#20586) 11 months ago
external_data_tool Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 1 year ago
file fix: drop dead code phase2 unused class (#22042) 10 months ago
helper refactor: Fix some type error (#22594) 10 months ago
llm_generator fix: use model provided by user in prompt generator (#22541) (#22542) 10 months ago
mcp chore: code improvement for mcp_client and mcp_tools_manage_service (#22645) 10 months ago
memory feat(api/repo): Allow to config repository implementation (#21458) 10 months ago
model_runtime feat: add support for dark icons in provider and tool entities (#22081) 10 months ago
moderation Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 1 year ago
ops fix: correct tracing for workflows and chatflows for phoenix (#22547) 10 months ago
plugin Support OAuth Integration for Plugin Tools (#22550) 10 months ago
prompt refactor: decouple Node and NodeData (#22581) 10 months ago
rag fix text splitter (#22596) 10 months ago
repositories feat(workflow_cycle_manager): Removes redundant repository methods and adds caching (#22597) 10 months ago
tools chore: code improvement for mcp_client and mcp_tools_manage_service (#22645) 10 months ago
variables minor code fix: remove duplicate type check branch (#22536) 10 months ago
workflow fix(workflow): Resolve streaming failure on conditional join points 10 months ago
__init__.py chore(api/core): apply ruff reformatting (#7624) 2 years ago
hosting_configuration.py chore(provider_manager): Update hosted model's name (#14334) 1 year ago
indexing_runner.py fix: document delete image files check file exist (#21991) 10 months ago
model_manager.py unreachable-code for lb model fetch. (#20797) 11 months ago
provider_manager.py refactor: Improve model status handling and structured output (#20586) 11 months ago