Christian Byrne
c57ceaf826
fix: add missing translations ( #6970 )
...
## Summary
Adds translations for things identified as "always English" during QA
testing.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6970-fix-add-missing-translations-2b86d73d365081ffa58ccef156d28028 )
by [Unito](https://www.unito.io )
2025-11-26 18:25:49 -07:00
Christian Byrne
29dbfa3f60
fix: Vue Node <-> Litegraph node height offset normalization ( #6966 )
...
## Summary
Changes the layout store to treat node sizes as body-only measurements
while LiteGraph continues to reason about full heights. DOM-driven
updates are tagged with `LayoutSource.DOM`, which lets the store strip
the title height exactly once before persisting. That classification (a
new mutation source - `LayoutSource.DOM`) is accurate because those
mutations are triggered by the browser’s layout engine via
ResizeObserver, rather than by direct calls into the layout APIs (e.g.,
`moveNodeTo`, `useNodeDrag`). So all sources are:
- `LayoutSource.DOM`: browser layout/ResizeObserver measurements that
include the title bar
- `LayoutSource.Vue`: direct Vue-driven mutations routed through the
layout store
- `LayoutSource.Canvas`: legacy LiteGraph/canvas updates that will be
phased out over time
- `LayoutSource.External`: for multiplayer or syncing with a when going
online after making changes offline (in teams/workspace)
When layout state flows back into LiteGraph we add the title height just
in time for `liteNode.setSize`, so LiteGraph’s rendering stays
unchanged. This makes Vue node resizing and workflow persistence
deterministic - multiline widgets hold their dimensions across reloads
because every path that crosses the layout/LiteGraph boundary performs
the same normalization.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6966-normalize-height-at-sites-2b76d73d365081b6bcb4f4ce6a27663a )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-26 17:37:24 -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
Christian Byrne
c5fe617347
feat: open template via URL in linear mode ( #6945 )
...
## Summary
Adds `mode` as a valid url query param when opening template from URL.
https://github.com/user-attachments/assets/8e7efb1c-d842-4953-822a-f3cea7ddecb6
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6945-feat-open-template-via-URL-in-linear-mode-2b76d73d365081d8ad4af3d49a68a4ff )
by [Unito](https://www.unito.io )
2025-11-26 16:44:28 -07:00
Christian Byrne
8b2c1fc45d
allow telemetry events to be disabled by name in feature flags ( #6946 )
...
## Summary
Adds ability to toggle events on/off by name from dynamic feature flags.
Also makes some events disabled by default (not being used for any
analysis and taking too much of event quota currently).
Note: telemetry is only enabled on cloud - this doesn't affect local
users in any way.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6946-allow-telemetry-events-to-be-disabled-by-name-in-feature-flags-2b76d73d365081ea8676cfbb8217e640 )
by [Unito](https://www.unito.io )
2025-11-26 14:20:21 -07:00
Alexander Brown
df66a96976
Feat: Double Click on Image Assets to open the lightbox ( #6955 )
...
## Summary
Make it easier to open the lightbox preview.
## Review Focus
The first click still selects the image. I liked the suggestion to
require shift or ctrl to initiate selection and have click go back to
the previous behavior.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6955-Feat-Double-Click-on-Image-Assets-to-open-the-lightbox-2b76d73d365081f0bf0de847add5c820 )
by [Unito](https://www.unito.io )
2025-11-26 11:52:54 -08:00
Alexander Brown
96d12330bb
Fix: Toolbox position desync ( #6962 )
...
## Summary
Toggle the toolbox position check based on visibility, not just when
selection changes.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6962-Fix-Toolbox-position-desync-2b76d73d3650818da327c7adee6c1098 )
by [Unito](https://www.unito.io )
2025-11-26 19:43:58 +00:00
Simula_r
4b87b1fdc5
fix: remove LOD from vue nodes ( #6950 )
...
## Summary
Refactor to remove LOD from vue nodes. Also, hide Litegraph LOD settings
in vue nodes to prevent confusion / stale setting. Keep litegraph LOD
the exact same.
## Changes
- **What**: settings, all LOD related code in vue nodes
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6950-fix-remove-LOD-from-vue-nodes-2b76d73d365081568723f8cbc7be7e17 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-26 12:26:05 -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
Alexander Piskun
c9da19b5b5
feat(api-nodes-pricing): add prices for Veo3FirstLastFrameNode ( #6920 )
...
## Summary
Price badges for this PR:
https://github.com/comfyanonymous/ComfyUI/pull/10878
If we can include this in an upcoming release, that would be absolutely
great.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6920-feat-api-nodes-pricing-add-prices-for-Veo3FirstLastFrameNode-2b66d73d365081bdb49be98d953a7a0b )
by [Unito](https://www.unito.io )
2025-11-25 11:56:39 -08:00
Alexander Piskun
10222860eb
feat(api-nodes-pricing): add prices for Flux2ProImageNode ( #6921 )
...
## Summary
Price badges for https://github.com/comfyanonymous/ComfyUI/pull/10880
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6921-feat-api-nodes-pricing-add-prices-for-Flux2ProImageNode-2b66d73d365081f2b269c77df7ef93d6 )
by [Unito](https://www.unito.io )
2025-11-25 11:56:10 -08: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
AustinMroz
6782d04f00
Support display_name on frontend ( #6922 )
...
The v3 schema allows defining a `display_name` on inputs, but this was
previously ignored on the frontend. It is now used to designate a
default value for the label of a widget or input.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6922-Support-display_name-on-frontend-2b66d73d365081d992cbea07abc27a0f )
by [Unito](https://www.unito.io )
2025-11-25 10:36:14 -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
d58a464c9c
Style: Widget spacing and Markdown padding ( #6902 )
...
## Summary
Less padding, looks nice.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6902-Style-Widget-spacing-and-Markdown-padding-2b66d73d365081cca409dbabc7b883bb )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-24 18:31:21 -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
Johnpaul Chiwetelu
a21c813d11
Style button widgets ( #6900 )
...
This pull request introduces improvements to widget customization and UI
consistency in the application. The most notable changes are the
addition of support for icon classes in widget options, updates to
button rendering logic, and enhanced visual consistency for button
components.
Widget customization enhancements:
* Added an optional `iconClass` property to the `IWidgetOptions`
interface in `widgets.ts`, allowing widgets to specify custom icons.
UI and rendering updates:
* Updated `WidgetButton.vue` to render the widget label and, if
provided, an icon using the new `iconClass` option. Also standardized
button styling and label usage.
* Improved button styling in `WidgetRecordAudio.vue` for better visual
consistency with other components.
<img width="662" height="534" alt="Screenshot 2025-11-25 at 01 36 45"
src="https://github.com/user-attachments/assets/43bbe226-07fd-48be-9b98-78b08a726b1b "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6900-Style-button-widgets-2b66d73d3650818ebeadd9315a47ba0f )
by [Unito](https://www.unito.io )
2025-11-25 01:12:30 +00: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
Alexander Brown
c06a7279e2
Style: Grid for widgets ( #6891 )
...
## Summary
Keeps the controls and widgets a consistent width, but lets the size be
more flexible
## Screenshots
<!-- Add screenshots or video recording to help explain your changes -->
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6891-Style-Grid-for-widgets-2b56d73d365081a29c30d337f3be1af6 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-24 11:46:24 -08:00
Christian Byrne
30bafcd019
hide "unload models" and "unload cache" menu entries on cloud ( #6879 )
...
Hides these features which the user does not need when on cloud.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6879-hide-unload-models-and-unload-cache-menu-entries-on-cloud-2b46d73d3650816a8e22e913a848e4ac )
by [Unito](https://www.unito.io )
2025-11-23 22:53:18 -07:00
Christian Byrne
723f53751e
fix: duplicate "refresh node definitions" in menu entries ( #6876 )
...
The "Refresh node definitions" menu entry was added in the Manager
upstream but while in development was also added in a separate commit,
leading to duplicate menu entries:
<img width="1460" height="324" alt="image"
src="https://github.com/user-attachments/assets/66347cb3-1c52-457e-a4f1-8b32b615a1ca "
/>
This PR removes the second one.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6876-fix-duplicate-refresh-node-definitions-in-menu-entries-2b46d73d365081b98bdfcc60dc9bad36 )
by [Unito](https://www.unito.io )
2025-11-23 22:51:36 -07: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
AustinMroz
58b051a473
Share button and Assets Panel in Linear Mode ( #6794 )
...
- Re-enables the share button in Linear Mode and have it export the
current workflow
- Not as nice as having it copy an actual URL, but good enough for the
interim and it help with dead space
- Display the Media Assets Panel on the left hand side to replace the
removed Queue Panel
<img width="806" alt="image"
src="https://github.com/user-attachments/assets/93786dfa-8fbb-4368-8594-b9c98bbeb79e "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6794-Share-button-and-Assets-Panel-in-Linear-Mode-2b26d73d36508178aef9ededa38d47f1 )
by [Unito](https://www.unito.io )
2025-11-23 12:25:30 -07:00
Alexander Brown
0b33470744
Minor: transformState and setting error cleanup ( #6841 )
...
## Summary
Fixes the routing of TransformState through the node and the console
error from a setting that ends up being undefined via
useRenderModeSetting.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6841-Minor-transformState-and-setting-error-cleanup-2b46d73d3650817a8da7fca5bc56ea9a )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-23 12:24:37 -07:00
Comfy Org PR Bot
fb3ce74d2f
1.33.7 ( #6856 )
...
Patch version increment to 1.33.7
**Base branch:** `main`
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6856-1-33-7-2b46d73d365081c4b709d125df63c98d )
by [Unito](https://www.unito.io )
---------
Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com >
Co-authored-by: github-actions <github-actions@github.com >
2025-11-23 11:47:49 -07:00
Comfy Org PR Bot
86d3f0ebd5
1.33.6 ( #6837 )
...
Patch version increment to 1.33.6
**Base branch:** `main`
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6837-1-33-6-2b46d73d3650815194b4fd885b13b574 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com >
Co-authored-by: github-actions <github-actions@github.com >
2025-11-23 11:31:54 -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
6d41e8b6e4
Feat: Load Image (from Outputs) support in Vue Nodes ( #6836 )
...
## Summary
Expose the Auto-refresh and manual refresh controls.
Fixes an issue with the Dropdown where it was index dependent so wasn't
updating correctly as new items came in.
## Screenshots
<!-- Add screenshots or video recording to help explain your changes -->
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6836-Feat-Load-Image-from-Outputs-support-in-Vue-Nodes-2b46d73d365081f1b44fcf2054d653da )
by [Unito](https://www.unito.io )
2025-11-22 23:59:00 -08:00
Terry Jia
274f77869b
Fix: Opening mask editor on context menu ( #6825 )
...
## Summary
Fix issue of opening mask editor on context menu, reported in
https://github.com/Comfy-Org/ComfyUI_frontend/issues/6824
## Screenshots (if applicable)
https://github.com/user-attachments/assets/666d2769-d848-4b08-b54b-0cf5ed799b35
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6825-Fix-Opening-mask-editor-on-context-menu-2b36d73d3650810781a3c25a23ba488a )
by [Unito](https://www.unito.io )
2025-11-22 20:46:29 -05: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
Alexander Brown
c1e237255a
Fix: TextArea context menu ( #6834 )
...
## Summary
Allow the default browser context menu within textareas on Vue Nodes.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6834-Fix-TextArea-context-menu-2b36d73d3650814e9706e76163dda59a )
by [Unito](https://www.unito.io )
2025-11-22 15:18:04 -08:00
AustinMroz
a91b9f288f
When filtering by IO type, put wildcards last ( #6829 )
...
| Before | After |
| ------ | ----- |
| <img width="360" alt="before"
src="https://github.com/user-attachments/assets/628057b2-4844-490d-9899-fce82d8e2d58 "
/> | <img width="360" alt="after"
src="https://github.com/user-attachments/assets/2825f15f-c084-4e3d-8b22-cc0aa3febdce "
/> |
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6829-When-filtering-by-IO-type-put-wildcards-last-2b36d73d36508196a41fed40b62f5b84 )
by [Unito](https://www.unito.io )
2025-11-22 13:43:05 -07: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
Christian Byrne
1dbb3fc1b9
make vue node settings appear higher in the settings dialog ( #6820 )
...
makes setting groups/categories be sorted by highest internal setting
field `sortOrder` and adds high `sortOrder` values to the Vue Nodes
(Nodes 2.0) settings.
<img width="2282" height="1872" alt="Selection_2371"
src="https://github.com/user-attachments/assets/71e7e76b-4637-42b5-9f0c-2617622cda23 "
/>
2025-11-21 20:32:18 -08:00
Alexander Brown
d6c5b33fce
Fix: Vue <--> Litegraph scaling logic. ( #6745 )
...
Consistent names and order of operations. I think this fixes the
resizing too.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6745-refactor-Reorganizing-scaling-logic-2b06d73d365081eebc8ff93c87fa69fb )
by [Unito](https://www.unito.io )
2025-11-22 01:52:20 +00:00
Alexander Brown
f5608435b4
Fix: Clear apiKey on failed auth ( #6816 )
...
## Summary
Handles the case where an API key is structurally valid but not in our
DB.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6816-Fix-Clear-apiKey-on-failed-auth-2b26d73d3650817ab34edfa380795178 )
by [Unito](https://www.unito.io )
2025-11-21 17:26:39 -07:00
Alexander Brown
9da82f47ef
Feat: Alt+Drag to clone - Vue Nodes ( #6789 )
...
## Summary
Replicate the alt+drag to clone behavior present in litegraph.
## Changes
- **What**: Simplify the interaction/drag handling, now with less state!
- **What**: Alt+Click+Drag a node to clone it
## Screenshots (if applicable)
https://github.com/user-attachments/assets/469e33c2-de0c-4e64-a344-1e9d9339d528
<!-- Add screenshots or video recording to help explain your changes -->
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6789-WIP-Alt-Drag-to-clone-Vue-Nodes-2b16d73d36508102a871ffe97ed2831f )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-11-21 14:16:03 -08:00
Alexander Brown
a8d6f7baff
Feat: Show Progress Text on Vue Nodes, Markdown for Preview as Text ( #6805 )
...
## Summary
Maps the progressText / text preview to a readonly Markdown widget.
## Review Focus
Anything else to tweak about this while I'm in here?
## Screenshots
<img width="1107" height="593" alt="image"
src="https://github.com/user-attachments/assets/a445c07a-2fcb-480c-976e-bda6ff343f14 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6805-Feat-Show-Progress-Text-on-Vue-Nodes-2b26d73d3650814d93c4f2fbf0e00095 )
by [Unito](https://www.unito.io )
2025-11-21 13:54:53 -08: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
Luke Mino-Altherr
6e2e591937
refactor: change model button terminology from Upload to Import ( #6800 )
...
## Summary
Changes user-facing text from "Upload" to "Import" for the model import
feature, as "Import" better describes importing models from external
sources like Civitai.
## Changes
- Updated button icon from `upload` to `package-plus`
- Changed all user-facing text in English locale from "Upload" to
"Import"
🤖 Generated with [Claude Code](https://claude.com/claude-code )
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6800-refactor-change-model-button-terminology-from-Upload-to-Import-2b26d73d365081059ce6e4a548f943ce )
by [Unito](https://www.unito.io )
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-20 21:47:02 -08:00
Comfy Org PR Bot
27fcc4554f
1.33.5 ( #6798 )
...
Patch version increment to 1.33.5
**Base branch:** `main`
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6798-1-33-5-2b26d73d3650814fb062c8e2c1602ac6 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com >
Co-authored-by: github-actions <github-actions@github.com >
2025-11-20 21:06:15 -07:00
Alexander Brown
e563c1be75
hotfix: Stop clicks on the textarea from propagating to the node itself ( #6788 )
...
## Summary
Selecting text shouldn't drag the node.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6788-hotfix-Stop-clicks-on-the-textarea-from-propagating-to-the-node-itself-2b16d73d3650819c8d0dc427d5758580 )
by [Unito](https://www.unito.io )
2025-11-20 21:05:24 -07: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
AustinMroz
bdf6d4dea2
Allow updating position and mode on missing nodes ( #6792 )
...
When a node is missing, attempts to serialize it will return the "last
known good" serialization to ensure that the node will still be
functional in the future (the node pack is installed/comfyui is
updated). However, this means even small and safe changes (like moving
the node out of the way or bypassing it so the workflow can be run) will
be discarded on reload.
This is resolved by including the updated position and mode when
returning early.
| Before | After |
| ------ | ----- |
| <img width="360" height="360" alt="before"
src="https://github.com/user-attachments/assets/8452682c-9531-4153-a258-158c634df3e8 "
/> | <img width="360" height="360" alt="after"
src="https://github.com/user-attachments/assets/8825ce5e-c4a6-4f4a-be20-97e4aca69964 "
/> |
Thanks to @Kosinkadink for bringing this up
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6792-Allow-updating-position-and-mode-on-missing-nodes-2b26d73d365081ed8c22fafe5348c49f )
by [Unito](https://www.unito.io )
2025-11-20 17:07:15 -08:00
AustinMroz
bc553f12be
Add support for dynamic widgets ( #6661 )
...
Adds support for "dynamic combo" widgets where selecting a value on a
combo widget can cause other widgets or inputs to be created.

Includes a fairly large refactoring in litegraphService to remove
`#private` methods and cleanup some duplication in constructors for
subgraphNodes.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6661-Add-support-for-dynamic-widgets-2a96d73d3650817aa570c7babbaca2f3 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Alexander Brown <drjkl@comfy.org >
2025-11-20 16:53:59 -07:00