Skip to content

Commit

Permalink
perf: workflow code
Browse files Browse the repository at this point in the history
  • Loading branch information
c121914yu committed Aug 23, 2024
1 parent eaaf6f5 commit 01f28d5
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 29 deletions.
31 changes: 17 additions & 14 deletions docSite/content/zh-cn/docs/development/upgrading/4810.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,20 @@ STORE_LOG_LEVEL=warn
1. 新增 - 模板市场
2. 新增 - 工作流节点拖动自动对齐吸附
3. 新增 - 用户选择节点(Debug 模式暂未支持)
4. 商业版新增 - 飞书机器人接入
5. 商业版新增 - 公众号接入接入
6. 商业版新增 - 自助开票申请
7. 商业版新增 - SSO 定制
8. 优化 - 知识库集合禁用,目录禁用会递归修改其下所有 children 的禁用状态。
9. 优化 - 节点选择,避免切换 tab 时候,path 加载报错。
10. 优化 - 最新 React Markdown 组件,支持 Base64 图片。
11. 优化 - 知识库列表 UI。
12. 优化 - 支持无网络配置情况下运行。
13. 修复 - Prompt 模式调用工具,stream=false 模式下,会携带 0: 开头标记。
14. 修复 - 对话日志鉴权问题:仅为 APP 管理员的用户,无法查看对话日志详情。
15. 修复 - 选择 Milvus 部署时,无法导出知识库。
16. 修复 - 创建 APP 副本,无法复制系统配置。
17. 修复 - 图片识别模式下,自动解析图片链接正则不够严谨问题。
4. 新增 - 工作流撤销和重做
5. 新增 - 工作流本次编辑记录,取代自动保存
6. 新增 - 工作流版本支持重命名
7. 商业版新增 - 飞书机器人接入
8. 商业版新增 - 公众号接入接入
9. 商业版新增 - 自助开票申请
10. 商业版新增 - SSO 定制
11. 优化 - 知识库集合禁用,目录禁用会递归修改其下所有 children 的禁用状态。
12. 优化 - 节点选择,避免切换 tab 时候,path 加载报错。
13. 优化 - 最新 React Markdown 组件,支持 Base64 图片。
14. 优化 - 知识库列表 UI。
15. 优化 - 支持无网络配置情况下运行。
16. 修复 - Prompt 模式调用工具,stream=false 模式下,会携带 0: 开头标记。
17. 修复 - 对话日志鉴权问题:仅为 APP 管理员的用户,无法查看对话日志详情。
18. 修复 - 选择 Milvus 部署时,无法导出知识库。
19. 修复 - 创建 APP 副本,无法复制系统配置。
20. 修复 - 图片识别模式下,自动解析图片链接正则不够严谨问题。
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ const WorkflowEdit = () => {
cloneDeep({
nodes: appDetail.modules || [],
edges: appDetail.edges || []
})
}),
true
);
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ const Header = () => {
} = useContextSelector(WorkflowContext, (v) => v);

const isPublished = useMemo(() => {
/*
Find the last saved snapshot in the past and future snapshots
*/
const savedSnapshot =
future.findLast((snapshot) => snapshot.isSaved) || past.find((snapshot) => snapshot.isSaved);

Expand Down Expand Up @@ -97,6 +100,7 @@ const Header = () => {
//@ts-ignore
version: 'v2'
});
// Mark the current snapshot as saved
setPast((prevPast) =>
prevPast.map((item, index) =>
index === prevPast.length - 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ const WorkflowContextProvider = ({
const onChangeNode = useMemoizedFn((props: FlowNodeChangeProps) => {
const { nodeId, type } = props;
setNodes((nodes) => {
const newNodes = nodes.map((node) => {
return nodes.map((node) => {
if (node.id !== nodeId) return node;

const updateObj = cloneDeep(node.data);
Expand Down Expand Up @@ -490,7 +490,6 @@ const WorkflowContextProvider = ({
data: updateObj
};
});
return newNodes;
});
});
const getNodeDynamicInputs = useCallback(
Expand Down Expand Up @@ -532,6 +531,13 @@ const WorkflowContextProvider = ({

const initData = useMemoizedFn(
async (e: Parameters<WorkflowContextType['initData']>[0], isInit?: boolean) => {
/*
Refresh web page, load init
*/
if (isInit && past.length > 0) {
return resetSnapshot(past[0]);
}

setNodes(e.nodes?.map((item) => storeNode2FlowNode({ item })) || []);
setEdges(e.edges?.map((item) => storeEdgesRenderEdge({ edge: item })) || []);

Expand All @@ -544,19 +550,15 @@ const WorkflowContextProvider = ({
}

// If it is the initial data, save the initial snapshot
if (!isInit) return;
// If it has been initialized, it will not be saved
if (past.length > 0) {
resetSnapshot(past[0]);
return;
if (isInit) {
saveSnapshot({
pastNodes: e.nodes?.map((item) => storeNode2FlowNode({ item })) || [],
pastEdges: e.edges?.map((item) => storeEdgesRenderEdge({ edge: item })) || [],
customTitle: t(`app:app.version_initial`),
chatConfig: appDetail.chatConfig,
isSaved: true
});
}
saveSnapshot({
pastNodes: e.nodes?.map((item) => storeNode2FlowNode({ item })) || [],
pastEdges: e.edges?.map((item) => storeEdgesRenderEdge({ edge: item })) || [],
customTitle: t(`app:app.version_initial`),
chatConfig: appDetail.chatConfig,
isSaved: true
});
}
);

Expand Down

0 comments on commit 01f28d5

Please sign in to comment.