fix(workflow): fix answer node stream processing in conditional branches#12510
fix(workflow): fix answer node stream processing in conditional branches#12510crazywoola merged 1 commit intolanggenius:mainfrom
Conversation
882bcbc to
e74d523
Compare
|
Please open an issue or link an existing issue first. |
6dfc1cc to
070b232
Compare
Issue linked |
|
Nice job, but these kind of workflow has many special case, you can follow the issue link to test them if this patch work well |
Many thanks, will test all related issues |
d654631 to
c50f434
Compare
* commit '6e0fb055d18969eb923e719ad92ecac3a5c5d534': (42 commits) chore: bump version to 0.15.1 (langgenius#12690) feat: add table of contents to Knowledge API doc (langgenius#12688) [fix] support feature restore (langgenius#12563) api tool support multiple env url (langgenius#12249) Add new integration with Opik Tracking tool (langgenius#11501) fix: add type hints for App model and improve error handling in audio services (langgenius#12677) fix: Update variable handling in VariableAssignerNode and clean up app_dsl_service (langgenius#12672) Revert "Feat/new saas billing" (langgenius#12673) fix(workflow): fix answer node stream processing in conditional branches (langgenius#12510) fix: ruff with statements (langgenius#12578) fix: ruff check for True if ... else (langgenius#12576) chore: Adjust translations to align with Taiwanese Mandarin conventions (langgenius#12633) Fix pandas indexing method for knowledge base imports (langgenius#12637) (langgenius#12638) Feat/new saas billing (langgenius#12591) improve the readability of the function generate_api_key (langgenius#12552) chore: translate i18n files (langgenius#12543) Feat/add knowledge include all filter (langgenius#12537) fix: Add datasets list access control and fix datasets config display issue (langgenius#12533) fix: sum costs return error value on overview page (langgenius#12534) feat: show workflow running status (langgenius#12531) ... # Conflicts: # api/poetry.lock
|
This approach resolves most of the issues, but it introduces a small problem: when conditional branches are nested, it causes the streaming output after the branches to fail. I’ve attempted to fix this issue, but could you kindly review if this fix might cause the previous bug to reappear? |
Thank you so much. I will proceed to test all the previously related issues. |
|
nice work! |

Summary
Previously, the _fetch_node_ids_in_reachable_branch method would collect all downstream
answer nodes regardless of branch conditions, causing incorrect stream processing.
This change ensures that only nodes in the current conditional branch are collected
by tracking and matching branch identifiers.
Tip
Close issue syntax:
Fixes #<issue number>orResolves #<issue number>, see documentation for more details.Fixes #11542

Fixes #9560

Fixes #10638

Fixes #10564

Also fixes #11985 (streaming output)
Screenshots
Checklist
Important
Please review the checklist below before submitting your pull request.
dev/reformat(backend) andcd web && npx lint-staged(frontend) to appease the lint gods