Add option to disable workflow persistence (#3341)

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chenlei Hu <huchenlei@proton.me>
This commit is contained in:
catboxanon
2025-04-07 17:06:41 -04:00
committed by GitHub
parent 65c9c264c6
commit a7a8459e18
9 changed files with 40 additions and 2 deletions

View File

@@ -12,7 +12,12 @@ export function useWorkflowPersistence() {
const workflowStore = useWorkflowStore()
const settingStore = useSettingStore()
const workflowPersistenceEnabled = computed(() =>
settingStore.get('Comfy.Workflow.Persist')
)
const persistCurrentWorkflow = () => {
if (!workflowPersistenceEnabled.value) return
const workflow = JSON.stringify(comfyApp.serializeGraph())
localStorage.setItem('workflow', workflow)
if (api.clientId) {
@@ -58,6 +63,7 @@ export function useWorkflowPersistence() {
}
const restorePreviousWorkflow = async () => {
if (!workflowPersistenceEnabled.value) return
try {
const restored = await loadPreviousWorkflowFromStorage()
if (!restored) {
@@ -109,12 +115,16 @@ export function useWorkflowPersistence() {
const storedActiveIndex = JSON.parse(
getStorageValue('Comfy.ActiveWorkflowIndex') || '-1'
)
watch(restoreState, ({ paths, activeIndex }) => {
setStorageValue('Comfy.OpenWorkflowsPaths', JSON.stringify(paths))
setStorageValue('Comfy.ActiveWorkflowIndex', JSON.stringify(activeIndex))
if (workflowPersistenceEnabled.value) {
setStorageValue('Comfy.OpenWorkflowsPaths', JSON.stringify(paths))
setStorageValue('Comfy.ActiveWorkflowIndex', JSON.stringify(activeIndex))
}
})
const restoreWorkflowTabsState = () => {
if (!workflowPersistenceEnabled.value) return
const isRestorable = storedWorkflows?.length > 0 && storedActiveIndex >= 0
if (isRestorable) {
workflowStore.openWorkflowsInBackground({

View File

@@ -787,5 +787,12 @@ export const CORE_SETTINGS: SettingParams[] = [
options: ['off', 'after delay'], // Room for other options like on focus change, tab change, window change
defaultValue: 'off', // Popular requst by users (https://github.com/Comfy-Org/ComfyUI_frontend/issues/1584#issuecomment-2536610154)
versionAdded: '1.16.0'
},
{
id: 'Comfy.Workflow.Persist',
name: 'Persist workflow state and restore on page (re)load',
type: 'boolean',
defaultValue: true,
versionAdded: '1.16.1'
}
]

View File

@@ -310,6 +310,9 @@
"Comfy_Workflow_ConfirmDelete": {
"name": "Show confirmation when deleting workflows"
},
"Comfy_Workflow_Persist": {
"name": "Persist workflow state and restore on page (re)load"
},
"Comfy_Workflow_ShowMissingModelsWarning": {
"name": "Show missing models warning"
},

View File

@@ -310,6 +310,9 @@
"Comfy_Workflow_ConfirmDelete": {
"name": "Mostrar confirmación al eliminar flujos de trabajo"
},
"Comfy_Workflow_Persist": {
"name": "Persistir el estado del flujo de trabajo y restaurar en la (re)carga de la página"
},
"Comfy_Workflow_ShowMissingModelsWarning": {
"name": "Mostrar advertencia de modelos faltantes"
},

View File

@@ -310,6 +310,9 @@
"Comfy_Workflow_ConfirmDelete": {
"name": "Afficher une confirmation lors de la suppression des flux de travail"
},
"Comfy_Workflow_Persist": {
"name": "Persiste l'état du flux de travail et restaure lors du (re)chargement de la page"
},
"Comfy_Workflow_ShowMissingModelsWarning": {
"name": "Afficher l'avertissement des modèles manquants"
},

View File

@@ -310,6 +310,9 @@
"Comfy_Workflow_ConfirmDelete": {
"name": "ワークフローを削除する際に確認を表示"
},
"Comfy_Workflow_Persist": {
"name": "ページ(再)ロード時にワークフローの状態を保持し、復元します"
},
"Comfy_Workflow_ShowMissingModelsWarning": {
"name": "欠落しているモデルの警告を表示"
},

View File

@@ -310,6 +310,9 @@
"Comfy_Workflow_ConfirmDelete": {
"name": "워크플로 삭제 시 확인 표시"
},
"Comfy_Workflow_Persist": {
"name": "페이지 (재)로드시 워크플로우 상태를 유지하고 복원"
},
"Comfy_Workflow_ShowMissingModelsWarning": {
"name": "누락된 모델 경고 표시"
},

View File

@@ -310,6 +310,9 @@
"Comfy_Workflow_ConfirmDelete": {
"name": "Показать подтверждение при удалении рабочих процессов"
},
"Comfy_Workflow_Persist": {
"name": "Сохранить состояние рабочего процесса и восстановить при (пере)загрузке страницы"
},
"Comfy_Workflow_ShowMissingModelsWarning": {
"name": "Показать предупреждение об отсутствующих моделях"
},

View File

@@ -310,6 +310,9 @@
"Comfy_Workflow_ConfirmDelete": {
"name": "删除工作流时显示确认"
},
"Comfy_Workflow_Persist": {
"name": "持久化工作流状态并在页面(重新)加载时恢复"
},
"Comfy_Workflow_ShowMissingModelsWarning": {
"name": "显示缺失模型警告"
},