From d1c64f5c74b8798e7a78fdbaafb6c900e8530d62 Mon Sep 17 00:00:00 2001 From: hjlarry Date: Tue, 13 Jan 2026 22:08:59 +0800 Subject: [PATCH] add toast when disconnected --- .../collaboration/hooks/use-collaboration.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/web/app/components/workflow/collaboration/hooks/use-collaboration.ts b/web/app/components/workflow/collaboration/hooks/use-collaboration.ts index 3aec92a2e6..6404a3ae72 100644 --- a/web/app/components/workflow/collaboration/hooks/use-collaboration.ts +++ b/web/app/components/workflow/collaboration/hooks/use-collaboration.ts @@ -4,6 +4,7 @@ import { collaborationManager } from '../core/collaboration-manager' import { CursorService } from '../services/cursor-service' import type { CollaborationState } from '../types/collaboration' import { useGlobalPublicStore } from '@/context/global-public-context' +import Toast from '@/app/components/base/toast' export function useCollaboration(appId: string, reactFlowStore?: any) { const [state, setState] = useState>({ @@ -88,6 +89,17 @@ export function useCollaboration(appId: string, reactFlowStore?: any) { } }, [appId, reactFlowStore, isCollaborationEnabled]) + const prevIsConnected = useRef(false) + useEffect(() => { + if (prevIsConnected.current && !state.isConnected) { + Toast.notify({ + type: 'error', + message: 'Network connection lost. Please check your network.', + }) + } + prevIsConnected.current = state.isConnected || false + }, [state.isConnected]) + const startCursorTracking = (containerRef: React.RefObject, reactFlowInstance?: ReactFlowInstance) => { if (!isCollaborationEnabled || !cursorServiceRef.current) return