Files
dify/web/app/components/workflow/skill/hooks/use-skill-auto-save.ts
yyh b305abdc8f fix(skill-editor): align autosave fallbacks
- use cleanup-based save on tab switch with stable fallback snapshots
- add fallback registry for metadata-only autosave consistency
- add autosave/save-manager tests
2026-01-25 19:51:56 +08:00

28 lines
533 B
TypeScript

import { useEventListener, useUnmount } from 'ahooks'
import { useSkillSaveManager } from './use-skill-save-manager'
export function useSkillAutoSave(): void {
const { saveAllDirty } = useSkillSaveManager()
useUnmount(() => {
saveAllDirty()
})
useEventListener(
'visibilitychange',
() => {
if (document.visibilityState === 'hidden')
saveAllDirty()
},
{ target: document },
)
useEventListener(
'beforeunload',
() => {
saveAllDirty()
},
{ target: window },
)
}