
Workflow: persistent “Draft save failed” toast when opening a workflow with collaboration enabled
快速结论:启用协作编辑后打开工作流时,因 canPersistLocalGraph() 返回 false 触发了错误提示。优先升级到 Dify main 分支最新提交(包含 PR #39353 的修复)。
问题场景
在 Dify 中启用工作流协作功能(Workflow Collaboration)后,打开任意工作流编辑器时,页面会立即弹出一个红色提示条 “Draft save failed”,且该提示条不会自动消失。网络请求面板中无失败的保存请求,甚至没有任何保存请求被发出。
报错原文
Draft save failed
(对应代码中:common.draftSaveFailed)
原因分析
此问题由两个在 2026-07-20 合并的变更交互引发:
- PR #38997 在
use-nodes-sync-draft.ts中增加了一个 guard,当canPersistLocalGraph()返回 false 时,直接调用callback?.onError?.(),不再发起保存请求。 - PR #39293 将
onError回调绑定到一个timeout: 0的 Toast 上,导致该提示不会自动消失。
关键时序:collaboration-manager.ts:661 会在每次连接时将 crdtTrusted 设为 false,因此每个工作流打开后都会存在一个 canPersistLocalGraph() 返回 false 的时间窗口。同时,handleSyncWorkflowDraft 的依赖在 ReactFlow 初始化后变化,导致触发 cleanup 过程中的 guard 并弹出 Toast。
环境排查
- Dify 版本:确认是否为
main分支(commite77ee82526或更早)。 - 部署方式:Self Hosted(自托管)。
- 功能状态:确认工作流协作功能(Workflow Collaboration)是否已启用。
解决步骤
- 可优先尝试:升级到 Dify
main分支的最新提交。该问题已在 PR #39353(及对应提交)中修复。 - 如果升级后仍出现此问题,请检查
collaboration-manager.ts中canPersistLocalGraph()的实现逻辑,确认是否存在其他调用路径导致该函数返回 false。 - 若无法立即升级,可临时禁用工作流协作功能,直到修复版本应用完成。
验证方法
升级后,重新打开工作流编辑器,确认不再出现红色 “Draft save failed” Toast 提示,且编辑器中可正常进行保存操作。
参考来源
langgenius/dify #39355 — 原始 Issue 及讨论
langgenius/dify #39353 — 修复此问题的 Pull Request



