Variable truncator rejects UpdatedVariable during streaming #19735

Closed
opened 2026-02-21 20:03:23 -05:00 by yindo · 0 comments
Owner

Originally created by @laipz8200 on GitHub (Oct 21, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, 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.

Dify version

Self-hosted source build at commit $(git rev-parse --short HEAD) (2025-10-21)

Cloud or Self Hosted

  • Self Hosted (Source)
  • Cloud
  • Self Hosted (Docker)

Steps to reproduce

  1. Run the console against the current main snapshot with an advanced chat app that includes a Variable Assigner node writing to a conversation variable.
  2. Trigger a workflow run so the Variable Assigner emits updated variables in process_data.
  3. Observe that the streaming response fails once WorkflowResponseConverter truncates the payload.
services.variable_truncator.UnknownTypeError: got unknown type <class 'core.workflow.nodes.variable_assigner.common.helpers.UpdatedVariable'>

✔️ Expected Behavior

Streaming responses should finish successfully when Variable Assigner updates variables; truncation should tolerate the emitted data.

Actual Behavior

Streaming aborts because the truncator cannot serialize UpdatedVariable, so the client never receives a completed response.

Originally created by @laipz8200 on GitHub (Oct 21, 2025). ### 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 bug report, 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. ### Dify version Self-hosted source build at commit $(git rev-parse --short HEAD) (2025-10-21) ### Cloud or Self Hosted - [x] Self Hosted (Source) - [ ] Cloud - [ ] Self Hosted (Docker) ### Steps to reproduce 1. Run the console against the current `main` snapshot with an advanced chat app that includes a Variable Assigner node writing to a conversation variable. 2. Trigger a workflow run so the Variable Assigner emits updated variables in `process_data`. 3. Observe that the streaming response fails once `WorkflowResponseConverter` truncates the payload. ``` services.variable_truncator.UnknownTypeError: got unknown type <class 'core.workflow.nodes.variable_assigner.common.helpers.UpdatedVariable'> ``` ### ✔️ Expected Behavior Streaming responses should finish successfully when Variable Assigner updates variables; truncation should tolerate the emitted data. ### ❌ Actual Behavior Streaming aborts because the truncator cannot serialize `UpdatedVariable`, so the client never receives a completed response.
yindo closed this issue 2026-02-21 20:03:23 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#19735