From c28d4514fcb7d76d65cf5a0bd5f84fbd5e57ee73 Mon Sep 17 00:00:00 2001 From: bymyself Date: Wed, 9 Apr 2025 09:52:06 -0700 Subject: [PATCH 01/43] migrate manager menu items --- src/composables/useCoreCommands.ts | 85 ++++++++++++++++++++++++++++-- src/constants/coreMenuCommands.ts | 10 ++++ src/constants/coreSettings.ts | 7 +++ src/locales/en/main.json | 4 +- src/scripts/api.ts | 51 ++++++++++++++++++ 5 files changed, 153 insertions(+), 4 deletions(-) diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index 5e4cf61256..e3627658b5 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -19,6 +19,7 @@ import { useDialogService } from '@/services/dialogService' import { useLitegraphService } from '@/services/litegraphService' import { useWorkflowService } from '@/services/workflowService' import type { ComfyCommand } from '@/stores/commandStore' +import { useCommandStore } from '@/stores/commandStore' import { useExecutionStore } from '@/stores/executionStore' import { useCanvasStore, useTitleEditorStore } from '@/stores/graphStore' import { useQueueSettingsStore, useQueueStore } from '@/stores/queueStore' @@ -660,9 +661,9 @@ export function useCoreCommands(): ComfyCommand[] { } }, { - id: 'Comfy.Manager.CustomNodesManager', - icon: 'pi pi-puzzle', - label: 'Toggle the Custom Nodes Manager', + id: 'Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu', + icon: 'pi pi-objects-column', + label: 'Custom Nodes (Beta)', versionAdded: '1.12.10', function: () => { dialogService.toggleManagerDialog() @@ -757,6 +758,84 @@ export function useCoreCommands(): ComfyCommand[] { const { node } = res canvas.select(node) } + }, + { + id: 'Comfy.Manager.CustomNodesManager.ShowLegacyCustomNodesMenu', + icon: 'pi pi-bars', + label: 'Custom Nodes (Legacy)', + versionAdded: '1.16.4', + function: () => { + try { + useCommandStore().execute( + 'Comfy.Manager.CustomNodesManager.ToggleVisibility' + ) + } catch (error) { + useToastStore().add({ + severity: 'error', + summary: t('g.error'), + detail: t('manager.legacyMenuNotAvailable'), + life: 3000 + }) + } + } + }, + { + id: 'Comfy.Manager.ShowLegacyManagerMenu', + icon: 'mdi mdi-puzzle', + label: 'Manager Menu (Legacy)', + versionAdded: '1.16.4', + function: () => { + try { + useCommandStore().execute('Comfy.Manager.Menu.ToggleVisibility') + } catch (error) { + useToastStore().add({ + severity: 'error', + summary: t('g.error'), + detail: t('manager.legacyMenuNotAvailable'), + life: 3000 + }) + } + } + }, + { + id: 'Comfy.Memory.UnloadModels', + icon: 'mdi mdi-vacuum-outline', + label: 'Unload Models', + versionAdded: '1.16.4', + function: async () => { + if (!useSettingStore().get('Comfy.Memory.AllowManualUnload')) { + useToastStore().add({ + severity: 'error', + summary: t('g.error'), + detail: t('g.commandProhibited', { + command: 'Comfy.Memory.UnloadModels' + }), + life: 3000 + }) + return + } + await api.freeMemory({ freeExecutionCache: false }) + } + }, + { + id: 'Comfy.Memory.UnloadModelsAndExecutionCache', + icon: 'mdi mdi-vacuum-outline', + label: 'Unload Models and Execution Cache', + versionAdded: '1.16.4', + function: async () => { + if (!useSettingStore().get('Comfy.Memory.AllowManualUnload')) { + useToastStore().add({ + severity: 'error', + summary: t('g.error'), + detail: t('g.commandProhibited', { + command: 'Comfy.Memory.UnloadModelsAndExecutionCache' + }), + life: 3000 + }) + return + } + await api.freeMemory({ freeExecutionCache: true }) + } } ] diff --git a/src/constants/coreMenuCommands.ts b/src/constants/coreMenuCommands.ts index 9173366a4f..9fc0561ebb 100644 --- a/src/constants/coreMenuCommands.ts +++ b/src/constants/coreMenuCommands.ts @@ -14,6 +14,16 @@ export const CORE_MENU_COMMANDS = [ [['Edit'], ['Comfy.RefreshNodeDefinitions']], [['Edit'], ['Comfy.ClearWorkflow']], [['Edit'], ['Comfy.OpenClipspace']], + [ + ['Manager'], + [ + 'Comfy.Manager.ShowLegacyManagerMenu', + 'Comfy.Manager.CustomNodesManager.ShowLegacyCustomNodesMenu', + 'Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu', + 'Comfy.Memory.UnloadModels', + 'Comfy.Memory.UnloadModelsAndExecutionCache' + ] + ], [ ['Help'], [ diff --git a/src/constants/coreSettings.ts b/src/constants/coreSettings.ts index c3a9b30af8..72943046c5 100644 --- a/src/constants/coreSettings.ts +++ b/src/constants/coreSettings.ts @@ -14,6 +14,13 @@ import type { SettingParams } from '@/types/settingTypes' * when they are no longer needed. */ export const CORE_SETTINGS: SettingParams[] = [ + { + id: 'Comfy.Memory.AllowManualUnload', + name: 'Allow manual unload of models and execution cache via user command', + type: 'hidden', + defaultValue: true, + versionAdded: '1.18.0' + }, { id: 'Comfy.Validation.Workflows', name: 'Validate workflows', diff --git a/src/locales/en/main.json b/src/locales/en/main.json index df92e481bf..589cbc5331 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -133,10 +133,12 @@ "copyURL": "Copy URL", "releaseTitle": "{package} {version} Release", "progressCountOf": "of", - "keybindingAlreadyExists": "Keybinding already exists on" + "keybindingAlreadyExists": "Keybinding already exists on", + "commandProhibited": "Command {command} is prohibited. Contact an administrator for more information." }, "manager": { "title": "Custom Nodes Manager", + "legacyMenuNotAvailable": "Legacy manager menu is not available in this version of ComfyUI. Please use the new manager menu instead.", "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/scripts/api.ts b/src/scripts/api.ts index 7be323588c..66ad0b0e94 100644 --- a/src/scripts/api.ts +++ b/src/scripts/api.ts @@ -37,6 +37,7 @@ import { type ComfyNodeDef, validateComfyNodeDef } from '@/schemas/nodeDefSchema' +import { useToastStore } from '@/stores/toastStore' import { WorkflowTemplates } from '@/types/workflowTemplateTypes' interface QueuePromptRequestBody { @@ -987,6 +988,56 @@ export class ComfyApi extends EventTarget { return (await axios.get(this.internalURL('/folder_paths'))).data } + /* Frees memory by unloading models and optionally freeing execution cache + * @param {Object} options - The options object + * @param {boolean} options.freeExecutionCache - If true, also frees execution cache + */ + async freeMemory(options: { freeExecutionCache: boolean }) { + try { + let mode = '' + if (options.freeExecutionCache) { + mode = '{"unload_models": true, "free_memory": true}' + } else { + mode = '{"unload_models": true}' + } + + const res = await this.fetchApi(`/free`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: mode + }) + + if (res.status === 200) { + if (options.freeExecutionCache) { + useToastStore().add({ + severity: 'success', + summary: 'Models and Execution Cache have been cleared.', + life: 3000 + }) + } else { + useToastStore().add({ + severity: 'success', + summary: 'Models have been unloaded.', + life: 3000 + }) + } + } else { + useToastStore().add({ + severity: 'error', + summary: + 'Unloading of models failed. Installed ComfyUI may be an outdated version.', + life: 5000 + }) + } + } catch (error) { + useToastStore().add({ + severity: 'error', + summary: 'An error occurred while trying to unload models.', + life: 5000 + }) + } + } + /** * Gets the custom nodes i18n data from the server. * From 588bd99c3a3f38bf896587e6567940b15b5947fe Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 9 Apr 2025 17:46:39 +0000 Subject: [PATCH 02/43] Update locales [skip ci] --- src/locales/en/commands.json | 16 ++++++++++++++-- src/locales/en/main.json | 7 +++++++ src/locales/es/commands.json | 16 ++++++++++++++-- src/locales/es/main.json | 8 ++++++++ src/locales/fr/commands.json | 16 ++++++++++++++-- src/locales/fr/main.json | 8 ++++++++ src/locales/ja/commands.json | 16 ++++++++++++++-- src/locales/ja/main.json | 8 ++++++++ src/locales/ko/commands.json | 16 ++++++++++++++-- src/locales/ko/main.json | 8 ++++++++ src/locales/ru/commands.json | 16 ++++++++++++++-- src/locales/ru/main.json | 8 ++++++++ src/locales/zh/commands.json | 16 ++++++++++++++-- src/locales/zh/main.json | 8 ++++++++ 14 files changed, 153 insertions(+), 14 deletions(-) diff --git a/src/locales/en/commands.json b/src/locales/en/commands.json index 780ec71648..65c49a5041 100644 --- a/src/locales/en/commands.json +++ b/src/locales/en/commands.json @@ -152,8 +152,14 @@ "Comfy_LoadDefaultWorkflow": { "label": "Load Default Workflow" }, - "Comfy_Manager_CustomNodesManager": { - "label": "Toggle the Custom Nodes Manager" + "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { + "label": "Custom Nodes (Beta)" + }, + "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { + "label": "Custom Nodes (Legacy)" + }, + "Comfy_Manager_ShowLegacyManagerMenu": { + "label": "Manager Menu (Legacy)" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Toggle the Custom Nodes Manager Progress Bar" @@ -161,6 +167,12 @@ "Comfy_MaskEditor_OpenMaskEditor": { "label": "Open Mask Editor for Selected Node" }, + "Comfy_Memory_UnloadModels": { + "label": "Unload Models" + }, + "Comfy_Memory_UnloadModelsAndExecutionCache": { + "label": "Unload Models and Execution Cache" + }, "Comfy_NewBlankWorkflow": { "label": "New Blank Workflow" }, diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 589cbc5331..90be6ca737 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -915,6 +915,7 @@ "menuLabels": { "Workflow": "Workflow", "Edit": "Edit", + "Manager": "Manager", "Help": "Help", "Check for Updates": "Check for Updates", "Open Custom Nodes Folder": "Open Custom Nodes Folder", @@ -970,6 +971,12 @@ "Toggle the Custom Nodes Manager": "Toggle the Custom Nodes Manager", "Toggle the Custom Nodes Manager Progress Bar": "Toggle the Custom Nodes Manager Progress Bar", "Open Mask Editor for Selected Node": "Open Mask Editor for Selected Node", + "Custom Nodes (Beta)": "Custom Nodes (Beta)", + "Custom Nodes (Legacy)": "Custom Nodes (Legacy)", + "Manager Menu (Legacy)": "Manager Menu (Legacy)", + "Toggle Progress Dialog": "Toggle Progress Dialog", + "Unload Models": "Unload Models", + "Unload Models and Execution Cache": "Unload Models and Execution Cache", "New": "New", "Clipspace": "Clipspace", "Open": "Open", diff --git a/src/locales/es/commands.json b/src/locales/es/commands.json index 0160c9814a..e20d7bd553 100644 --- a/src/locales/es/commands.json +++ b/src/locales/es/commands.json @@ -152,8 +152,14 @@ "Comfy_LoadDefaultWorkflow": { "label": "Cargar flujo de trabajo predeterminado" }, - "Comfy_Manager_CustomNodesManager": { - "label": "Administrador de nodos personalizados" + "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { + "label": "Nodos personalizados (Beta)" + }, + "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { + "label": "Nodos personalizados (Legacy)" + }, + "Comfy_Manager_ShowLegacyManagerMenu": { + "label": "Menú del administrador (Legacy)" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Alternar diálogo de progreso del administrador" @@ -161,6 +167,12 @@ "Comfy_MaskEditor_OpenMaskEditor": { "label": "Abrir editor de máscara para el nodo seleccionado" }, + "Comfy_Memory_UnloadModels": { + "label": "Descargar modelos" + }, + "Comfy_Memory_UnloadModelsAndExecutionCache": { + "label": "Descargar modelos y caché de ejecución" + }, "Comfy_NewBlankWorkflow": { "label": "Nuevo flujo de trabajo en blanco" }, diff --git a/src/locales/es/main.json b/src/locales/es/main.json index e59f889d0b..17a39a237f 100644 --- a/src/locales/es/main.json +++ b/src/locales/es/main.json @@ -270,6 +270,7 @@ "color": "Color", "comingSoon": "Próximamente", "command": "Comando", + "commandProhibited": "El comando {command} está prohibido. Contacta a un administrador para más información.", "community": "Comunidad", "completed": "Completado", "confirm": "Confirmar", @@ -628,6 +629,7 @@ "installationQueue": "Cola de Instalación", "lastUpdated": "Última Actualización", "latestVersion": "Última", + "legacyMenuNotAvailable": "El menú del administrador antiguo no está disponible en esta versión de ComfyUI. Por favor, utiliza el nuevo menú del administrador en su lugar.", "license": "Licencia", "loadingVersions": "Cargando versiones...", "nightlyVersion": "Nocturna", @@ -734,6 +736,8 @@ "Contact Support": "Contactar soporte", "Convert Selection to Subgraph": "Convertir selección en subgrafo", "Convert selected nodes to group node": "Convertir nodos seleccionados en nodo de grupo", + "Custom Nodes (Beta)": "Nodos personalizados (Beta)", + "Custom Nodes (Legacy)": "Nodos personalizados (Antiguo)", "Delete Selected Items": "Eliminar elementos seleccionados", "Desktop User Guide": "Guía de usuario de escritorio", "Duplicate Current Workflow": "Duplicar flujo de trabajo actual", @@ -752,6 +756,8 @@ "Move Selected Nodes Left": "Mover nodos seleccionados hacia la izquierda", "Move Selected Nodes Right": "Mover nodos seleccionados hacia la derecha", "Move Selected Nodes Up": "Mover nodos seleccionados hacia arriba", + "Manager": "Administrador", + "Manager Menu (Legacy)": "Menú del administrador (Antiguo)", "Mute/Unmute Selected Nodes": "Silenciar/Activar sonido de nodos seleccionados", "New": "Nuevo", "Next Opened Workflow": "Siguiente flujo de trabajo abierto", @@ -796,6 +802,8 @@ "Toggle the Custom Nodes Manager Progress Bar": "Alternar la Barra de Progreso del Administrador de Nodos Personalizados", "Undo": "Deshacer", "Ungroup selected group nodes": "Desagrupar nodos de grupo seleccionados", + "Unload Models": "Descargar modelos", + "Unload Models and Execution Cache": "Descargar modelos y caché de ejecución", "Workflow": "Flujo de trabajo", "Zoom In": "Acercar", "Zoom Out": "Alejar" diff --git a/src/locales/fr/commands.json b/src/locales/fr/commands.json index e1595c4719..c77231f2b2 100644 --- a/src/locales/fr/commands.json +++ b/src/locales/fr/commands.json @@ -152,8 +152,14 @@ "Comfy_LoadDefaultWorkflow": { "label": "Charger le flux de travail par défaut" }, - "Comfy_Manager_CustomNodesManager": { - "label": "Gestionnaire de Nœuds Personnalisés" + "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { + "label": "Nœuds personnalisés (Beta)" + }, + "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { + "label": "Nœuds personnalisés (Legacy)" + }, + "Comfy_Manager_ShowLegacyManagerMenu": { + "label": "Menu du gestionnaire (Legacy)" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Basculer la boîte de dialogue de progression" @@ -161,6 +167,12 @@ "Comfy_MaskEditor_OpenMaskEditor": { "label": "Ouvrir l'éditeur de masque pour le nœud sélectionné" }, + "Comfy_Memory_UnloadModels": { + "label": "Décharger les modèles" + }, + "Comfy_Memory_UnloadModelsAndExecutionCache": { + "label": "Décharger les modèles et le cache d'exécution" + }, "Comfy_NewBlankWorkflow": { "label": "Nouveau flux de travail vierge" }, diff --git a/src/locales/fr/main.json b/src/locales/fr/main.json index 4529f7c8e3..6849ad8054 100644 --- a/src/locales/fr/main.json +++ b/src/locales/fr/main.json @@ -270,6 +270,7 @@ "color": "Couleur", "comingSoon": "Bientôt disponible", "command": "Commande", + "commandProhibited": "La commande {command} est interdite. Contactez un administrateur pour plus d'informations.", "community": "Communauté", "completed": "Terminé", "confirm": "Confirmer", @@ -628,6 +629,7 @@ "installationQueue": "File d'attente d'installation", "lastUpdated": "Dernière mise à jour", "latestVersion": "Dernière", + "legacyMenuNotAvailable": "Le menu du gestionnaire de l'ancienne version n'est pas disponible dans cette version de ComfyUI. Veuillez utiliser le nouveau menu du gestionnaire à la place.", "license": "Licence", "loadingVersions": "Chargement des versions...", "nightlyVersion": "Nocturne", @@ -734,6 +736,8 @@ "Contact Support": "Contacter le support", "Convert Selection to Subgraph": "Convertir la sélection en sous-graphe", "Convert selected nodes to group node": "Convertir les nœuds sélectionnés en nœud de groupe", + "Custom Nodes (Beta)": "Nœuds personnalisés (Beta)", + "Custom Nodes (Legacy)": "Nœuds personnalisés (Ancienne version)", "Delete Selected Items": "Supprimer les éléments sélectionnés", "Desktop User Guide": "Guide de l'utilisateur de bureau", "Duplicate Current Workflow": "Dupliquer le flux de travail actuel", @@ -752,6 +756,8 @@ "Move Selected Nodes Left": "Déplacer les nœuds sélectionnés vers la gauche", "Move Selected Nodes Right": "Déplacer les nœuds sélectionnés vers la droite", "Move Selected Nodes Up": "Déplacer les nœuds sélectionnés vers le haut", + "Manager": "Gestionnaire", + "Manager Menu (Legacy)": "Menu du gestionnaire (Ancienne version)", "Mute/Unmute Selected Nodes": "Mettre en sourdine/Activer le son des nœuds sélectionnés", "New": "Nouveau", "Next Opened Workflow": "Prochain flux de travail ouvert", @@ -796,6 +802,8 @@ "Toggle the Custom Nodes Manager Progress Bar": "Basculer la barre de progression du gestionnaire de nœuds personnalisés", "Undo": "Annuler", "Ungroup selected group nodes": "Dégrouper les nœuds de groupe sélectionnés", + "Unload Models": "Décharger les modèles", + "Unload Models and Execution Cache": "Décharger les modèles et le cache d'exécution", "Workflow": "Flux de travail", "Zoom In": "Zoom avant", "Zoom Out": "Zoom arrière" diff --git a/src/locales/ja/commands.json b/src/locales/ja/commands.json index 3ee56580e6..ce0d9848d5 100644 --- a/src/locales/ja/commands.json +++ b/src/locales/ja/commands.json @@ -152,8 +152,14 @@ "Comfy_LoadDefaultWorkflow": { "label": "デフォルトのワークフローを読み込む" }, - "Comfy_Manager_CustomNodesManager": { - "label": "カスタムノードマネージャ" + "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { + "label": "カスタムノード(ベータ版)" + }, + "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { + "label": "カスタムノード(レガシー)" + }, + "Comfy_Manager_ShowLegacyManagerMenu": { + "label": "マネージャーメニュー(レガシー)" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "プログレスダイアログの切り替え" @@ -161,6 +167,12 @@ "Comfy_MaskEditor_OpenMaskEditor": { "label": "選択したノードのマスクエディタを開く" }, + "Comfy_Memory_UnloadModels": { + "label": "モデルのアンロード" + }, + "Comfy_Memory_UnloadModelsAndExecutionCache": { + "label": "モデルと実行キャッシュのアンロード" + }, "Comfy_NewBlankWorkflow": { "label": "新しい空のワークフロー" }, diff --git a/src/locales/ja/main.json b/src/locales/ja/main.json index 3a2b3ff53d..989664f5cf 100644 --- a/src/locales/ja/main.json +++ b/src/locales/ja/main.json @@ -270,6 +270,7 @@ "color": "色", "comingSoon": "近日公開", "command": "コマンド", + "commandProhibited": "コマンド {command} は禁止されています。詳細は管理者にお問い合わせください。", "community": "コミュニティ", "completed": "完了", "confirm": "確認", @@ -628,6 +629,7 @@ "installationQueue": "インストールキュー", "lastUpdated": "最終更新日", "latestVersion": "最新", + "legacyMenuNotAvailable": "このバージョンのComfyUIでは、レガシーマネージャーメニューは利用できません。新しいマネージャーメニューを使用してください。", "license": "ライセンス", "loadingVersions": "バージョンを読み込んでいます...", "nightlyVersion": "ナイトリー", @@ -734,6 +736,8 @@ "Contact Support": "サポートに連絡", "Convert Selection to Subgraph": "選択範囲をサブグラフに変換", "Convert selected nodes to group node": "選択したノードをグループノードに変換", + "Custom Nodes (Beta)": "カスタムノード(ベータ)", + "Custom Nodes (Legacy)": "カスタムノード(レガシー)", "Delete Selected Items": "選択したアイテムを削除", "Desktop User Guide": "デスクトップユーザーガイド", "Duplicate Current Workflow": "現在のワークフローを複製", @@ -752,6 +756,8 @@ "Move Selected Nodes Left": "選択したノードを左へ移動", "Move Selected Nodes Right": "選択したノードを右へ移動", "Move Selected Nodes Up": "選択したノードを上へ移動", + "Manager": "マネージャー", + "Manager Menu (Legacy)": "マネージャーメニュー(レガシー)", "Mute/Unmute Selected Nodes": "選択したノードのミュート/ミュート解除", "New": "新規", "Next Opened Workflow": "次に開いたワークフロー", @@ -796,6 +802,8 @@ "Toggle the Custom Nodes Manager Progress Bar": "カスタムノードマネージャーの進行状況バーを切り替え", "Undo": "元に戻す", "Ungroup selected group nodes": "選択したグループノードのグループ解除", + "Unload Models": "モデルのアンロード", + "Unload Models and Execution Cache": "モデルと実行キャッシュのアンロード", "Workflow": "ワークフロー", "Zoom In": "ズームイン", "Zoom Out": "ズームアウト" diff --git a/src/locales/ko/commands.json b/src/locales/ko/commands.json index becb3f5602..bb5dc7d51f 100644 --- a/src/locales/ko/commands.json +++ b/src/locales/ko/commands.json @@ -152,8 +152,14 @@ "Comfy_LoadDefaultWorkflow": { "label": "기본 워크플로 로드" }, - "Comfy_Manager_CustomNodesManager": { - "label": "사용자 정의 노드 관리자" + "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { + "label": "사용자 정의 노드 (베타)" + }, + "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { + "label": "사용자 정의 노드 (레거시)" + }, + "Comfy_Manager_ShowLegacyManagerMenu": { + "label": "매니저 메뉴 (레거시)" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "진행 상황 대화 상자 전환" @@ -161,6 +167,12 @@ "Comfy_MaskEditor_OpenMaskEditor": { "label": "선택한 노드 마스크 편집기 열기" }, + "Comfy_Memory_UnloadModels": { + "label": "모델 언로드" + }, + "Comfy_Memory_UnloadModelsAndExecutionCache": { + "label": "모델 및 실행 캐시 언로드" + }, "Comfy_NewBlankWorkflow": { "label": "새로운 빈 워크플로" }, diff --git a/src/locales/ko/main.json b/src/locales/ko/main.json index b09399130e..cd1d1beabb 100644 --- a/src/locales/ko/main.json +++ b/src/locales/ko/main.json @@ -270,6 +270,7 @@ "color": "색상", "comingSoon": "곧 출시 예정", "command": "명령", + "commandProhibited": "명령 {command}은 금지되었습니다. 자세한 정보는 관리자에게 문의하십시오.", "community": "커뮤니티", "completed": "완료됨", "confirm": "확인", @@ -628,6 +629,7 @@ "installationQueue": "설치 대기열", "lastUpdated": "마지막 업데이트", "latestVersion": "최신", + "legacyMenuNotAvailable": "이 버전의 ComfyUI에서는 레거시 매니저 메뉴를 사용할 수 없습니다. 대신 새로운 매니저 메뉴를 사용하십시오.", "license": "라이선스", "loadingVersions": "버전 로딩 중...", "nightlyVersion": "최신 테스트 버전(nightly)", @@ -734,6 +736,8 @@ "Contact Support": "고객 지원 문의", "Convert Selection to Subgraph": "선택 영역을 서브그래프로 변환", "Convert selected nodes to group node": "선택한 노드를 그룹 노드로 변환", + "Custom Nodes (Beta)": "사용자 정의 노드 (베타)", + "Custom Nodes (Legacy)": "사용자 정의 노드 (레거시)", "Delete Selected Items": "선택한 항목 삭제", "Desktop User Guide": "데스크톱 사용자 가이드", "Duplicate Current Workflow": "현재 워크플로 복제", @@ -752,6 +756,8 @@ "Move Selected Nodes Left": "선택한 노드 왼쪽으로 이동", "Move Selected Nodes Right": "선택한 노드 오른쪽으로 이동", "Move Selected Nodes Up": "선택한 노드 위로 이동", + "Manager": "매니저", + "Manager Menu (Legacy)": "매니저 메뉴 (레거시)", "Mute/Unmute Selected Nodes": "선택한 노드 활성화/비활성화", "New": "새로 만들기", "Next Opened Workflow": "다음 열린 워크플로", @@ -796,6 +802,8 @@ "Toggle the Custom Nodes Manager Progress Bar": "커스텀 노드 매니저 진행률 표시줄 전환", "Undo": "실행 취소", "Ungroup selected group nodes": "선택한 그룹 노드 그룹 해제", + "Unload Models": "모델 언로드", + "Unload Models and Execution Cache": "모델 및 실행 캐시 언로드", "Workflow": "워크플로", "Zoom In": "확대", "Zoom Out": "축소" diff --git a/src/locales/ru/commands.json b/src/locales/ru/commands.json index ff3ae1195a..8e881eccd2 100644 --- a/src/locales/ru/commands.json +++ b/src/locales/ru/commands.json @@ -152,8 +152,14 @@ "Comfy_LoadDefaultWorkflow": { "label": "Загрузить стандартный рабочий процесс" }, - "Comfy_Manager_CustomNodesManager": { - "label": "Менеджер Пользовательских Узлов" + "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { + "label": "Пользовательские узлы (Бета)" + }, + "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { + "label": "Пользовательские узлы (Устаревшие)" + }, + "Comfy_Manager_ShowLegacyManagerMenu": { + "label": "Меню менеджера (Устаревшее)" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Переключить диалоговое окно прогресса" @@ -161,6 +167,12 @@ "Comfy_MaskEditor_OpenMaskEditor": { "label": "Открыть редактор масок для выбранной ноды" }, + "Comfy_Memory_UnloadModels": { + "label": "Выгрузить модели" + }, + "Comfy_Memory_UnloadModelsAndExecutionCache": { + "label": "Выгрузить модели и кэш выполнения" + }, "Comfy_NewBlankWorkflow": { "label": "Новый пустой рабочий процесс" }, diff --git a/src/locales/ru/main.json b/src/locales/ru/main.json index bd75079e95..11eab9c322 100644 --- a/src/locales/ru/main.json +++ b/src/locales/ru/main.json @@ -270,6 +270,7 @@ "color": "Цвет", "comingSoon": "Скоро будет", "command": "Команда", + "commandProhibited": "Команда {command} запрещена. Свяжитесь с администратором для получения дополнительной информации.", "community": "Сообщество", "completed": "Завершено", "confirm": "Подтвердить", @@ -628,6 +629,7 @@ "installationQueue": "Очередь установки", "lastUpdated": "Последнее обновление", "latestVersion": "Последняя", + "legacyMenuNotAvailable": "Устаревшее меню менеджера недоступно в этой версии ComfyUI. Пожалуйста, используйте новое меню менеджера.", "license": "Лицензия", "loadingVersions": "Загрузка версий...", "nightlyVersion": "Ночная", @@ -734,6 +736,8 @@ "Contact Support": "Связаться с поддержкой", "Convert Selection to Subgraph": "Преобразовать выделенное в подграф", "Convert selected nodes to group node": "Преобразовать выбранные ноды в групповую ноду", + "Custom Nodes (Beta)": "Пользовательские узлы (Бета)", + "Custom Nodes (Legacy)": "Пользовательские узлы (Устаревшие)", "Delete Selected Items": "Удалить выбранные элементы", "Desktop User Guide": "Руководство пользователя для настольных ПК", "Duplicate Current Workflow": "Дублировать текущий рабочий процесс", @@ -752,6 +756,8 @@ "Move Selected Nodes Left": "Переместить выбранные узлы влево", "Move Selected Nodes Right": "Переместить выбранные узлы вправо", "Move Selected Nodes Up": "Переместить выбранные узлы вверх", + "Manager": "Менеджер", + "Manager Menu (Legacy)": "Меню менеджера (Устаревшее)", "Mute/Unmute Selected Nodes": "Отключить/включить звук для выбранных нод", "New": "Новый", "Next Opened Workflow": "Следующий открытый рабочий процесс", @@ -796,6 +802,8 @@ "Toggle the Custom Nodes Manager Progress Bar": "Переключить индикатор выполнения менеджера пользовательских узлов", "Undo": "Отменить", "Ungroup selected group nodes": "Разгруппировать выбранные групповые ноды", + "Unload Models": "Выгрузить модели", + "Unload Models and Execution Cache": "Выгрузить модели и кэш выполнения", "Workflow": "Рабочий процесс", "Zoom In": "Увеличить", "Zoom Out": "Уменьшить" diff --git a/src/locales/zh/commands.json b/src/locales/zh/commands.json index a0dfcc84c2..2c8dad12f4 100644 --- a/src/locales/zh/commands.json +++ b/src/locales/zh/commands.json @@ -152,8 +152,14 @@ "Comfy_LoadDefaultWorkflow": { "label": "加载默认工作流" }, - "Comfy_Manager_CustomNodesManager": { - "label": "自定义节点管理器" + "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { + "label": "自定义节点(测试版)" + }, + "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { + "label": "自定义节点(旧版)" + }, + "Comfy_Manager_ShowLegacyManagerMenu": { + "label": "管理菜单(旧版)" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "切换进度对话框" @@ -161,6 +167,12 @@ "Comfy_MaskEditor_OpenMaskEditor": { "label": "打开选中节点的遮罩编辑器" }, + "Comfy_Memory_UnloadModels": { + "label": "卸载模型" + }, + "Comfy_Memory_UnloadModelsAndExecutionCache": { + "label": "卸载模型和执行缓存" + }, "Comfy_NewBlankWorkflow": { "label": "新建空白工作流" }, diff --git a/src/locales/zh/main.json b/src/locales/zh/main.json index 8181ee0ede..2cf82dda4b 100644 --- a/src/locales/zh/main.json +++ b/src/locales/zh/main.json @@ -270,6 +270,7 @@ "color": "颜色", "comingSoon": "即将推出", "command": "指令", + "commandProhibited": "命令 {command} 被禁止。请联系管理员获取更多信息。", "community": "社区", "completed": "已完成", "confirm": "确认", @@ -628,6 +629,7 @@ "installationQueue": "安装队列", "lastUpdated": "最后更新", "latestVersion": "最新", + "legacyMenuNotAvailable": "在此版本的ComfyUI中,不提供旧版的管理器菜单。请使用新的管理器菜单。", "license": "许可证", "loadingVersions": "正在加载版本...", "nightlyVersion": "每夜", @@ -734,6 +736,8 @@ "Contact Support": "联系支持", "Convert Selection to Subgraph": "将选中内容转换为子图", "Convert selected nodes to group node": "将选中节点转换为组节点", + "Custom Nodes (Beta)": "自定义节点(测试版)", + "Custom Nodes (Legacy)": "自定义节点(旧版)", "Delete Selected Items": "删除选定的项目", "Desktop User Guide": "桌面端用户指南", "Duplicate Current Workflow": "复制当前工作流", @@ -752,6 +756,8 @@ "Move Selected Nodes Left": "左移所选节点", "Move Selected Nodes Right": "右移所选节点", "Move Selected Nodes Up": "上移所选节点", + "Manager": "管理器", + "Manager Menu (Legacy)": "管理器菜单(旧版)", "Mute/Unmute Selected Nodes": "静音/取消静音选定节点", "New": "新建", "Next Opened Workflow": "下一个打开的工作流", @@ -796,6 +802,8 @@ "Toggle the Custom Nodes Manager Progress Bar": "切换自定义节点管理器进度条", "Undo": "撤销", "Ungroup selected group nodes": "解散选中组节点", + "Unload Models": "卸载模型", + "Unload Models and Execution Cache": "卸载模型和执行缓存", "Workflow": "工作流", "Zoom In": "放大画面", "Zoom Out": "缩小画面" From de6ed34836f5ff5859b57003ab2ebc9bdbf88211 Mon Sep 17 00:00:00 2001 From: bymyself Date: Wed, 9 Apr 2025 14:50:56 -0700 Subject: [PATCH 03/43] switch to v2 manager API endpoints --- src/services/comfyManagerService.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/services/comfyManagerService.ts b/src/services/comfyManagerService.ts index b98be59583..17fc9eb44c 100644 --- a/src/services/comfyManagerService.ts +++ b/src/services/comfyManagerService.ts @@ -19,20 +19,20 @@ const GENERIC_SECURITY_ERR_MSG = * API routes for ComfyUI Manager */ enum ManagerRoute { - START_QUEUE = 'manager/queue/start', - RESET_QUEUE = 'manager/queue/reset', - QUEUE_STATUS = 'manager/queue/status', - INSTALL = 'manager/queue/install', - UPDATE = 'manager/queue/update', - UPDATE_ALL = 'manager/queue/update_all', - UNINSTALL = 'manager/queue/uninstall', - DISABLE = 'manager/queue/disable', - FIX_NODE = 'manager/queue/fix', - LIST_INSTALLED = 'customnode/installed', - GET_NODES = 'customnode/getmappings', - GET_PACKS = 'customnode/getlist', - IMPORT_FAIL_INFO = 'customnode/import_fail_info', - REBOOT = 'manager/reboot' + START_QUEUE = 'v2/manager/queue/start', + RESET_QUEUE = 'v2/manager/queue/reset', + QUEUE_STATUS = 'v2/manager/queue/status', + INSTALL = 'v2/manager/queue/install', + UPDATE = 'v2/manager/queue/update', + UPDATE_ALL = 'v2/manager/queue/update_all', + UNINSTALL = 'v2/manager/queue/uninstall', + DISABLE = 'v2/manager/queue/disable', + FIX_NODE = 'v2/manager/queue/fix', + LIST_INSTALLED = 'v2/customnode/installed', + GET_NODES = 'v2/customnode/getmappings', + GET_PACKS = 'v2/customnode/getlist', + IMPORT_FAIL_INFO = 'v2/customnode/import_fail_info', + REBOOT = 'v2/manager/reboot' } const managerApiClient = axios.create({ From 54a098103164da51720eddd3308c61da3ca80a44 Mon Sep 17 00:00:00 2001 From: bymyself Date: Thu, 10 Apr 2025 22:09:40 -0700 Subject: [PATCH 04/43] re-arrange menu items --- src/constants/coreMenuCommands.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/constants/coreMenuCommands.ts b/src/constants/coreMenuCommands.ts index 9fc0561ebb..cd0911ce18 100644 --- a/src/constants/coreMenuCommands.ts +++ b/src/constants/coreMenuCommands.ts @@ -11,17 +11,22 @@ export const CORE_MENU_COMMANDS = [ ] ], [['Edit'], ['Comfy.Undo', 'Comfy.Redo']], - [['Edit'], ['Comfy.RefreshNodeDefinitions']], + [ + ['Edit'], + [ + 'Comfy.RefreshNodeDefinitions', + 'Comfy.Memory.UnloadModels', + 'Comfy.Memory.UnloadModelsAndExecutionCache' + ] + ], [['Edit'], ['Comfy.ClearWorkflow']], [['Edit'], ['Comfy.OpenClipspace']], [ ['Manager'], [ - 'Comfy.Manager.ShowLegacyManagerMenu', - 'Comfy.Manager.CustomNodesManager.ShowLegacyCustomNodesMenu', 'Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu', - 'Comfy.Memory.UnloadModels', - 'Comfy.Memory.UnloadModelsAndExecutionCache' + 'Comfy.Manager.ShowLegacyManagerMenu', + 'Comfy.Manager.CustomNodesManager.ShowLegacyCustomNodesMenu' ] ], [ From eb5c49f67bed2a1a9a7a0a284441c23c21f3d0de Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 10:07:03 -0700 Subject: [PATCH 05/43] await promises. update settings schema --- src/composables/useCoreCommands.ts | 8 ++++---- src/schemas/apiSchema.ts | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index e3627658b5..69f415053c 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -764,9 +764,9 @@ export function useCoreCommands(): ComfyCommand[] { icon: 'pi pi-bars', label: 'Custom Nodes (Legacy)', versionAdded: '1.16.4', - function: () => { + function: async () => { try { - useCommandStore().execute( + await useCommandStore().execute( 'Comfy.Manager.CustomNodesManager.ToggleVisibility' ) } catch (error) { @@ -784,9 +784,9 @@ export function useCoreCommands(): ComfyCommand[] { icon: 'mdi mdi-puzzle', label: 'Manager Menu (Legacy)', versionAdded: '1.16.4', - function: () => { + function: async () => { try { - useCommandStore().execute('Comfy.Manager.Menu.ToggleVisibility') + await useCommandStore().execute('Comfy.Manager.Menu.ToggleVisibility') } catch (error) { useToastStore().add({ severity: 'error', diff --git a/src/schemas/apiSchema.ts b/src/schemas/apiSchema.ts index 12fbe2981c..0d2709d530 100644 --- a/src/schemas/apiSchema.ts +++ b/src/schemas/apiSchema.ts @@ -474,6 +474,7 @@ const zSettings = z.object({ 'Comfy.Load3D.LightIntensityMinimum': z.number(), 'Comfy.Load3D.LightAdjustmentIncrement': z.number(), 'Comfy.Load3D.CameraType': z.enum(['perspective', 'orthographic']), + 'Comfy.Memory.AllowManualUnload': z.boolean(), 'pysssss.SnapToGrid': z.boolean(), /** VHS setting is used for queue video preview support. */ 'VHS.AdvancedPreviews': z.string(), From aba2e5edfc8dfebc57a60377c4a3a3231acaaf9c Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 10:19:52 -0700 Subject: [PATCH 06/43] move legacy option to startup arg --- src/composables/useCoreCommands.ts | 23 +++++++++++++++++++++-- src/constants/coreMenuCommands.ts | 9 +-------- src/locales/en/main.json | 2 +- src/services/comfyManagerService.ts | 15 +++++++++++++-- 4 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index 69f415053c..3cd370a763 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -15,6 +15,7 @@ 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' @@ -665,8 +666,26 @@ export function useCoreCommands(): ComfyCommand[] { icon: 'pi pi-objects-column', label: 'Custom Nodes (Beta)', 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.showManagerDialog() + } + } else { + dialogService.showManagerDialog() + } } }, { diff --git a/src/constants/coreMenuCommands.ts b/src/constants/coreMenuCommands.ts index cd0911ce18..725ad95c64 100644 --- a/src/constants/coreMenuCommands.ts +++ b/src/constants/coreMenuCommands.ts @@ -21,14 +21,7 @@ export const CORE_MENU_COMMANDS = [ ], [['Edit'], ['Comfy.ClearWorkflow']], [['Edit'], ['Comfy.OpenClipspace']], - [ - ['Manager'], - [ - 'Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu', - 'Comfy.Manager.ShowLegacyManagerMenu', - 'Comfy.Manager.CustomNodesManager.ShowLegacyCustomNodesMenu' - ] - ], + [['Manager'], ['Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu']], [ ['Help'], [ diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 90be6ca737..42dab3eb0b 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -138,7 +138,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 17fc9eb44c..0e8f245acb 100644 --- a/src/services/comfyManagerService.ts +++ b/src/services/comfyManagerService.ts @@ -32,7 +32,8 @@ enum ManagerRoute { GET_NODES = 'v2/customnode/getmappings', GET_PACKS = 'v2/customnode/getlist', IMPORT_FAIL_INFO = 'v2/customnode/import_fail_info', - REBOOT = 'v2/manager/reboot' + REBOOT = 'v2/manager/reboot', + IS_LEGACY_MANAGER_UI = 'v2/manager/is_legacy_manager_ui' } const managerApiClient = axios.create({ @@ -247,6 +248,15 @@ export const useComfyManagerService = () => { ) } + const isLegacyManagerUI = async (signal?: AbortSignal) => { + const errorContext = 'Checking if user set Manager to use the legacy UI' + + return executeRequest( + () => managerApiClient.get(ManagerRoute.IS_LEGACY_MANAGER_UI, { signal }), + { errorContext } + ) + } + return { // State isLoading, @@ -268,6 +278,7 @@ export const useComfyManagerService = () => { updateAllPacks, // System operations - rebootComfyUI + rebootComfyUI, + isLegacyManagerUI } } From f8953a874d094c0b8dab25b500bd2c07bd45bd75 Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 10:33:11 -0700 Subject: [PATCH 07/43] Add banner indicating how to use legacy manager UI --- .../dialog/content/manager/ManagerHeader.vue | 10 ++++++++++ src/locales/en/main.json | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/components/dialog/content/manager/ManagerHeader.vue b/src/components/dialog/content/manager/ManagerHeader.vue index f6177c87b8..bd438b7048 100644 --- a/src/components/dialog/content/manager/ManagerHeader.vue +++ b/src/components/dialog/content/manager/ManagerHeader.vue @@ -4,6 +4,16 @@

{{ $t('manager.discoverCommunityContent') }}

+ diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 42dab3eb0b..e97bc57277 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -139,6 +139,8 @@ "manager": { "title": "Custom Nodes Manager", "legacyMenuNotAvailable": "Legacy manager menu is not available, defaulting to the new manager menu.", + "legacyManagerUI": "Use Legacy UI", + "legacyManagerUIDescription": "To use the legacy Manager UI, start ComfyUI with --enable-manager-legacy-ui", "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.", From e780e1d6d6dedc561ed3a7d41cee7e12317d11db Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 14 Apr 2025 17:36:52 +0000 Subject: [PATCH 08/43] Update locales [skip ci] --- src/locales/en/commands.json | 6 ------ src/locales/es/commands.json | 6 ------ src/locales/es/main.json | 4 ++-- src/locales/fr/commands.json | 6 ------ src/locales/fr/main.json | 4 ++-- src/locales/ja/commands.json | 6 ------ src/locales/ja/main.json | 4 ++-- src/locales/ko/commands.json | 6 ------ src/locales/ko/main.json | 4 ++-- src/locales/ru/commands.json | 6 ------ src/locales/ru/main.json | 4 ++-- src/locales/zh/commands.json | 6 ------ src/locales/zh/main.json | 4 ++-- 13 files changed, 12 insertions(+), 54 deletions(-) diff --git a/src/locales/en/commands.json b/src/locales/en/commands.json index 65c49a5041..c5180c1f2d 100644 --- a/src/locales/en/commands.json +++ b/src/locales/en/commands.json @@ -155,12 +155,6 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "Custom Nodes (Beta)" }, - "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { - "label": "Custom Nodes (Legacy)" - }, - "Comfy_Manager_ShowLegacyManagerMenu": { - "label": "Manager Menu (Legacy)" - }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Toggle the Custom Nodes Manager Progress Bar" }, diff --git a/src/locales/es/commands.json b/src/locales/es/commands.json index e20d7bd553..670de6c3e0 100644 --- a/src/locales/es/commands.json +++ b/src/locales/es/commands.json @@ -155,12 +155,6 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "Nodos personalizados (Beta)" }, - "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { - "label": "Nodos personalizados (Legacy)" - }, - "Comfy_Manager_ShowLegacyManagerMenu": { - "label": "Menú del administrador (Legacy)" - }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Alternar diálogo de progreso del administrador" }, diff --git a/src/locales/es/main.json b/src/locales/es/main.json index 17a39a237f..1dfdce8655 100644 --- a/src/locales/es/main.json +++ b/src/locales/es/main.json @@ -629,6 +629,8 @@ "installationQueue": "Cola de Instalación", "lastUpdated": "Última Actualización", "latestVersion": "Última", + "legacyManagerUI": "Usar UI antigua", + "legacyManagerUIDescription": "Para usar la UI antigua del Manager, inicia ComfyUI con --enable-manager-legacy-ui", "legacyMenuNotAvailable": "El menú del administrador antiguo no está disponible en esta versión de ComfyUI. Por favor, utiliza el nuevo menú del administrador en su lugar.", "license": "Licencia", "loadingVersions": "Cargando versiones...", @@ -737,7 +739,6 @@ "Convert Selection to Subgraph": "Convertir selección en subgrafo", "Convert selected nodes to group node": "Convertir nodos seleccionados en nodo de grupo", "Custom Nodes (Beta)": "Nodos personalizados (Beta)", - "Custom Nodes (Legacy)": "Nodos personalizados (Antiguo)", "Delete Selected Items": "Eliminar elementos seleccionados", "Desktop User Guide": "Guía de usuario de escritorio", "Duplicate Current Workflow": "Duplicar flujo de trabajo actual", @@ -757,7 +758,6 @@ "Move Selected Nodes Right": "Mover nodos seleccionados hacia la derecha", "Move Selected Nodes Up": "Mover nodos seleccionados hacia arriba", "Manager": "Administrador", - "Manager Menu (Legacy)": "Menú del administrador (Antiguo)", "Mute/Unmute Selected Nodes": "Silenciar/Activar sonido de nodos seleccionados", "New": "Nuevo", "Next Opened Workflow": "Siguiente flujo de trabajo abierto", diff --git a/src/locales/fr/commands.json b/src/locales/fr/commands.json index c77231f2b2..e46d317375 100644 --- a/src/locales/fr/commands.json +++ b/src/locales/fr/commands.json @@ -155,12 +155,6 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "Nœuds personnalisés (Beta)" }, - "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { - "label": "Nœuds personnalisés (Legacy)" - }, - "Comfy_Manager_ShowLegacyManagerMenu": { - "label": "Menu du gestionnaire (Legacy)" - }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Basculer la boîte de dialogue de progression" }, diff --git a/src/locales/fr/main.json b/src/locales/fr/main.json index 6849ad8054..d451f82842 100644 --- a/src/locales/fr/main.json +++ b/src/locales/fr/main.json @@ -629,6 +629,8 @@ "installationQueue": "File d'attente d'installation", "lastUpdated": "Dernière mise à jour", "latestVersion": "Dernière", + "legacyManagerUI": "Utiliser l'interface utilisateur héritée", + "legacyManagerUIDescription": "Pour utiliser l'interface utilisateur de gestion héritée, démarrez ComfyUI avec --enable-manager-legacy-ui", "legacyMenuNotAvailable": "Le menu du gestionnaire de l'ancienne version n'est pas disponible dans cette version de ComfyUI. Veuillez utiliser le nouveau menu du gestionnaire à la place.", "license": "Licence", "loadingVersions": "Chargement des versions...", @@ -737,7 +739,6 @@ "Convert Selection to Subgraph": "Convertir la sélection en sous-graphe", "Convert selected nodes to group node": "Convertir les nœuds sélectionnés en nœud de groupe", "Custom Nodes (Beta)": "Nœuds personnalisés (Beta)", - "Custom Nodes (Legacy)": "Nœuds personnalisés (Ancienne version)", "Delete Selected Items": "Supprimer les éléments sélectionnés", "Desktop User Guide": "Guide de l'utilisateur de bureau", "Duplicate Current Workflow": "Dupliquer le flux de travail actuel", @@ -757,7 +758,6 @@ "Move Selected Nodes Right": "Déplacer les nœuds sélectionnés vers la droite", "Move Selected Nodes Up": "Déplacer les nœuds sélectionnés vers le haut", "Manager": "Gestionnaire", - "Manager Menu (Legacy)": "Menu du gestionnaire (Ancienne version)", "Mute/Unmute Selected Nodes": "Mettre en sourdine/Activer le son des nœuds sélectionnés", "New": "Nouveau", "Next Opened Workflow": "Prochain flux de travail ouvert", diff --git a/src/locales/ja/commands.json b/src/locales/ja/commands.json index ce0d9848d5..09f2ba8025 100644 --- a/src/locales/ja/commands.json +++ b/src/locales/ja/commands.json @@ -155,12 +155,6 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "カスタムノード(ベータ版)" }, - "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { - "label": "カスタムノード(レガシー)" - }, - "Comfy_Manager_ShowLegacyManagerMenu": { - "label": "マネージャーメニュー(レガシー)" - }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "プログレスダイアログの切り替え" }, diff --git a/src/locales/ja/main.json b/src/locales/ja/main.json index 989664f5cf..5cf89f94a8 100644 --- a/src/locales/ja/main.json +++ b/src/locales/ja/main.json @@ -629,6 +629,8 @@ "installationQueue": "インストールキュー", "lastUpdated": "最終更新日", "latestVersion": "最新", + "legacyManagerUI": "レガシーUIを使用する", + "legacyManagerUIDescription": "レガシーManager UIを使用するには、--enable-manager-legacy-uiを付けてComfyUIを起動してください", "legacyMenuNotAvailable": "このバージョンのComfyUIでは、レガシーマネージャーメニューは利用できません。新しいマネージャーメニューを使用してください。", "license": "ライセンス", "loadingVersions": "バージョンを読み込んでいます...", @@ -737,7 +739,6 @@ "Convert Selection to Subgraph": "選択範囲をサブグラフに変換", "Convert selected nodes to group node": "選択したノードをグループノードに変換", "Custom Nodes (Beta)": "カスタムノード(ベータ)", - "Custom Nodes (Legacy)": "カスタムノード(レガシー)", "Delete Selected Items": "選択したアイテムを削除", "Desktop User Guide": "デスクトップユーザーガイド", "Duplicate Current Workflow": "現在のワークフローを複製", @@ -757,7 +758,6 @@ "Move Selected Nodes Right": "選択したノードを右へ移動", "Move Selected Nodes Up": "選択したノードを上へ移動", "Manager": "マネージャー", - "Manager Menu (Legacy)": "マネージャーメニュー(レガシー)", "Mute/Unmute Selected Nodes": "選択したノードのミュート/ミュート解除", "New": "新規", "Next Opened Workflow": "次に開いたワークフロー", diff --git a/src/locales/ko/commands.json b/src/locales/ko/commands.json index bb5dc7d51f..d93a80904d 100644 --- a/src/locales/ko/commands.json +++ b/src/locales/ko/commands.json @@ -155,12 +155,6 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "사용자 정의 노드 (베타)" }, - "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { - "label": "사용자 정의 노드 (레거시)" - }, - "Comfy_Manager_ShowLegacyManagerMenu": { - "label": "매니저 메뉴 (레거시)" - }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "진행 상황 대화 상자 전환" }, diff --git a/src/locales/ko/main.json b/src/locales/ko/main.json index cd1d1beabb..cac430464a 100644 --- a/src/locales/ko/main.json +++ b/src/locales/ko/main.json @@ -629,6 +629,8 @@ "installationQueue": "설치 대기열", "lastUpdated": "마지막 업데이트", "latestVersion": "최신", + "legacyManagerUI": "레거시 UI 사용", + "legacyManagerUIDescription": "레거시 매니저 UI를 사용하려면, ComfyUI를 --enable-manager-legacy-ui로 시작하세요", "legacyMenuNotAvailable": "이 버전의 ComfyUI에서는 레거시 매니저 메뉴를 사용할 수 없습니다. 대신 새로운 매니저 메뉴를 사용하십시오.", "license": "라이선스", "loadingVersions": "버전 로딩 중...", @@ -737,7 +739,6 @@ "Convert Selection to Subgraph": "선택 영역을 서브그래프로 변환", "Convert selected nodes to group node": "선택한 노드를 그룹 노드로 변환", "Custom Nodes (Beta)": "사용자 정의 노드 (베타)", - "Custom Nodes (Legacy)": "사용자 정의 노드 (레거시)", "Delete Selected Items": "선택한 항목 삭제", "Desktop User Guide": "데스크톱 사용자 가이드", "Duplicate Current Workflow": "현재 워크플로 복제", @@ -757,7 +758,6 @@ "Move Selected Nodes Right": "선택한 노드 오른쪽으로 이동", "Move Selected Nodes Up": "선택한 노드 위로 이동", "Manager": "매니저", - "Manager Menu (Legacy)": "매니저 메뉴 (레거시)", "Mute/Unmute Selected Nodes": "선택한 노드 활성화/비활성화", "New": "새로 만들기", "Next Opened Workflow": "다음 열린 워크플로", diff --git a/src/locales/ru/commands.json b/src/locales/ru/commands.json index 8e881eccd2..0f070956aa 100644 --- a/src/locales/ru/commands.json +++ b/src/locales/ru/commands.json @@ -155,12 +155,6 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "Пользовательские узлы (Бета)" }, - "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { - "label": "Пользовательские узлы (Устаревшие)" - }, - "Comfy_Manager_ShowLegacyManagerMenu": { - "label": "Меню менеджера (Устаревшее)" - }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Переключить диалоговое окно прогресса" }, diff --git a/src/locales/ru/main.json b/src/locales/ru/main.json index 11eab9c322..bab825d1fc 100644 --- a/src/locales/ru/main.json +++ b/src/locales/ru/main.json @@ -629,6 +629,8 @@ "installationQueue": "Очередь установки", "lastUpdated": "Последнее обновление", "latestVersion": "Последняя", + "legacyManagerUI": "Использовать устаревший UI", + "legacyManagerUIDescription": "Чтобы использовать устаревший UI менеджера, запустите ComfyUI с --enable-manager-legacy-ui", "legacyMenuNotAvailable": "Устаревшее меню менеджера недоступно в этой версии ComfyUI. Пожалуйста, используйте новое меню менеджера.", "license": "Лицензия", "loadingVersions": "Загрузка версий...", @@ -737,7 +739,6 @@ "Convert Selection to Subgraph": "Преобразовать выделенное в подграф", "Convert selected nodes to group node": "Преобразовать выбранные ноды в групповую ноду", "Custom Nodes (Beta)": "Пользовательские узлы (Бета)", - "Custom Nodes (Legacy)": "Пользовательские узлы (Устаревшие)", "Delete Selected Items": "Удалить выбранные элементы", "Desktop User Guide": "Руководство пользователя для настольных ПК", "Duplicate Current Workflow": "Дублировать текущий рабочий процесс", @@ -757,7 +758,6 @@ "Move Selected Nodes Right": "Переместить выбранные узлы вправо", "Move Selected Nodes Up": "Переместить выбранные узлы вверх", "Manager": "Менеджер", - "Manager Menu (Legacy)": "Меню менеджера (Устаревшее)", "Mute/Unmute Selected Nodes": "Отключить/включить звук для выбранных нод", "New": "Новый", "Next Opened Workflow": "Следующий открытый рабочий процесс", diff --git a/src/locales/zh/commands.json b/src/locales/zh/commands.json index 2c8dad12f4..af1ba868d5 100644 --- a/src/locales/zh/commands.json +++ b/src/locales/zh/commands.json @@ -155,12 +155,6 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "自定义节点(测试版)" }, - "Comfy_Manager_CustomNodesManager_ShowLegacyCustomNodesMenu": { - "label": "自定义节点(旧版)" - }, - "Comfy_Manager_ShowLegacyManagerMenu": { - "label": "管理菜单(旧版)" - }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "切换进度对话框" }, diff --git a/src/locales/zh/main.json b/src/locales/zh/main.json index 2cf82dda4b..4f96673fc1 100644 --- a/src/locales/zh/main.json +++ b/src/locales/zh/main.json @@ -629,6 +629,8 @@ "installationQueue": "安装队列", "lastUpdated": "最后更新", "latestVersion": "最新", + "legacyManagerUI": "使用旧版UI", + "legacyManagerUIDescription": "要使用旧版的管理器UI,请启动ComfyUI并使用 --enable-manager-legacy-ui", "legacyMenuNotAvailable": "在此版本的ComfyUI中,不提供旧版的管理器菜单。请使用新的管理器菜单。", "license": "许可证", "loadingVersions": "正在加载版本...", @@ -737,7 +739,6 @@ "Convert Selection to Subgraph": "将选中内容转换为子图", "Convert selected nodes to group node": "将选中节点转换为组节点", "Custom Nodes (Beta)": "自定义节点(测试版)", - "Custom Nodes (Legacy)": "自定义节点(旧版)", "Delete Selected Items": "删除选定的项目", "Desktop User Guide": "桌面端用户指南", "Duplicate Current Workflow": "复制当前工作流", @@ -757,7 +758,6 @@ "Move Selected Nodes Right": "右移所选节点", "Move Selected Nodes Up": "上移所选节点", "Manager": "管理器", - "Manager Menu (Legacy)": "管理器菜单(旧版)", "Mute/Unmute Selected Nodes": "静音/取消静音选定节点", "New": "新建", "Next Opened Workflow": "下一个打开的工作流", From b01056e31fd2455f7c15110057fc3809487b4c02 Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 10:43:24 -0700 Subject: [PATCH 09/43] add "Check for Updates", "Install Missing" menu items --- src/composables/useCoreCommands.ts | 25 ++++++++++++++++++++++++- src/constants/coreMenuCommands.ts | 9 ++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index 3cd370a763..ec6ccc17df 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -31,6 +31,7 @@ import { useBottomPanelStore } from '@/stores/workspace/bottomPanelStore' import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore' import { useSearchBoxStore } from '@/stores/workspace/searchBoxStore' import { useWorkspaceStore } from '@/stores/workspaceStore' +import { ManagerTab } from '@/types/comfyManagerTypes' const moveSelectedNodesVersionAdded = '1.22.2' @@ -664,7 +665,7 @@ export function useCoreCommands(): ComfyCommand[] { { id: 'Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu', icon: 'pi pi-objects-column', - label: 'Custom Nodes (Beta)', + label: 'Custom Nodes Manager', versionAdded: '1.12.10', function: async () => { const isLegacyManagerUI = @@ -688,6 +689,28 @@ export function useCoreCommands(): ComfyCommand[] { } } }, + { + id: 'Comfy.Manager.ShowUpdateAvailablePacks', + icon: 'pi pi-sync', + label: 'Check for Updates', + versionAdded: '1.17.0', + function: () => { + dialogService.showManagerDialog({ + initialTab: ManagerTab.UpdateAvailable + }) + } + }, + { + id: 'Comfy.Manager.ShowMissingPacks', + icon: 'pi pi-exclamation-circle', + label: 'Install Missing', + versionAdded: '1.17.0', + function: () => { + dialogService.showManagerDialog({ + initialTab: ManagerTab.Missing + }) + } + }, { id: 'Comfy.Manager.ToggleManagerProgressDialog', icon: 'pi pi-spinner', diff --git a/src/constants/coreMenuCommands.ts b/src/constants/coreMenuCommands.ts index 725ad95c64..46fb6265e7 100644 --- a/src/constants/coreMenuCommands.ts +++ b/src/constants/coreMenuCommands.ts @@ -21,7 +21,14 @@ export const CORE_MENU_COMMANDS = [ ], [['Edit'], ['Comfy.ClearWorkflow']], [['Edit'], ['Comfy.OpenClipspace']], - [['Manager'], ['Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu']], + [ + ['Manager'], + [ + 'Comfy.Manager.CustomNodesManager.ShowCustomNodesMenu', + 'Comfy.Manager.ShowMissingPacks', + 'Comfy.Manager.ShowUpdateAvailablePacks' + ] + ], [ ['Help'], [ From bdd123090202712086ba83a507cea2822a699bdd Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 14 Apr 2025 17:47:46 +0000 Subject: [PATCH 10/43] Update locales [skip ci] --- src/locales/en/commands.json | 8 +++++++- src/locales/en/main.json | 2 ++ src/locales/es/commands.json | 6 ++++++ src/locales/es/main.json | 3 ++- src/locales/fr/commands.json | 6 ++++++ src/locales/fr/main.json | 5 +++-- src/locales/ja/commands.json | 6 ++++++ src/locales/ja/main.json | 5 +++-- src/locales/ko/commands.json | 6 ++++++ src/locales/ko/main.json | 3 ++- src/locales/ru/commands.json | 6 ++++++ src/locales/ru/main.json | 5 +++-- src/locales/zh/commands.json | 6 ++++++ src/locales/zh/main.json | 3 ++- 14 files changed, 60 insertions(+), 10 deletions(-) diff --git a/src/locales/en/commands.json b/src/locales/en/commands.json index c5180c1f2d..74d7390625 100644 --- a/src/locales/en/commands.json +++ b/src/locales/en/commands.json @@ -153,7 +153,13 @@ "label": "Load Default Workflow" }, "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { - "label": "Custom Nodes (Beta)" + "label": "Custom Nodes Manager" + }, + "Comfy_Manager_ShowMissingPacks": { + "label": "Install Missing" + }, + "Comfy_Manager_ShowUpdateAvailablePacks": { + "label": "Check for Updates" }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Toggle the Custom Nodes Manager Progress Bar" diff --git a/src/locales/en/main.json b/src/locales/en/main.json index e97bc57277..025d18add1 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -976,6 +976,8 @@ "Custom Nodes (Beta)": "Custom Nodes (Beta)", "Custom Nodes (Legacy)": "Custom Nodes (Legacy)", "Manager Menu (Legacy)": "Manager Menu (Legacy)", + "Custom Nodes Manager": "Custom Nodes Manager", + "Install Missing": "Install Missing", "Toggle Progress Dialog": "Toggle Progress Dialog", "Unload Models": "Unload Models", "Unload Models and Execution Cache": "Unload Models and Execution Cache", diff --git a/src/locales/es/commands.json b/src/locales/es/commands.json index 670de6c3e0..3332d677ed 100644 --- a/src/locales/es/commands.json +++ b/src/locales/es/commands.json @@ -155,6 +155,12 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "Nodos personalizados (Beta)" }, + "Comfy_Manager_ShowMissingPacks": { + "label": "Instalar faltantes" + }, + "Comfy_Manager_ShowUpdateAvailablePacks": { + "label": "Buscar actualizaciones" + }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Alternar diálogo de progreso del administrador" }, diff --git a/src/locales/es/main.json b/src/locales/es/main.json index 1dfdce8655..6c0bee2d22 100644 --- a/src/locales/es/main.json +++ b/src/locales/es/main.json @@ -738,7 +738,7 @@ "Contact Support": "Contactar soporte", "Convert Selection to Subgraph": "Convertir selección en subgrafo", "Convert selected nodes to group node": "Convertir nodos seleccionados en nodo de grupo", - "Custom Nodes (Beta)": "Nodos personalizados (Beta)", + "Custom Nodes Manager": "Administrador de Nodos Personalizados", "Delete Selected Items": "Eliminar elementos seleccionados", "Desktop User Guide": "Guía de usuario de escritorio", "Duplicate Current Workflow": "Duplicar flujo de trabajo actual", @@ -750,6 +750,7 @@ "Give Feedback": "Dar retroalimentación", "Group Selected Nodes": "Agrupar nodos seleccionados", "Help": "Ayuda", + "Install Missing": "Instalar Faltantes", "Interrupt": "Interrumpir", "Load Default Workflow": "Cargar flujo de trabajo predeterminado", "Manage group nodes": "Gestionar nodos de grupo", diff --git a/src/locales/fr/commands.json b/src/locales/fr/commands.json index e46d317375..b1ee2444f4 100644 --- a/src/locales/fr/commands.json +++ b/src/locales/fr/commands.json @@ -155,6 +155,12 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "Nœuds personnalisés (Beta)" }, + "Comfy_Manager_ShowMissingPacks": { + "label": "Installer manquants" + }, + "Comfy_Manager_ShowUpdateAvailablePacks": { + "label": "Vérifier les mises à jour" + }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Basculer la boîte de dialogue de progression" }, diff --git a/src/locales/fr/main.json b/src/locales/fr/main.json index d451f82842..7908050573 100644 --- a/src/locales/fr/main.json +++ b/src/locales/fr/main.json @@ -725,7 +725,7 @@ "Bypass/Unbypass Selected Nodes": "Contourner/Ne pas contourner les nœuds sélectionnés", "Canvas Toggle Link Visibility": "Basculer la visibilité du lien de la toile", "Canvas Toggle Lock": "Basculer le verrouillage de la toile", - "Check for Updates": "Vérifier les mises à jour", + "Check for Updates": "Vérifier les Mises à Jour", "Clear Pending Tasks": "Effacer les tâches en attente", "Clear Workflow": "Effacer le flux de travail", "Clipspace": "Espace de clip", @@ -738,7 +738,7 @@ "Contact Support": "Contacter le support", "Convert Selection to Subgraph": "Convertir la sélection en sous-graphe", "Convert selected nodes to group node": "Convertir les nœuds sélectionnés en nœud de groupe", - "Custom Nodes (Beta)": "Nœuds personnalisés (Beta)", + "Custom Nodes Manager": "Gestionnaire de Nœuds Personnalisés", "Delete Selected Items": "Supprimer les éléments sélectionnés", "Desktop User Guide": "Guide de l'utilisateur de bureau", "Duplicate Current Workflow": "Dupliquer le flux de travail actuel", @@ -750,6 +750,7 @@ "Give Feedback": "Donnez votre avis", "Group Selected Nodes": "Grouper les nœuds sélectionnés", "Help": "Aide", + "Install Missing": "Installer Manquants", "Interrupt": "Interrompre", "Load Default Workflow": "Charger le flux de travail par défaut", "Manage group nodes": "Gérer les nœuds de groupe", diff --git a/src/locales/ja/commands.json b/src/locales/ja/commands.json index 09f2ba8025..0dbc17341c 100644 --- a/src/locales/ja/commands.json +++ b/src/locales/ja/commands.json @@ -155,6 +155,12 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "カスタムノード(ベータ版)" }, + "Comfy_Manager_ShowMissingPacks": { + "label": "不足しているパックをインストール" + }, + "Comfy_Manager_ShowUpdateAvailablePacks": { + "label": "更新を確認" + }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "プログレスダイアログの切り替え" }, diff --git a/src/locales/ja/main.json b/src/locales/ja/main.json index 5cf89f94a8..46d43b31ac 100644 --- a/src/locales/ja/main.json +++ b/src/locales/ja/main.json @@ -725,7 +725,7 @@ "Bypass/Unbypass Selected Nodes": "選択したノードのバイパス/バイパス解除", "Canvas Toggle Link Visibility": "キャンバスのリンク表示を切り替え", "Canvas Toggle Lock": "キャンバスのロックを切り替え", - "Check for Updates": "更新を確認する", + "Check for Updates": "更新を確認", "Clear Pending Tasks": "保留中のタスクをクリア", "Clear Workflow": "ワークフローをクリア", "Clipspace": "クリップスペース", @@ -738,7 +738,7 @@ "Contact Support": "サポートに連絡", "Convert Selection to Subgraph": "選択範囲をサブグラフに変換", "Convert selected nodes to group node": "選択したノードをグループノードに変換", - "Custom Nodes (Beta)": "カスタムノード(ベータ)", + "Custom Nodes Manager": "カスタムノードマネージャ", "Delete Selected Items": "選択したアイテムを削除", "Desktop User Guide": "デスクトップユーザーガイド", "Duplicate Current Workflow": "現在のワークフローを複製", @@ -750,6 +750,7 @@ "Give Feedback": "フィードバックを送る", "Group Selected Nodes": "選択したノードをグループ化", "Help": "ヘルプ", + "Install Missing": "不足しているものをインストール", "Interrupt": "中断", "Load Default Workflow": "デフォルトワークフローを読み込む", "Manage group nodes": "グループノードを管理", diff --git a/src/locales/ko/commands.json b/src/locales/ko/commands.json index d93a80904d..4aa99e5dc1 100644 --- a/src/locales/ko/commands.json +++ b/src/locales/ko/commands.json @@ -155,6 +155,12 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "사용자 정의 노드 (베타)" }, + "Comfy_Manager_ShowMissingPacks": { + "label": "누락된 팩 설치" + }, + "Comfy_Manager_ShowUpdateAvailablePacks": { + "label": "업데이트 확인" + }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "진행 상황 대화 상자 전환" }, diff --git a/src/locales/ko/main.json b/src/locales/ko/main.json index cac430464a..20ca07bc57 100644 --- a/src/locales/ko/main.json +++ b/src/locales/ko/main.json @@ -738,7 +738,7 @@ "Contact Support": "고객 지원 문의", "Convert Selection to Subgraph": "선택 영역을 서브그래프로 변환", "Convert selected nodes to group node": "선택한 노드를 그룹 노드로 변환", - "Custom Nodes (Beta)": "사용자 정의 노드 (베타)", + "Custom Nodes Manager": "사용자 정의 노드 관리자", "Delete Selected Items": "선택한 항목 삭제", "Desktop User Guide": "데스크톱 사용자 가이드", "Duplicate Current Workflow": "현재 워크플로 복제", @@ -750,6 +750,7 @@ "Give Feedback": "피드백 제공", "Group Selected Nodes": "선택한 노드 그룹화", "Help": "도움말", + "Install Missing": "누락된 설치", "Interrupt": "중단", "Load Default Workflow": "기본 워크플로 불러오기", "Manage group nodes": "그룹 노드 관리", diff --git a/src/locales/ru/commands.json b/src/locales/ru/commands.json index 0f070956aa..8ca8b4dfac 100644 --- a/src/locales/ru/commands.json +++ b/src/locales/ru/commands.json @@ -155,6 +155,12 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "Пользовательские узлы (Бета)" }, + "Comfy_Manager_ShowMissingPacks": { + "label": "Установить отсутствующие" + }, + "Comfy_Manager_ShowUpdateAvailablePacks": { + "label": "Проверить наличие обновлений" + }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "Переключить диалоговое окно прогресса" }, diff --git a/src/locales/ru/main.json b/src/locales/ru/main.json index bab825d1fc..199cd847d2 100644 --- a/src/locales/ru/main.json +++ b/src/locales/ru/main.json @@ -725,7 +725,7 @@ "Bypass/Unbypass Selected Nodes": "Обойти/восстановить выбранные ноды", "Canvas Toggle Link Visibility": "Переключение видимости ссылки на холст", "Canvas Toggle Lock": "Переключение блокировки холста", - "Check for Updates": "Проверить наличие обновлений", + "Check for Updates": "Проверить Обновления", "Clear Pending Tasks": "Очистить ожидающие задачи", "Clear Workflow": "Очистить рабочий процесс", "Clipspace": "Клиппространство", @@ -738,7 +738,7 @@ "Contact Support": "Связаться с поддержкой", "Convert Selection to Subgraph": "Преобразовать выделенное в подграф", "Convert selected nodes to group node": "Преобразовать выбранные ноды в групповую ноду", - "Custom Nodes (Beta)": "Пользовательские узлы (Бета)", + "Custom Nodes Manager": "Менеджер Пользовательских Узлов", "Delete Selected Items": "Удалить выбранные элементы", "Desktop User Guide": "Руководство пользователя для настольных ПК", "Duplicate Current Workflow": "Дублировать текущий рабочий процесс", @@ -750,6 +750,7 @@ "Give Feedback": "Оставить отзыв", "Group Selected Nodes": "Сгруппировать выбранные ноды", "Help": "Помощь", + "Install Missing": "Установить Отсутствующие", "Interrupt": "Прервать", "Load Default Workflow": "Загрузить стандартный рабочий процесс", "Manage group nodes": "Управление групповыми нодами", diff --git a/src/locales/zh/commands.json b/src/locales/zh/commands.json index af1ba868d5..a5bdd71825 100644 --- a/src/locales/zh/commands.json +++ b/src/locales/zh/commands.json @@ -155,6 +155,12 @@ "Comfy_Manager_CustomNodesManager_ShowCustomNodesMenu": { "label": "自定义节点(测试版)" }, + "Comfy_Manager_ShowMissingPacks": { + "label": "安装缺失的包" + }, + "Comfy_Manager_ShowUpdateAvailablePacks": { + "label": "检查更新" + }, "Comfy_Manager_ToggleManagerProgressDialog": { "label": "切换进度对话框" }, diff --git a/src/locales/zh/main.json b/src/locales/zh/main.json index 4f96673fc1..ee112a555a 100644 --- a/src/locales/zh/main.json +++ b/src/locales/zh/main.json @@ -738,7 +738,7 @@ "Contact Support": "联系支持", "Convert Selection to Subgraph": "将选中内容转换为子图", "Convert selected nodes to group node": "将选中节点转换为组节点", - "Custom Nodes (Beta)": "自定义节点(测试版)", + "Custom Nodes Manager": "自定义节点管理器", "Delete Selected Items": "删除选定的项目", "Desktop User Guide": "桌面端用户指南", "Duplicate Current Workflow": "复制当前工作流", @@ -750,6 +750,7 @@ "Give Feedback": "提供反馈", "Group Selected Nodes": "将选中节点转换为组节点", "Help": "帮助", + "Install Missing": "安装缺失", "Interrupt": "中断", "Load Default Workflow": "加载默认工作流", "Manage group nodes": "管理组节点", From 1aee43425a22581bff575a90b14ed689c879a7bb Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 16:22:45 -0700 Subject: [PATCH 11/43] use correct response shape --- src/composables/useCoreCommands.ts | 7 ++++--- src/services/comfyManagerService.ts | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index ec6ccc17df..994be9f9e6 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -668,9 +668,10 @@ export function useCoreCommands(): ComfyCommand[] { label: 'Custom Nodes Manager', versionAdded: '1.12.10', function: async () => { - const isLegacyManagerUI = - await useComfyManagerService().isLegacyManagerUI() - if (isLegacyManagerUI) { + const { is_legacy_manager_ui } = + (await useComfyManagerService().isLegacyManagerUI()) ?? {} + + if (is_legacy_manager_ui === true) { try { await useCommandStore().execute( 'Comfy.Manager.Menu.ToggleVisibility' // This command is registered by legacy manager FE extension diff --git a/src/services/comfyManagerService.ts b/src/services/comfyManagerService.ts index 0e8f245acb..79f2dd132b 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( + return executeRequest<{ is_legacy_manager_ui: boolean }>( () => managerApiClient.get(ManagerRoute.IS_LEGACY_MANAGER_UI, { signal }), { errorContext } ) From f1610db470548acf931ca4b9b909eb85dcc90823 Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 16:29:03 -0700 Subject: [PATCH 12/43] improve command names --- src/composables/useCoreCommands.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index 994be9f9e6..c2c643a014 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -677,6 +677,7 @@ export function useCoreCommands(): ComfyCommand[] { 'Comfy.Manager.Menu.ToggleVisibility' // This command is registered by legacy manager FE extension ) } catch (error) { + console.error('error', error) useToastStore().add({ severity: 'error', summary: t('g.error'), @@ -693,7 +694,7 @@ export function useCoreCommands(): ComfyCommand[] { { id: 'Comfy.Manager.ShowUpdateAvailablePacks', icon: 'pi pi-sync', - label: 'Check for Updates', + label: 'Check for Custom Node Updates', versionAdded: '1.17.0', function: () => { dialogService.showManagerDialog({ @@ -704,7 +705,7 @@ export function useCoreCommands(): ComfyCommand[] { { id: 'Comfy.Manager.ShowMissingPacks', icon: 'pi pi-exclamation-circle', - label: 'Install Missing', + label: 'Install Missing Custom Nodes', versionAdded: '1.17.0', function: () => { dialogService.showManagerDialog({ From 4f9470751df0cd15e4d3bc073bba530ebff0a8c5 Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 14 Apr 2025 17:46:03 -0700 Subject: [PATCH 13/43] dont show missing nodes button in legacy manager mode --- .../dialog/content/LoadWorkflowWarning.vue | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/components/dialog/content/LoadWorkflowWarning.vue b/src/components/dialog/content/LoadWorkflowWarning.vue index 201c6d2423..2152aca50f 100644 --- a/src/components/dialog/content/LoadWorkflowWarning.vue +++ b/src/components/dialog/content/LoadWorkflowWarning.vue @@ -31,7 +31,7 @@ -
+
import Button from 'primevue/button' import ListBox from 'primevue/listbox' -import { computed } from 'vue' +import { computed, onMounted, ref } from 'vue' import NoResultsPlaceholder from '@/components/common/NoResultsPlaceholder.vue' -import MissingCoreNodesMessage from '@/components/dialog/content/MissingCoreNodesMessage.vue' -import PackInstallButton from '@/components/dialog/content/manager/button/PackInstallButton.vue' import { useMissingNodes } from '@/composables/nodePack/useMissingNodes' +import { useComfyManagerService } from '@/services/comfyManagerService' import { useDialogService } from '@/services/dialogService' -import { useAboutPanelStore } from '@/stores/aboutPanelStore' import type { MissingNodeType } from '@/types/comfy' import { ManagerTab } from '@/types/comfyManagerTypes' @@ -60,22 +58,11 @@ const props = defineProps<{ missingNodeTypes: MissingNodeType[] }>() -const aboutPanelStore = useAboutPanelStore() - // Get missing node packs from workflow with loading and error states const { missingNodePacks, isLoading, error, missingCoreNodes } = useMissingNodes() -// Determines if ComfyUI-Manager is installed by checking for its badge in the about panel -// This allows us to conditionally show the Manager button only when the extension is available -// TODO: Remove this check when Manager functionality is fully migrated into core -const isManagerInstalled = computed(() => { - return aboutPanelStore.badges.some( - (badge) => - badge.label.includes('ComfyUI-Manager') || - badge.url.includes('ComfyUI-Manager') - ) -}) +const isLegacyManager = ref(false) const uniqueNodes = computed(() => { const seenTypes = new Set() @@ -103,6 +90,13 @@ const openManager = () => { initialTab: ManagerTab.Missing }) } + +onMounted(async () => { + const isLegacyResponse = await useComfyManagerService().isLegacyManagerUI() + if (isLegacyResponse?.is_legacy_manager_ui) { + isLegacyManager.value = true + } +}) diff --git a/src/components/dialog/footer/ManagerProgressFooter.vue b/src/components/dialog/footer/ManagerProgressFooter.vue index a99456751d..ce259a2c82 100644 --- a/src/components/dialog/footer/ManagerProgressFooter.vue +++ b/src/components/dialog/footer/ManagerProgressFooter.vue @@ -1,41 +1,44 @@