Benjamin Lu
5e1dc915a0
Extract to own component file
2025-12-06 22:19:20 -08:00
Benjamin Lu
da4b2412a4
Remove unused QueueOverlayActive files
2025-12-06 22:16:14 -08:00
Benjamin Lu
5c106bd2cb
Add progress bar embedded into top menu section
2025-12-06 22:15:41 -08:00
Benjamin Lu
ca084c31a5
Fix text size
2025-12-06 20:49:19 -08:00
Benjamin Lu
e65fc56c75
Remove active state
2025-12-06 16:23:03 -08:00
Benjamin Lu
b790aaf24b
Add new N queued toggle
2025-12-06 15:20:00 -08:00
Benjamin Lu
71c6da2656
Readd cancel button
2025-12-06 14:24:53 -08:00
Terry Jia
23ab924405
fix: add fixed min-width to sidebar panels to prevent content clipping ( #7212 )
...
## Summary
The default 10% min-size is too small for panels like Media Assets,
causing content to be clipped.
Use a fixed minimum width to ensure the panel content displays properly.
fix https://github.com/Comfy-Org/ComfyUI_frontend/issues/7210
## Screenshots
https://github.com/user-attachments/assets/65a15f0f-45c1-4361-adc9-eee4ccfad0ee
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7212-fix-add-fixed-min-width-to-sidebar-panels-to-prevent-content-clipping-2c16d73d365081d8a5a4de30c8eb5e07 )
by [Unito](https://www.unito.io )
2025-12-06 12:42:14 -08:00
Alexander Brown
f74c176423
Cleanup: Properties Panel ( #7137 )
...
## Summary
- Code cleanup
- Copy, padding, color, alignment of components
- Subgraph Edit mode changes
- Partial fix for the Node Info location (need to do context menu still)
- Editing node title
### Still to-do
- Bi-directionality in values
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7137-WIP-Cleanup-Properties-Panel-2be6d73d3650813e9430f6bcb09dfb4d )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-12-05 21:33:52 -08:00
Rizumu Ayaka
3443c8fb65
fix: unintended text selection when resizing the splitter ( #7187 )
...
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7187-fix-unintended-text-selection-when-resizing-the-splitter-2c06d73d365081b38644daa1f07fa1fb )
by [Unito](https://www.unito.io )
---------
Co-authored-by: DrJKL <DrJKL0424@gmail.com >
2025-12-05 18:04:43 +00:00
Simula_r
ab777bc65c
fix: vue nodes preview node to match lg and add node when clicked ( #7146 )
...
## Summary
Make the preview node match recent LGraphNode.vue look. Also add support
to click from search.
## Changes
- **What**: NodeSearchBox.vue, LGraphNodePreview.vue, nodeDefStore.ts
## Screenshots (if applicable)
https://github.com/user-attachments/assets/ed46d641-66bf-4e23-a207-9102609a7a4a
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7146-fix-vue-nodes-preview-node-to-match-lg-and-add-node-when-clicked-2bf6d73d3650814383b2c786e2ab4d02 )
by [Unito](https://www.unito.io )
2025-12-04 15:31:38 -08:00
Terry Jia
643533c572
fix: should allow autoCols=true when server doesn't provide size ( #7132 )
...
## Summary
set autoCols = true by default for Logs Terminal
## Changes
Previously, the logs terminal had autoCols: false to preserve
server-side progress bar rendering, However, this caused large black
empty areas when the server terminal was narrower than the UI panel,
Many server environments don't provide terminal size at all, making this
tradeoff not worthwhile.
The original implementation set autoCols: false because the server
renders progress bars based on its own terminal width. If the frontend
used a different column count, progress bars would display incorrectly
(e.g., wrapped or truncated).
However, this created a poor user experience:
1. The terminal only filled a portion of the panel width (often 80
columns)
2. The remaining space appeared as a large black empty area
3. Many backend environments don't provide size data at all, making the
fixed-width approach pointless
fix https://github.com/Comfy-Org/ComfyUI_frontend/issues/7117
## Screenshots (if applicable)
before
https://github.com/user-attachments/assets/e38af410-9cf1-4175-8acc-39d11a5b73ce
after
https://github.com/user-attachments/assets/3d180318-609f-44c5-aac5-230f9e4ef596
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7132-fix-should-allow-autoCols-true-when-server-doesn-t-provide-size-2be6d73d365081e7bf3bf5988bdba39a )
by [Unito](https://www.unito.io )
2025-12-03 22:18:27 -05:00
Terry Jia
e9d5ce7f3f
selection rectangle for vueNodes ( #7088 )
...
## Summary
fix: render selection rectangle in DOM layer for Vue nodes mode.
When Vue nodes are enabled, the canvas selection rectangle was being
rendered behind Vue node elements due to DOM stacking order (canvas
layer is below the TransformPane layer).
## Changes
- Adds a new SelectionRectangle.vue component that renders the selection
box as a DOM element
- Places it above the Vue nodes layer so it's always visible during drag
selection
- Skips canvas-based selection rectangle rendering when Vue nodes mode
is active
- Bonus: adds a semi-transparent blue fill style for better visibility
## Screenshots
before
https://github.com/user-attachments/assets/a8ee2ca3-00fd-4fdc-925a-dc9f846f4280
after
https://github.com/user-attachments/assets/66b7f2f5-f0a0-486f-9556-3872d07d65be
One more thing, the following improvement will be live selection,
something like:
https://github.com/user-attachments/assets/05a2b7ea-89b1-4568-bd2a-792f4fc11d8e
but I don't want to increase this PR, so I will send live selection
after this selection rectangle
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7088-selection-rectangle-for-vueNodes-2bd6d73d3650817aa2e9cf4526f179d8 )
by [Unito](https://www.unito.io )
2025-12-03 08:26:57 -05:00
Rizumu Ayaka
68274134c8
feat: right side panel ( #6952 )
...
<img width="1183" height="809" alt="CleanShot 2025-11-26 at 16 01 15"
src="https://github.com/user-attachments/assets/c14dc5c3-a672-4dcd-917d-14f16310188e "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6952-feat-right-side-panel-2b76d73d36508112b121c283a479f42a )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-12-02 22:55:24 -07:00
Alexander Brown
662974b222
Speed: Remove some optimizations that weren't optimizing ( #6209 )
...
## Summary
Simplify the TransformPane.
## Changes
- **What**: Remove the settling and culling composables. Gets rid of a
frequent event emission and some event handling addition/removals.
## Review Focus
In testing with a huge workflow in Vue mode, it was a lot faster without
these than with.
Can you check to see if you experience the same benefits?
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6209-Speed-Remove-some-optimizations-that-weren-t-optimizing-2946d73d3650815197a4df3c58a61575 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-12-02 21:28:52 -08:00
Alexander Brown
497bafcaeb
Fix: Widget sizing with multiple expanding items ( #7118 )
...
## Summary
Textarea/Markdown/3D pieces grow, other widget rows size to their
contents.
## Screenshots (if applicable)
<img width="564" height="420" alt="image"
src="https://github.com/user-attachments/assets/35aeb9bf-a44d-4e3f-b2cd-a9f3604a7778 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7118-Fix-Widget-sizing-with-multiple-expanding-items-2be6d73d3650816c8153ff3f1e49176d )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Simula_r <18093452+simula-r@users.noreply.github.com >
Co-authored-by: github-actions <github-actions@github.com >
2025-12-02 18:49:45 -08:00
Alexander Brown
04158deb02
Feat: Rename and Delete for imported Models ☁️ ( #6969 )
...
## Summary
Add Rename and Delete options for Personal Models.
Also updates and standardizes some styles for Cards and adds a simple
Confirmation dialog.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6969-WIP-Feat-Rename-and-Delete-for-custom-Models-2b86d73d36508140a687e929b0544ae6 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-01 17:16:05 -08:00
Alexander Brown
5b03d3fcbc
Minor/Lint: Fix two warnings ( #7045 )
...
## Summary
Unnecessary import of a compiler macro and importing the default instead
of the named export.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7045-Minor-Lint-Fix-two-warnings-2bb6d73d365081758369d14bafcd7aa0 )
by [Unito](https://www.unito.io )
2025-11-29 19:15:06 -07:00
Christian Byrne
f39faf6b8e
mark vue nodes menu toggle with beta tag ( #7047 )
...
## Summary
Adds a "Beta" tag next to the Nodes 2.0 menu item toggle to better
indicate to users, especially new users, that the feature is in beta.
<img width="752" height="918" alt="Selection_2477"
src="https://github.com/user-attachments/assets/cf341b2b-1af6-4259-8449-bf157989b7b3 "
/>
<img width="433" height="880" alt="Selection_2476"
src="https://github.com/user-attachments/assets/a0f658bf-1904-4d79-9ca7-c81c458adc54 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7047-mark-vue-nodes-menu-toggle-with-beta-tag-2bb6d73d3650815e8a9aceaa9250c02e )
by [Unito](https://www.unito.io )
2025-11-29 18:33:57 -07:00
Christian Byrne
f61bfe666e
style: move border and shadow style to outer container to fix topbar badges shadow/border ( #7044 )
...
## Summary
Moves the shadow and border from workflow tabs to outer container so
that there is no longer an inconsistency with the badges and topbar
bottom border and shadows.
## Changes
| Before | After |
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
| <img width="1522" height="598" alt="Selection_2473"
src="https://github.com/user-attachments/assets/92aa602c-a018-4b3d-8606-9c00552ffc20 "
/> | <img width="1522" height="598" alt="Selection_2472"
src="https://github.com/user-attachments/assets/13c75da3-a938-442a-9bf6-9c30d822a610 "
/> |
| <img width="1522" height="598" alt="Selection_2474"
src="https://github.com/user-attachments/assets/e84efd2a-6ae1-44a6-9901-0f902e942b64 "
/> | <img width="1522" height="598" alt="Selection_2475"
src="https://github.com/user-attachments/assets/66d4852e-eed7-49f9-8f0f-9e8bbcdcb0b8 "
/> |
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7044-style-move-border-and-shadow-style-to-outer-container-to-fix-topbar-badges-shadow-border-2ba6d73d365081b991a3f981db87f434 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-29 17:52:03 -07:00
Christian Byrne
d8795ec997
fix: actionbar can get stuck behind floating menu and not be moved with drag handle ( #7034 )
...
Fixes issue where actionbar (and therefore "Run" button) can get stuck
behind the floating menus and not be physically moved (especially on
mobile) leading to an inability to press "Run" button.
`z1010` and `z1000` do not seem to be actual classes in our system.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7034-fix-actionbar-can-get-stuck-behind-floating-menu-and-not-be-moved-with-drag-handle-2b96d73d365081fc87d1ec4446a50e43 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Alexander Brown <drjkl@comfy.org >
2025-11-30 00:22:08 +00:00
Christian Byrne
2cce0fe611
style: make feedback button icon-only after mobile breakpoint ( #7043 )
...
## Summary
On mobile breakpoint, change the "Feedback" button to only show an icon,
preserving crucial space on the breadcrumb axis.
## Changes
| Before | After |
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
| <img width="732" height="1458" alt="Selection_2471"
src="https://github.com/user-attachments/assets/8491a755-5817-4021-a2bd-8dff09a8345f "
/> | <img width="732" height="1458" alt="Selection_2470"
src="https://github.com/user-attachments/assets/6229badb-46c4-4617-9984-5636ad4b803c "
/> |
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7043-style-make-feedback-button-icon-only-after-mobile-breakpoint-2ba6d73d365081489d9adc89eb5ec42b )
by [Unito](https://www.unito.io )
2025-11-29 15:23:48 -07:00
Christian Byrne
2f89eb070c
when on cloud, link to cloud version of "getting started" page for "docs" button ( #7041 )
...
Changes docs button in bottom left help center to open
https://docs.comfy.org/get_started/cloud when on cloud (as opposed to
https://docs.comfy.org/ ).
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7041-when-on-cloud-link-to-cloud-version-of-getting-started-page-for-docs-button-2ba6d73d365081b79bcaf91cfeb3dffd )
by [Unito](https://www.unito.io )
2025-11-29 13:11:53 -07:00
Simula_r
7433f470fc
Fix/vue nodes banner text ( #7007 )
...
## Summary
ensure banner text is white
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7007-Fix-vue-nodes-banner-text-2b86d73d365081e1ab60c7013cc9d37c )
by [Unito](https://www.unito.io )
2025-11-27 16:40:27 -07:00
Kelly Yang
923695ffde
fix(ui): update button style for mask editor ( #6991 )
...
## Summary
Updated the styling of the `resetToDefault` button to match the visual
design and UX behavior (hover states, dimensions) of other buttons in
the `TopBarHeader`
## Changes
Applied the standard top bar button CSS classes to the resetToDefault
button to ensure visual consistency. @jtydhr88
## Review Focus
Please verify that the button alignment and hover effects now match the
adjacent UI elements.
## Screenshots
<img width="2746" height="2300" alt="ScreenShot_2025-11-27_010713_634"
src="https://github.com/user-attachments/assets/758e108f-7c38-4b51-a236-fee2e049186e "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6991-fix-ui-update-button-style-for-mask-editor-2b86d73d3650813ea3cbd28203239cd8 )
by [Unito](https://www.unito.io )
2025-11-27 15:43:55 -07:00
Jin Yi
9d131a4267
[feat] Add right-click context menu to MediaAssetCard ( #6844 )
...
## Summary
- Add right-click context menu functionality to MediaAssetCard
- Separate context menu into its own component
(MediaAssetContextMenu.vue)
- Ensure only one context menu is visible at a time within the same tab
## Changes
- Add `MediaAssetContextMenu.vue` - new component for context menu
- Update `MediaAssetCard.vue` - show context menu on right-click and
more button click
- Delete `MediaAssetMoreMenu.vue` - consolidated into context menu
- Delete `MediaAssetButtonDivider.vue` - unused
- Update `AssetsSidebarTab.vue` - add context menu state management
- Refactor `useMediaAssetActions.ts`
## Screenshot
[screen-capture.webm](https://github.com/user-attachments/assets/6fe414ef-b134-4fbe-98aa-6437bb354b41 )
🤖 Generated with [Claude Code](https://claude.com/claude-code )
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-26 23:02:32 -07:00
Christian Byrne
83f04490ba
fix: don't use registry when only checking for presence of missing nodes ( #6965 )
...
Changes the client-side validation of whether a graph has missing nodes
to use a simpler check (is the node name in the node defs from
`/object_info`), rather than using the Comfy Node Registry API
(api.comfy.org). The Registry API is still needed to get full
metadata/info about missing nodes, but that can be deferred until the
user actually needs that info.
This also fixes an issue where a node you coded yourself locally which
is neither a core node nor a node in the registry would be considered
"missing."
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6965-fix-don-t-use-registry-when-only-checking-for-presence-of-missing-nodes-2b76d73d365081e7b8fbcb3f2a1c4502 )
by [Unito](https://www.unito.io )
2025-11-26 17:21:16 -07:00
Alexander Brown
e6332046b0
BYOM: Model Import Wizard ( #6949 )
...
## Summary
Design alignment for the model import wizard.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6949-BYOM-Model-Import-Wizard-2b76d73d365081a48632c40430e05c93 )
by [Unito](https://www.unito.io )
2025-11-25 19:19:16 -08:00
AustinMroz
5fa76e23d9
Reduce width of run button dock zone ( #6925 )
...
Tiny PR to make the docking area line up with the new size of the
actionbar after #6723
<img width="550" height="106" alt="image"
src="https://github.com/user-attachments/assets/911d510e-351f-484f-807a-17f5428dea79 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6925-Reduce-width-of-run-button-dock-zone-2b66d73d36508137aa0cc18178172264 )
by [Unito](https://www.unito.io )
2025-11-25 18:19:33 -07:00
Simula_r
fcfb5437a9
feat: mobile breakpoint for vue nodes banner ( #6942 )
...
## Summary
Add mobile breakpoint to vue nodes banner
## Changes
- **What**: main.json and vue nodes banner
## Screenshots (if applicable)
<img width="500" height="615" alt="image"
src="https://github.com/user-attachments/assets/fd8cc621-c335-41c9-bbee-4ec0ae04b226 "
/>
<img width="980" height="615" alt="image"
src="https://github.com/user-attachments/assets/30e17fc2-fc91-44a3-b9f0-85d5146e861b "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6942-feat-mobile-breakpoint-for-vue-nodes-banner-2b66d73d36508139b69afd7e7134b72e )
by [Unito](https://www.unito.io )
2025-11-25 18:18:01 -07:00
Christian Byrne
5fa0295ff5
feat: update About panel (system stats and version info) to work on cloud ( #6940 )
...
## Summary
Updates the About Panel in the settings to work with the cloud-specific
`GET /system_stats` response schema.
| Before | After |
| ------ | ----- |
| <img width="1922" height="1436" alt="Selection_2392"
src="https://github.com/user-attachments/assets/3b97bf38-7eeb-4f46-9c59-eb681f5d7401 "
/> | <img width="1922" height="1436" alt="Selection_2391"
src="https://github.com/user-attachments/assets/1d30e604-654a-4d48-ba05-4cac3b54c2ba "
/> |
## Screenshots (if applicable)
OSS version stays the same:
<img width="1922" height="1436" alt="Selection_2393"
src="https://github.com/user-attachments/assets/40e1eeeb-fc5a-4ad0-b37f-dc5d0374901e "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6940-feat-update-About-panel-system-stats-and-version-info-to-work-on-cloud-2b66d73d365081f69b6fedfe9507ba92 )
by [Unito](https://www.unito.io )
2025-11-25 16:34:34 -07:00
Benjamin Lu
4597b7e600
[feat] Improve queue job item UX based on design feedback ( #6893 )
...
## Summary
- Running jobs now show cancel button at all times (always visible, not
just on hover)
- Cancel/delete buttons use destructive red styling by default with
hover state
- Changed pending job icon from clock to loader-circle with spin
animation
- Fixed icon buttons to be square (size-6) instead of rectangular
- Added TODO comment for future declarative button config system
- Pending hint ("Job added to queue") now shows only once per entry and
no longer resets when other jobs update
- Spinner animation now applies only to the pending loader icon;
completed/check icons no longer spin
- Queue overlay hover/active state also triggers when hovering the top
menu bar so controls stay visible
## Design Spec
https://www.notion.so/comfy-org/Design-Queue-Dialog-Job-Ordering-and-Cancel-Button-Visibility-2b46d73d365081748a43d5cc9fbe2639
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6893-feat-Improve-queue-job-item-UX-based-on-design-feedback-2b56d73d365081a2bc7ef6f6fea1c739 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-25 11:23:39 -08:00
Alexander Brown
8b5cfe7e55
Lint: Adding more checks for non internationalized strings ( #5625 )
...
## Summary
Catch more user visible (or audible) text that isn't
internationalizable.
## Changes
- **What**: Linter now checks other attributes for raw text.
## Review Focus
What other properties have leaked English text to non-English locales
that aren't in here?
2025-11-24 21:55:47 -08:00
Alexander Brown
9bd63dbe6a
Cleanup: Consistent use of Nodes 2.0 in user facing strings. ( #6898 )
...
https://github.com/Comfy-Org/ComfyUI_frontend/issues/6888
## Summary
Did a quick pass to find user facing strings. Not sure if this gets them
all.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6898-Cleanup-Consistent-use-of-Nodes-2-0-in-user-facing-strings-2b66d73d36508124aee2f5f8373a4b60 )
by [Unito](https://www.unito.io )
2025-11-24 17:26:16 -08:00
Alexander Brown
df373af987
Feat: Restore settings button to the sidebar. ( #6892 )
...
## Summary
Opens settings with a single click!
<img width="247" height="252" alt="image"
src="https://github.com/user-attachments/assets/c571d5e0-4973-4570-a542-fff343364ec0 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6892-Feat-Restore-settings-button-to-the-sidebar-2b56d73d36508102a48aec318d468303 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-24 12:23:29 -08:00
Christian Byrne
2539a7d2ce
fix: tabindex prop should be number type in MultiSelect component ( #6875 )
...
Change to use number prop to fix warnings:
```
WorkflowTemplateSelectorDialog.vue:7 [Vue warn]: Invalid prop: type check failed for prop "tabindex". Expected Number with value 0, got String with value "0".
at <MultiSelect modelValue= [] onUpdate:modelValue=fn class="w-[250px]" ... >
at <MultiSelect modelValue= [] onUpdate:modelValue=fn search-query="" ... >
at <BaseModalLayout content-title="Get Started with a Template" class="workflow-template-selector-dialog" maximized=false >
at <WorkflowTemplateSelectorDialog ref_for=true onClose=fn<hide> maximized=false >
at <BaseTransition onEnter=fn onAfterEnter=fn<bound onAfterEnter> onBeforeLeave=fn<bound onBeforeLeave> ... >
at <Transition name="p-dialog" onEnter=fn<bound onEnter> onAfterEnter=fn<bound onAfterEnter> ... >
at <Portal appendTo="body" >
at <Dialog key="global-workflow-template-selector" visible=true onUpdate:visible=fn<onUpdate:visible> ... >
at <GlobalDialog >
at <App>
```
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6875-fix-tabindex-prop-should-be-number-type-in-MultiSelect-component-2b46d73d3650816d8288fec4cc0f7e7f )
by [Unito](https://www.unito.io )
2025-11-23 22:51:26 -07:00
Jin Yi
09c888e338
Fix: Selected assets count not updating in Imported tab ( #6842 )
...
## Summary
- Fix bug where the "Selected assets count" displayed as 0 in the
Imported tab when selecting assets
## Root Cause
The `getOutputCount` function was returning `0` when
`user_metadata.outputCount` was not present.
- **Generated tab**: Works correctly because `outputCount` metadata is
set during generation
- **Imported tab**: `outputCount` metadata is never set, so it always
returns `0` → selected count shows as 0
## Solution
Changed the default return value from `0` to `1` when `outputCount`
metadata is not present, ensuring every asset counts as at least 1.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2025-11-23 00:57:36 -08:00
Alexander Brown
f5c9f69678
Style: Fix the filter/search/sort controls on the Template Select Modal ( #6835 )
...
## Summary
Background and text colors.
## Screenshot
<img width="1186" height="148" alt="image"
src="https://github.com/user-attachments/assets/0ff3b0d5-6aae-45c5-9ebf-060a9973489c "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6835-Style-Fix-the-filter-search-sort-controls-on-the-Template-Select-Modal-2b36d73d3650816b9850e1b9f7feb25e )
by [Unito](https://www.unito.io )
2025-11-22 15:30:14 -08:00
Tristan Sommer
4adcf09cca
GPU accelerated maskeditor rendering ( #6767 )
...
## GPU accelerated brush engine for the mask editor
- Full GPU acceleration using TypeGPU and type-safe shaders
- Catmull-Rom Spline Smoothing
- arc-length equidistant resampling
- much improved performance, even for huge images
- photoshop like opacity clamping for brush strokes
- much improved soft brushes
- fallback to CPU fully implemented, much improved CPU rendering
features as well
### Tested Browsers
- Chrome (fully supported)
- Safari 26 (fully supported, prev versions CPU fallback)
- Firefox (CPU fallback, flags needed for full support)
https://github.com/user-attachments/assets/b7b5cb8a-2290-4a95-ae7d-180e11fccdb0
https://github.com/user-attachments/assets/4297aaa5-f249-499a-9b74-869677f1c73b
https://github.com/user-attachments/assets/602b4783-3e2b-489e-bcb9-70534bcaac5e
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6767-GPU-accelerated-maskeditor-rendering-2b16d73d3650818cb294e1fca03f6169 )
by [Unito](https://www.unito.io )
2025-11-22 09:07:16 -05:00
Jin Yi
639975b804
fix: Prevent multiple asset card popovers from opening simultaneously ( #6808 )
...
## Summary
Ensures only one MediaAssetCard popover is open at a time.
## Changes
- Added `hide()` method exposure in MoreButton component
- Implemented parent-level state management for tracking open popover
- Added VueUse `whenever` to auto-close other popovers when one opens
## Test Plan
- Open multiple asset cards' more menus
- Verify only one popover remains open at a time
🤖 Generated with [Claude Code](https://claude.com/claude-code )
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6808-fix-Prevent-multiple-asset-card-popovers-from-opening-simultaneously-2b26d73d365081e1b3f0d97b869cedc5 )
by [Unito](https://www.unito.io )
2025-11-21 14:01:19 -07:00
Luke Mino-Altherr
ff0d385db8
[bugfix] Fix double-click required after pasting URL in upload model dialog ( #6801 )
...
## Summary
Fixed an issue where users had to click twice to continue after pasting
a URL in the upload model dialog - once to blur the input, then again to
click the button.
## Changes
- **What**: Replaced `UrlInput` with plain `InputText` in
`UploadModelUrlInput` to emit value immediately on input instead of only
on blur
- **Cleanup**: Moved URL cleaning/normalization to the `fetchMetadata`
handler, removed unused `disableValidation` prop from `UrlInput`
component
## Review Focus
- URL normalization logic in `useUploadModelWizard.ts`
🤖 Generated with [Claude Code](https://claude.com/claude-code )
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6801-bugfix-Fix-double-click-required-after-pasting-URL-in-upload-model-dialog-2b26d73d3650811881aed0cc064efcc7 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-21 11:05:36 -08:00
Jin Yi
5a297e520c
fix: disabling queue button ( #6797 )
...
## Summary
- Removed the `disabled` prop binding from the queue button that was
incorrectly disabling it when there were missing nodes
## Changes
- Removed `:disabled="hasMissingNodes"` from ComfyQueueButton.vue:13
## Test plan
- [x] Verify queue button is no longer incorrectly disabled when there
are missing nodes
- [x] Verify queue functionality works as expected
🤖 Generated with [Claude Code](https://claude.com/claude-code )
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6797-fix-disabling-queue-button-2b26d73d3650810783cedd44fce757be )
by [Unito](https://www.unito.io )
2025-11-20 20:52:30 -07:00
Benjamin Lu
85bec5ee47
Use shared button components in queue overlay ( #6793 )
...
## Summary
- replace raw button elements in queue progress overlay UI with shared
IconButton/TextButton/IconTextButton components
- remove forced justify-start from IconTextButton base and add explicit
alignment where needed
- keep queue overlay actions consistent with button styling patterns
## Testing
- pnpm typecheck
- pnpm lint:fix
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6793-Use-shared-button-components-in-queue-overlay-2b26d73d3650814d9ebfebba74226036 )
by [Unito](https://www.unito.io )
2025-11-20 20:18:33 -07:00
Jin Yi
6bb35d46c1
fix: Conditionally hide bottom border in missing nodes modal on non-cloud environments ( #6779 )
...
## Summary
- Conditionally hide the bottom border of the missing nodes modal
content when not running in cloud environment
- The footer is not visible in non-cloud environments, so the bottom
border was appearing disconnected
## Changes
- Added conditional `border-b-1` class based on `isCloud` flag in
`MissingNodesContent.vue`
- Keeps top border visible in all environments
- Bottom border only shows in cloud environment where footer is present
## Test plan
- [ ] Open missing nodes dialog in cloud environment - bottom border
should be visible
- [ ] Open missing nodes dialog in non-cloud environment - bottom border
should be hidden
- [ ] Verify top border remains visible in both environments
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6779-fix-Conditionally-hide-bottom-border-in-missing-nodes-modal-on-non-cloud-environments-2b16d73d365081cea1c8c98b11878045 )
by [Unito](https://www.unito.io )
2025-11-20 16:52:08 -07:00
AustinMroz
a20fb7d260
Allow unsetting widget labels ( #6773 )
...
https://github.com/user-attachments/assets/af344318-dac2-4611-b080-910cdfa1e87d
Quick followup to #6752
- Adds support for placeholder values in dialogService.prompt
- When label is unset, initial prompt is empty
- Display original widget name as placeholder
- When prompt returns an empty string (as opposed to null for a canceled
operation), remove widget label
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6773-Allow-unsetting-widget-labels-2b16d73d365081ae9f5dd085d0081733 )
by [Unito](https://www.unito.io )
2025-11-19 21:14:32 -08:00
Christian Byrne
836cd7f9ba
fix: node preview background color ( #6768 )
...
## Summary
Changes node previews to use background color from color palette instead
of the menu color.
| Before | After |
| ------ | ----- |
| <img width="1700" height="1248" alt="Selection_2345"
src="https://github.com/user-attachments/assets/cc1d0e97-9551-4f88-8e92-4fe6bcdd8c21 "
/> | <img width="2144" height="1138" alt="Selection_2347"
src="https://github.com/user-attachments/assets/16e64be3-3623-4900-ad18-c599a1aee59b "
/> |
Fixes https://github.com/Comfy-Org/ComfyUI_frontend/issues/6576
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6768-fix-node-preview-background-color-2b16d73d365081868644e1e6b7c7e3be )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: GitHub Action <action@github.com >
2025-11-19 21:41:25 -07:00
Luke Mino-Altherr
acd855601c
[feat] Add Civitai model upload wizard ( #6694 )
...
## Summary
Adds a complete model upload workflow that allows users to import models
from Civitai URLs directly into their library.
## Changes
- **Multi-step wizard**: URL input → metadata confirmation → upload
progress
- **Components**: UploadModelDialog, UploadModelUrlInput,
UploadModelConfirmation, UploadModelProgress, UploadModelDialogHeader
- **API integration**: New assetService methods for metadata retrieval
and URL-based uploads
- **Model type management**: useModelTypes composable for fetching and
formatting available model types
- **UX improvements**: Optional validation bypass for UrlInput component
- **Localization**: 26 new i18n strings for the upload workflow
## Review Focus
- Error handling for failed uploads and metadata retrieval
- Model type detection and selection logic
- Dialog state management across multi-step workflow
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6694-feat-Add-Civitai-model-upload-wizard-2ab6d73d36508193b3b1dd67c7cc5a09 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-19 20:37:22 -08:00
Benjamin Lu
26578981d4
Remove queue sidebar tab ( #6724 )
...
## Summary
- drop the queue sidebar entry, its component, and the supporting
composable so only the overlay-based queue UI remains
- clean up the related tests and keybindings so nothing references the
removed tab
- prune the unused queue task card components to keep the repo tidy
- remove unused queue sidebar translations and command strings across
all locales
## Testing
- pnpm typecheck
- pnpm lint:fix
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6724-Remove-queue-sidebar-tab-2ae6d73d3650811db0d4c5ad4c5ffc8d )
by [Unito](https://www.unito.io )
---------
Co-authored-by: pythongosssss <125205205+pythongosssss@users.noreply.github.com >
Co-authored-by: github-actions <github-actions@github.com >
Co-authored-by: Jin Yi <jin12cc@gmail.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: Johnpaul Chiwetelu <49923152+Myestery@users.noreply.github.com >
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Comfy Org PR Bot <snomiao+comfy-pr@gmail.com >
Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com >
2025-11-19 19:50:24 -07:00
Benjamin Lu
674d884e79
Remove queue cancel controls ( #6723 )
...
## Summary
- remove the interrupt/clear controls from the run button cluster
- drop the queue pending count dependencies that only fed those controls
This is at the request of product design, because this functionality is
being relocated to the queue progress overlay in bl-execution
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6723-Remove-queue-cancel-controls-2ae6d73d365081ddaa63ea9e3447ad7f )
by [Unito](https://www.unito.io )
---------
Co-authored-by: pythongosssss <125205205+pythongosssss@users.noreply.github.com >
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: github-actions <github-actions@github.com >
Co-authored-by: Jin Yi <jin12cc@gmail.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: Johnpaul Chiwetelu <49923152+Myestery@users.noreply.github.com >
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Comfy Org PR Bot <snomiao+comfy-pr@gmail.com >
Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com >
2025-11-19 16:54:27 -07:00
Jin Yi
a521066b25
[feat] Add missing nodes warning UI to queue button and breadcrumb ( #6674 )
2025-11-19 12:23:24 -07:00