From e07ba741ac2e7097c42a846fef6792003549807d Mon Sep 17 00:00:00 2001 From: mrcfps Date: Thu, 13 Feb 2025 11:41:19 +0800 Subject: [PATCH] feat(canvas): tweak UndoManager config --- .../ai-workspace-common/src/hooks/canvas/use-canvas-sync.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/ai-workspace-common/src/hooks/canvas/use-canvas-sync.ts b/packages/ai-workspace-common/src/hooks/canvas/use-canvas-sync.ts index 27845e7e9..78bb40bb9 100644 --- a/packages/ai-workspace-common/src/hooks/canvas/use-canvas-sync.ts +++ b/packages/ai-workspace-common/src/hooks/canvas/use-canvas-sync.ts @@ -4,6 +4,7 @@ import { useThrottledCallback } from 'use-debounce'; import { Edge } from '@xyflow/react'; import { CanvasNode } from '../../components/canvas/nodes'; import { UndoManager } from 'yjs'; +import { omit } from '@refly/utils'; export const useCanvasSync = () => { const { provider } = useCanvasContext(); @@ -16,7 +17,7 @@ export const useCanvasSync = () => { return new UndoManager( [ydoc.getText('title'), ydoc.getArray('nodes'), ydoc.getArray('edges')], { - captureTimeout: 500, // Merge edits that are within 500ms together + captureTimeout: 1000, }, ); }, [ydoc]); @@ -42,7 +43,7 @@ export const useCanvasSync = () => { ydoc?.transact(() => { const yEdges = ydoc?.getArray('edges'); yEdges?.delete(0, yEdges?.length ?? 0); - yEdges?.push(edges); + yEdges?.push(edges.map((edge) => omit(edge, ['style']))); }); };