From f82d8d56b8532a971fd8e34701176a06730271fa Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 10:19:52 -0700 Subject: [PATCH] move legacy option to startup arg --- src/composables/useCoreCommands.ts | 25 ++++++++++++++++++++++--- src/constants/coreMenuCommands.ts | 12 +++++------- src/locales/en/main.json | 2 +- src/services/comfyManagerService.ts | 2 +- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index 9582f005c..013b8e719 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -15,10 +15,11 @@ import { t } from '@/i18n' import { api } from '@/scripts/api' import { app } from '@/scripts/app' import { addFluxKontextGroupNode } from '@/scripts/fluxKontextEditNode' +import { useComfyManagerService } from '@/services/comfyManagerService' import { useDialogService } from '@/services/dialogService' import { useLitegraphService } from '@/services/litegraphService' import { useWorkflowService } from '@/services/workflowService' -import { useCommandStore } from '@/stores/commandStore' +import { type ComfyCommand, useCommandStore } from '@/stores/commandStore' import { useExecutionStore } from '@/stores/executionStore' import { useCanvasStore, useTitleEditorStore } from '@/stores/graphStore' import { useQueueSettingsStore, useQueueStore } from '@/stores/queueStore' @@ -688,8 +689,26 @@ export function useCoreCommands(): ComfyCommand[] { icon: 'pi pi-puzzle', label: 'Toggle the Custom Nodes Manager', versionAdded: '1.12.10', - function: () => { - dialogService.toggleManagerDialog() + function: async () => { + const isLegacyManagerUI = + await useComfyManagerService().isLegacyManagerUI() + if (isLegacyManagerUI) { + try { + await useCommandStore().execute( + 'Comfy.Manager.Menu.ToggleVisibility' // This command is registered by legacy manager FE extension + ) + } catch (error) { + useToastStore().add({ + severity: 'error', + summary: t('g.error'), + detail: t('manager.legacyMenuNotAvailable'), + life: 3000 + }) + dialogService.toggleManagerDialog() + } + } else { + dialogService.toggleManagerDialog() + } } }, { diff --git a/src/constants/coreMenuCommands.ts b/src/constants/coreMenuCommands.ts index 9fc0561eb..725ad95c6 100644 --- a/src/constants/coreMenuCommands.ts +++ b/src/constants/coreMenuCommands.ts @@ -11,19 +11,17 @@ export const CORE_MENU_COMMANDS = [ ] ], [['Edit'], ['Comfy.Undo', 'Comfy.Redo']], - [['Edit'], ['Comfy.RefreshNodeDefinitions']], - [['Edit'], ['Comfy.ClearWorkflow']], - [['Edit'], ['Comfy.OpenClipspace']], [ - ['Manager'], + ['Edit'], [ - 'Comfy.Manager.ShowLegacyManagerMenu', - 'Comfy.Manager.CustomNodesManager.ShowLegacyCustomNodesMenu', - 'Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu', + 'Comfy.RefreshNodeDefinitions', 'Comfy.Memory.UnloadModels', 'Comfy.Memory.UnloadModelsAndExecutionCache' ] ], + [['Edit'], ['Comfy.ClearWorkflow']], + [['Edit'], ['Comfy.OpenClipspace']], + [['Manager'], ['Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu']], [ ['Help'], [ diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 39c555083..962a997cd 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -149,7 +149,7 @@ }, "manager": { "title": "Custom Nodes Manager", - "legacyMenuNotAvailable": "Legacy manager menu is not available in this version of ComfyUI. Please use the new manager menu instead.", + "legacyMenuNotAvailable": "Legacy manager menu is not available, defaulting to the new manager menu.", "failed": "Failed ({count})", "noNodesFound": "No nodes found", "noNodesFoundDescription": "The pack's nodes either could not be parsed, or the pack is a frontend extension only and doesn't have any nodes.", diff --git a/src/services/comfyManagerService.ts b/src/services/comfyManagerService.ts index 79f2dd132..0e8f245ac 100644 --- a/src/services/comfyManagerService.ts +++ b/src/services/comfyManagerService.ts @@ -251,7 +251,7 @@ export const useComfyManagerService = () => { const isLegacyManagerUI = async (signal?: AbortSignal) => { const errorContext = 'Checking if user set Manager to use the legacy UI' - return executeRequest<{ is_legacy_manager_ui: boolean }>( + return executeRequest( () => managerApiClient.get(ManagerRoute.IS_LEGACY_MANAGER_UI, { signal }), { errorContext } )