fix(workflow): Remove redundant workflow refresh on tab focus to preserve node execution states

This commit is contained in:
Kalo Chin 2025-03-20 02:29:30 +09:00
parent cade0f65e2
commit c809a75f71

View File

@ -51,7 +51,6 @@ import {
useWorkflow, useWorkflow,
useWorkflowInit, useWorkflowInit,
useWorkflowReadOnly, useWorkflowReadOnly,
useWorkflowUpdate,
} from './hooks' } from './hooks'
import Header from './header' import Header from './header'
import CustomNode from './nodes' import CustomNode from './nodes'
@ -187,13 +186,10 @@ const Workflow: FC<WorkflowProps> = memo(({
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
const { handleRefreshWorkflowDraft } = useWorkflowUpdate()
const handleSyncWorkflowDraftWhenPageClose = useCallback(() => { const handleSyncWorkflowDraftWhenPageClose = useCallback(() => {
if (document.visibilityState === 'hidden') if (document.visibilityState === 'hidden')
syncWorkflowDraftWhenPageClose() syncWorkflowDraftWhenPageClose()
else if (document.visibilityState === 'visible') }, [syncWorkflowDraftWhenPageClose])
setTimeout(() => handleRefreshWorkflowDraft(), 500)
}, [syncWorkflowDraftWhenPageClose, handleRefreshWorkflowDraft])
useEffect(() => { useEffect(() => {
document.addEventListener('visibilitychange', handleSyncWorkflowDraftWhenPageClose) document.addEventListener('visibilitychange', handleSyncWorkflowDraftWhenPageClose)