From 39df4ac9da8f8c03519badb5cc62c5c09686c7aa Mon Sep 17 00:00:00 2001 From: snomiao Date: Wed, 13 Aug 2025 23:35:45 +0900 Subject: [PATCH 1/8] [feat] Add Linux core dump to .gitignore (#4960) Co-authored-by: Claude Co-authored-by: github-actions --- .gitignore | 5 ++++- src/locales/ar/commands.json | 3 +++ src/locales/ar/main.json | 1 + src/locales/en/commands.json | 6 +++--- src/locales/en/main.json | 1 + src/locales/es/commands.json | 3 +++ src/locales/es/main.json | 1 + src/locales/fr/commands.json | 3 +++ src/locales/fr/main.json | 1 + src/locales/ja/commands.json | 3 +++ src/locales/ja/main.json | 1 + src/locales/ko/commands.json | 3 +++ src/locales/ko/main.json | 1 + src/locales/ru/commands.json | 3 +++ src/locales/ru/main.json | 1 + src/locales/zh-TW/commands.json | 3 +++ src/locales/zh-TW/main.json | 1 + src/locales/zh/commands.json | 3 +++ src/locales/zh/main.json | 1 + 19 files changed, 40 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index a5347cd65..bee3e8317 100644 --- a/.gitignore +++ b/.gitignore @@ -61,5 +61,8 @@ dist.zip # Temporary repository directory templates_repo/ -# Vite’s timestamped config modules +# Vite's timestamped config modules vite.config.mts.timestamp-*.mjs + +# Linux core dumps +./core diff --git a/src/locales/ar/commands.json b/src/locales/ar/commands.json index da2a33980..6c323c639 100644 --- a/src/locales/ar/commands.json +++ b/src/locales/ar/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "تجميع العقد المحددة" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "فك التفرع الفرعي المحدد" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "تحويل العقد المحددة إلى عقدة مجموعة" }, diff --git a/src/locales/ar/main.json b/src/locales/ar/main.json index 1d60488a9..5862980c4 100644 --- a/src/locales/ar/main.json +++ b/src/locales/ar/main.json @@ -849,6 +849,7 @@ "Toggle the Custom Nodes Manager Progress Bar": "تبديل شريط تقدم مدير العقد المخصصة", "Undo": "تراجع", "Ungroup selected group nodes": "فك تجميع عقد المجموعة المحددة", + "Unpack the selected Subgraph": "فك تجميع الرسم البياني الفرعي المحدد", "Workflow": "سير العمل", "Zoom In": "تكبير", "Zoom Out": "تصغير" diff --git a/src/locales/en/commands.json b/src/locales/en/commands.json index 51903a0b6..fdf8c3bd7 100644 --- a/src/locales/en/commands.json +++ b/src/locales/en/commands.json @@ -125,15 +125,15 @@ "Comfy_Graph_ExitSubgraph": { "label": "Exit Subgraph" }, - "Comfy_Graph_UnpackSubgraph": { - "label": "Unpack the selected Subgraph" - }, "Comfy_Graph_FitGroupToContents": { "label": "Fit Group To Contents" }, "Comfy_Graph_GroupSelectedNodes": { "label": "Group Selected Nodes" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "Unpack the selected Subgraph" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "Convert selected nodes to group node" }, diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 1b1f71f10..3c933f773 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -979,6 +979,7 @@ "Exit Subgraph": "Exit Subgraph", "Fit Group To Contents": "Fit Group To Contents", "Group Selected Nodes": "Group Selected Nodes", + "Unpack the selected Subgraph": "Unpack the selected Subgraph", "Convert selected nodes to group node": "Convert selected nodes to group node", "Manage group nodes": "Manage group nodes", "Ungroup selected group nodes": "Ungroup selected group nodes", diff --git a/src/locales/es/commands.json b/src/locales/es/commands.json index 84df6d9b5..11d0d99a0 100644 --- a/src/locales/es/commands.json +++ b/src/locales/es/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "Agrupar nodos seleccionados" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "Desempaquetar el subgrafo seleccionado" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "Convertir nodos seleccionados en nodo de grupo" }, diff --git a/src/locales/es/main.json b/src/locales/es/main.json index f62617ee2..647d3df74 100644 --- a/src/locales/es/main.json +++ b/src/locales/es/main.json @@ -849,6 +849,7 @@ "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", + "Unpack the selected Subgraph": "Desempaquetar el Subgrafo seleccionado", "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 1f8c30012..f40ad108d 100644 --- a/src/locales/fr/commands.json +++ b/src/locales/fr/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "Grouper les nœuds sélectionnés" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "Décompresser le sous-graphe sélectionné" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "Convertir les nœuds sélectionnés en nœud de groupe" }, diff --git a/src/locales/fr/main.json b/src/locales/fr/main.json index dc179d31f..6a2ddcd1c 100644 --- a/src/locales/fr/main.json +++ b/src/locales/fr/main.json @@ -849,6 +849,7 @@ "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", + "Unpack the selected Subgraph": "Décompresser le Subgraph sélectionné", "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 853d8d8dd..fd503b42b 100644 --- a/src/locales/ja/commands.json +++ b/src/locales/ja/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "選択したノードをグループ化" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "選択したサブグラフを展開" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "選択したノードをグループノードに変換" }, diff --git a/src/locales/ja/main.json b/src/locales/ja/main.json index b6f66071d..d934551c9 100644 --- a/src/locales/ja/main.json +++ b/src/locales/ja/main.json @@ -849,6 +849,7 @@ "Toggle the Custom Nodes Manager Progress Bar": "カスタムノードマネージャーの進行状況バーを切り替え", "Undo": "元に戻す", "Ungroup selected group nodes": "選択したグループノードのグループ解除", + "Unpack the selected Subgraph": "選択したサブグラフを展開", "Workflow": "ワークフロー", "Zoom In": "ズームイン", "Zoom Out": "ズームアウト" diff --git a/src/locales/ko/commands.json b/src/locales/ko/commands.json index 29fcb2968..dff73f051 100644 --- a/src/locales/ko/commands.json +++ b/src/locales/ko/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "선택한 노드 그룹화" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "선택한 서브그래프 풀기" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "선택한 노드를 그룹 노드로 변환" }, diff --git a/src/locales/ko/main.json b/src/locales/ko/main.json index 45b3eec42..4991f338a 100644 --- a/src/locales/ko/main.json +++ b/src/locales/ko/main.json @@ -849,6 +849,7 @@ "Toggle the Custom Nodes Manager Progress Bar": "커스텀 노드 매니저 진행률 표시줄 전환", "Undo": "실행 취소", "Ungroup selected group nodes": "선택한 그룹 노드 그룹 해제", + "Unpack the selected Subgraph": "선택한 서브그래프 풀기", "Workflow": "워크플로", "Zoom In": "확대", "Zoom Out": "축소" diff --git a/src/locales/ru/commands.json b/src/locales/ru/commands.json index 805e814e8..130121e41 100644 --- a/src/locales/ru/commands.json +++ b/src/locales/ru/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "Группировать выбранные ноды" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "Распаковать выбранный подграф" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "Преобразовать выбранные ноды в групповую ноду" }, diff --git a/src/locales/ru/main.json b/src/locales/ru/main.json index fc04d60a0..290bc5609 100644 --- a/src/locales/ru/main.json +++ b/src/locales/ru/main.json @@ -849,6 +849,7 @@ "Toggle the Custom Nodes Manager Progress Bar": "Переключить индикатор выполнения менеджера пользовательских узлов", "Undo": "Отменить", "Ungroup selected group nodes": "Разгруппировать выбранные групповые ноды", + "Unpack the selected Subgraph": "Распаковать выбранный подграф", "Workflow": "Рабочий процесс", "Zoom In": "Увеличить", "Zoom Out": "Уменьшить" diff --git a/src/locales/zh-TW/commands.json b/src/locales/zh-TW/commands.json index 0dda2c282..0f76375b4 100644 --- a/src/locales/zh-TW/commands.json +++ b/src/locales/zh-TW/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "群組所選節點" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "解開所選子圖" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "將選取的節點轉換為群組節點" }, diff --git a/src/locales/zh-TW/main.json b/src/locales/zh-TW/main.json index d04470758..331be2a5f 100644 --- a/src/locales/zh-TW/main.json +++ b/src/locales/zh-TW/main.json @@ -849,6 +849,7 @@ "Toggle the Custom Nodes Manager Progress Bar": "切換自訂節點管理器進度條", "Undo": "復原", "Ungroup selected group nodes": "取消群組選取的群組節點", + "Unpack the selected Subgraph": "解包所選子圖", "Workflow": "工作流程", "Zoom In": "放大", "Zoom Out": "縮小" diff --git a/src/locales/zh/commands.json b/src/locales/zh/commands.json index d974e499c..9fd2e66ff 100644 --- a/src/locales/zh/commands.json +++ b/src/locales/zh/commands.json @@ -131,6 +131,9 @@ "Comfy_Graph_GroupSelectedNodes": { "label": "添加框到选中节点" }, + "Comfy_Graph_UnpackSubgraph": { + "label": "解開所選子圖" + }, "Comfy_GroupNode_ConvertSelectedNodesToGroupNode": { "label": "将选中节点转换为组节点" }, diff --git a/src/locales/zh/main.json b/src/locales/zh/main.json index 1431a0891..8da79e6d1 100644 --- a/src/locales/zh/main.json +++ b/src/locales/zh/main.json @@ -849,6 +849,7 @@ "Toggle the Custom Nodes Manager Progress Bar": "切换自定义节点管理器进度条", "Undo": "撤销", "Ungroup selected group nodes": "解散选中组节点", + "Unpack the selected Subgraph": "解開所選子圖", "Workflow": "工作流", "Zoom In": "放大画面", "Zoom Out": "缩小画面" From 1784e2b5a3230346678283291c4b0797021bdf34 Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 14 Aug 2025 01:08:37 +0900 Subject: [PATCH 2/8] [feat] Add alternative package manager lockfiles to .gitignore (#4961) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Add bun.lock, bun.lockb, pnpm-lock.yaml, and yarn.lock to .gitignore - Allows users to use faster package managers (Bun, pnpm) without making git status dirty - Maintains npm as the default while supporting developer choice of package manager ## Test plan - [x] Verify .gitignore changes are correct - [ ] Test that creating these lockfiles doesn't show in git status - [ ] Confirm existing npm functionality remains unaffected 🤖 Generated with [Claude Code](https://claude.ai/code) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-4961-feat-Add-alternative-package-manager-lockfiles-to-gitignore-24e6d73d3650817c8fa4fb8e94df5ac6) by [Unito](https://www.unito.io) Co-authored-by: Claude --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index bee3e8317..c51197db0 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,12 @@ yarn-error.log* pnpm-debug.log* lerna-debug.log* +# Package manager lockfiles (allow users to use different package managers) +bun.lock +bun.lockb +pnpm-lock.yaml +yarn.lock + # ESLint cache .eslintcache From efc0431a5eb17a489d0d14b8cbc16e1fe5e1964b Mon Sep 17 00:00:00 2001 From: pythongosssss <125205205+pythongosssss@users.noreply.github.com> Date: Wed, 13 Aug 2025 19:46:03 +0100 Subject: [PATCH 3/8] Update side toolbar menu (#4946) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Side toolbar menu UI updates ## Summary - Currently the template modal is very hidden. Many users do not find it - The current icons are quite aleatory ## Changes **What**: - Add templates shortcut button - Add item label in normal size - Use custom icon Critical design decisions or edge cases that need attention: - Sidebar tabs registered using custom icons will have their associated command registed with an undefined icon (currently only string icons are accepted, not components). I couldn't see anywhere directly using this icon, but we should consider autogenerating an icon font so we can use classes for our custom icons (or locating and updating locations to support both icon types) ## Screenshots (if applicable) Normal mode: image Small mode: image ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-4946-Update-side-toolbar-menu-24d6d73d365081c5b2bdc0ee8b61dc50) by [Unito](https://www.unito.io) --------- Co-authored-by: github-actions --- src/assets/icons/custom/ai-model.svg | 6 +++ src/assets/icons/custom/node.svg | 3 ++ src/assets/icons/custom/template.svg | 5 ++ src/components/sidebar/SideToolbar.vue | 6 ++- src/components/sidebar/SidebarIcon.vue | 53 +++++++++++++++---- .../sidebar/SidebarTemplatesButton.vue | 35 ++++++++++++ .../sidebarTabs/useModelLibrarySidebarTab.ts | 9 +++- .../sidebarTabs/useNodeLibrarySidebarTab.ts | 9 +++- .../sidebarTabs/useQueueSidebarTab.ts | 1 + .../sidebarTabs/useWorkflowsSidebarTab.ts | 9 +++- src/locales/ar/main.json | 8 +++ src/locales/en/main.json | 8 +++ src/locales/es/main.json | 8 +++ src/locales/fr/main.json | 8 +++ src/locales/ja/main.json | 8 +++ src/locales/ko/main.json | 8 +++ src/locales/ru/main.json | 8 +++ src/locales/zh-TW/main.json | 8 +++ src/locales/zh/main.json | 8 +++ src/stores/workspace/sidebarTabStore.ts | 2 +- src/types/extensionTypes.ts | 3 +- src/vite-env.d.ts | 12 +++++ vitest.config.ts | 12 ++++- 23 files changed, 218 insertions(+), 19 deletions(-) create mode 100644 src/assets/icons/custom/ai-model.svg create mode 100644 src/assets/icons/custom/node.svg create mode 100644 src/assets/icons/custom/template.svg create mode 100644 src/components/sidebar/SidebarTemplatesButton.vue diff --git a/src/assets/icons/custom/ai-model.svg b/src/assets/icons/custom/ai-model.svg new file mode 100644 index 000000000..ede8e5c7e --- /dev/null +++ b/src/assets/icons/custom/ai-model.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/custom/node.svg b/src/assets/icons/custom/node.svg new file mode 100644 index 000000000..3239b59bd --- /dev/null +++ b/src/assets/icons/custom/node.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/icons/custom/template.svg b/src/assets/icons/custom/template.svg new file mode 100644 index 000000000..2a2a75f8d --- /dev/null +++ b/src/assets/icons/custom/template.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/components/sidebar/SideToolbar.vue b/src/components/sidebar/SideToolbar.vue index 0ef8598d1..72a451d81 100644 --- a/src/components/sidebar/SideToolbar.vue +++ b/src/components/sidebar/SideToolbar.vue @@ -8,10 +8,13 @@ :icon-badge="tab.iconBadge" :tooltip="tab.tooltip" :tooltip-suffix="getTabTooltipSuffix(tab)" + :label="tab.label || tab.title" + :is-small="isSmall" :selected="tab.id === selectedTab?.id" :class="tab.id + '-tab-button'" @click="onTabClick(tab)" /> +
@@ -43,6 +46,7 @@ import type { SidebarTabExtension } from '@/types/extensionTypes' import SidebarHelpCenterIcon from './SidebarHelpCenterIcon.vue' import SidebarIcon from './SidebarIcon.vue' import SidebarLogoutIcon from './SidebarLogoutIcon.vue' +import SidebarTemplatesButton from './SidebarTemplatesButton.vue' const workspaceStore = useWorkspaceStore() const settingStore = useSettingStore() @@ -86,7 +90,7 @@ const getTabTooltipSuffix = (tab: SidebarTabExtension) => { box-shadow: var(--bar-shadow); --sidebar-width: 4rem; - --sidebar-icon-size: 1.5rem; + --sidebar-icon-size: 1rem; } .side-tool-bar-container.small-sidebar { diff --git a/src/components/sidebar/SidebarIcon.vue b/src/components/sidebar/SidebarIcon.vue index 5002d7724..f38a0aa0b 100644 --- a/src/components/sidebar/SidebarIcon.vue +++ b/src/components/sidebar/SidebarIcon.vue @@ -19,12 +19,29 @@ @click="emit('click', $event)" > @@ -33,6 +50,7 @@ import Button from 'primevue/button' import OverlayBadge from 'primevue/overlaybadge' import { computed } from 'vue' +import type { Component } from 'vue' import { useI18n } from 'vue-i18n' const { t } = useI18n() @@ -41,13 +59,17 @@ const { selected = false, tooltip = '', tooltipSuffix = '', - iconBadge = '' + iconBadge = '', + label = '', + isSmall = false } = defineProps<{ - icon?: string + icon?: string | Component selected?: boolean tooltip?: string tooltipSuffix?: string iconBadge?: string | (() => string | null) + label?: string + isSmall?: boolean }>() const emit = defineEmits<{ @@ -74,10 +96,23 @@ const computedTooltip = computed(() => t(tooltip) + tooltipSuffix)