Commit Graph

6170 Commits

Author SHA1 Message Date
Comfy Org PR Bot
4bce7fbcde [chore] Update Comfy Registry API types from comfy-api@8034f18 (#7659)
## Automated API Type Update

This PR updates the Comfy Registry API types from the latest comfy-api
OpenAPI specification.

- API commit: 8034f18
- Generated on: 2025-12-20T04:03:57Z

These types are automatically generated using openapi-typescript.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7659-chore-Update-Comfy-Registry-API-types-from-comfy-api-8034f18-2cf6d73d3650817ba6c8faaa538fbc4d)
by [Unito](https://www.unito.io)

Co-authored-by: huntcsg <6245448+huntcsg@users.noreply.github.com>
2025-12-19 21:11:36 -08:00
Benjamin Lu
f6bc10bb9d Sync node help with selection and add watcher tests (#7105)
## Summary
- add a watcher to sync the node help panel with the currently selected
node
- add unit coverage for help auto-switching and guard cases

## Testing
- pnpm typecheck
- pnpm lint:fix
- pnpm exec vitest
tests-ui/tests/composables/graph/useSelectionState.test.ts

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7105-Sync-node-help-with-selection-and-add-watcher-tests-2bd6d73d36508140b5acd3f3c65c5680)
by [Unito](https://www.unito.io)
2025-12-19 20:51:10 -08:00
AustinMroz
68ccd683ad Do not delay fit to view on graph restore (#7645)
Fixes a bug where swapping to a different workflow from the inside of a
subgraph would cause nodes to be in an incorrect position after swapping
back. in vue mode

Prior to an unknown-but-recent PR, all nodes would would stack on the
origin. This PR instead solves the remaining issue where having
`ComfyEnableWorkflowViewRestore` would cause incorrect node positions.

This is done by not delaying the fitView by a frame (which causes it to
occur after the graph is no longer in the configuring state). In order
to accomplish this, the code in LGraphNode has been updated to allow
measuring node bounds without requiring a ctx argument. This arg is only
used to ensure sufficient width for a node's title and is irrelevant
when loading an existing graph.

| Before | After |
| ------ | ----- |
| <img width="360" alt="before"
src="https://github.com/user-attachments/assets/7f73817b-36e9-4400-8342-9e660cb36628"/>
| <img width="360" alt="after"
src="https://github.com/user-attachments/assets/c7ab4b99-2797-4276-9703-58d489cc3eaf"
/>|

See also #7591, which solves similar issues, but does not resolve this
bug.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7645-Do-not-delay-fit-to-view-on-graph-restore-2ce6d73d36508153972cc7b5948ce375)
by [Unito](https://www.unito.io)
2025-12-19 20:03:52 -08:00
Benjamin Lu
88df6627f0 docs: require design approval for notable UI changes (#7629)
Clarify design-team approval requirement for notable UI changes.

- Add a Design Team Approval section in CONTRIBUTING that states notable
UI changes must be requested by or approved by the design team and
applies to OSS contributors.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7629-docs-require-design-approval-for-notable-UI-changes-2ce6d73d36508151a894d683dda85c2e)
by [Unito](https://www.unito.io)
2025-12-19 19:10:26 -07:00
Simula_r
ccb73186fb refactor: start on removing FF for subscription tiers (#7596)
## Summary

Refactor: remove FF for subscription tier, remove legacy code for non
subscription tier logic.
 
## Review Focus

Preexisting cloud functionality impact.

<!-- If this PR fixes an issue, uncomment and update the line below -->
<!-- Fixes #ISSUE_NUMBER -->

## Screenshots (if applicable)

<!-- Add screenshots or video recording to help explain your changes -->

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7596-refactor-start-on-removing-FF-for-subscription-tiers-2cc6d73d3650816bac3aef893e4f37cd)
by [Unito](https://www.unito.io)
2025-12-19 18:52:37 -07:00
Benjamin Lu
c0c284977d Prevent sidebar tool buttons from flashing during collapse (#7652)
Prevent sidebar tool buttons from flashing during collapse.

## What changed
- Clip the sidebar tool-buttons container during hover collapse so tab
labels don't render outside the header.
- Keep the existing width/opacity transition so the title still reclaims
space.

## Why
- Motivation: the hover-out transition shrinks the tool-buttons wrapper
to `w-0` while the tabs keep their intrinsic width, causing a brief
clipped flash on the right edge of the sidebar.
- Why this approach: clipping during the transition is the smallest
change that fixes the visual artifact without altering layout timing or
hover behavior.
- Tradeoffs / limitations: no functional change; the buttons are only
clipped while collapsing.

## Evidence
- Issues: n/a
- Tests: Not run (lint/typecheck only; not evidence)
- Screenshots/video:


https://github.com/user-attachments/assets/3af4d735-6330-4521-b4cf-45eb4b09f9ba

## References
- Related PRs: n/a
2025-12-19 16:55:03 -08:00
Kelly Yang
08faa69256 fix: 3d resize vertically (#7621)
## Summary

Fix an issue #7620 where 3D nodes could be resized vertically only in
the expanding direction but could not be shrunk.


## Changes
- **What**:  
- Allow the 3D node content container to shrink by removing `h-full` and
adding `min-h-0 flex-1`.
- Prevent the internal canvas from reasserting its previous height
during parent resize by avoiding `h-full` and constraining it with
`max-h-full`.
- **Dependencies**:  
  - None

## Review Focus

- Verify that vertical resize works in both directions for 3D nodes.
- Ensure the canvas still resizes correctly with the node and that
three.js rendering is unaffected.
- Confirm no regression in pointer events, overlays, or resize handles.

## Screenshots 
before


https://github.com/user-attachments/assets/6b9e3bb0-98eb-4b06-adb3-b3aab60a7f86


after


https://github.com/user-attachments/assets/76d1a962-6cdc-4ca4-941e-7a3874629b29

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7621-fix-3d-resize-vertically-2cd6d73d365081efb281e8a40c87bf9e)
by [Unito](https://www.unito.io)
2025-12-19 19:52:35 -05:00
Comfy Org PR Bot
08a3c767ac 1.36.6 (#7651)
Patch version increment to 1.36.6

**Base branch:** `main`

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7651-1-36-6-2cf6d73d36508165b199d08f0d0a5379)
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>
v1.36.6
2025-12-19 17:20:14 -07:00
Johnpaul Chiwetelu
552452622d fix: context menu not opening when right-clicking different Vue nodes (#7644)
## Summary
- Fixed issue where right-clicking on one Vue node then another would
close the context menu instead of repositioning it
- Added `showNodeOptions` function that always shows the menu at the new
position (used for contextmenu events)
- Kept `toggleNodeOptions` for the "More Options" button where toggle
behavior is expected

## Test plan
- [ ] Right-click on a Vue node to open context menu
- [ ] Right-click on a different Vue node - menu should immediately show
for the new node
- [ ] Click "More Options" button when menu is open - should close the
menu
- [ ] Click "More Options" button when menu is closed - should open the
menu



https://github.com/user-attachments/assets/bb31c2e4-12b4-4786-96ac-23b1e2b4daa0



┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7644-fix-context-menu-not-opening-when-right-clicking-different-Vue-nodes-2ce6d73d36508145bc30fe6947b6808a)
by [Unito](https://www.unito.io)
2025-12-19 22:36:05 +01:00
Alexander Brown
01a7c6ee54 Test: Fix templates Spec, scroll card into view (#7643)
## Summary

- Scroll the target card into view before clicking
- Hopefully stabilize the locale check by enqueuing the check earlier in
the process

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7643-Test-Fix-templates-Spec-scroll-card-into-view-2ce6d73d36508175a009f81502f0fe16)
by [Unito](https://www.unito.io)
2025-12-19 13:12:37 -08:00
Terry Jia
ac1b551b76 eslint issue on windows (#7634)
## Summary
fix eslint issue on windows

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7634-eslint-issue-on-windows-2ce6d73d365081f785def469045f57bd)
by [Unito](https://www.unito.io)

---------

Co-authored-by: DrJKL <DrJKL0424@gmail.com>
2025-12-19 12:06:11 -08:00
Alexander Brown
6d57b4def5 Fix: Minimap rendering (#7639)
## Summary

Restores the refs, but in a way that vue-tsc understands.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7639-Fix-Minimap-rendering-2ce6d73d3650817eb323ce7e2022ab74)
by [Unito](https://www.unito.io)

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Simula_r <18093452+simula-r@users.noreply.github.com>
2025-12-19 11:52:13 -08:00
Alexander Piskun
744d37cc3c add pricing badge for Flux2Max node (#7641)
## Summary

Node uses the same pricing method as Flux2Pro, but at a doubled rate.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7641-add-pricing-badge-for-Flux2Max-node-2ce6d73d365081e785b3cf562f289470)
by [Unito](https://www.unito.io)
2025-12-19 19:32:42 +02:00
Terry Jia
ed7ec2af0f improve logic of 3d scene size (#7619)
## Summary

improve 3d scene size logic, for preview3d, it should not have target
size

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7619-improve-logic-of-3d-scene-size-2cd6d73d36508101b9f5dcef9bbe1314)
by [Unito](https://www.unito.io)
2025-12-19 05:56:19 -05:00
Johnpaul Chiwetelu
b598ce2c0f fix: node preview Vue mode sizing in manager panel (#7611)
## Summary
- Add `lg-node-preview` class to LGraphNodePreview for CSS targeting
- Override absolute positioning in NodesTabPanel to make Vue mode
previews fit within the container
- Apply zoom scaling (0.5) to fit node previews in the manager info
panel

## Test plan
- [ ] Open manager panel and select a node pack with nodes
- [ ] Verify node previews display correctly with Vue mode enabled
- [ ] Verify previews fit within the panel bounds without overflow

## Before


https://github.com/user-attachments/assets/8cd3a201-600d-4f31-9b79-4a480a07d998



## After



https://github.com/user-attachments/assets/b88ee7f2-5e6d-4913-b5a6-fa5fbe3b4dde





┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7611-fix-node-preview-Vue-mode-sizing-in-manager-panel-2cd6d73d36508141843cea046f104746)
by [Unito](https://www.unito.io)
2025-12-19 08:32:58 +01:00
AustinMroz
2724840fea Fix animated webp test and remove screenshot (#7632)
Remove screenshot expectation and restore test.

We care that it's displaying an image not what frame of the image is
being displayed.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7632-Fix-animated-webp-test-and-remove-screenshot-2ce6d73d365081a59d38dc9d82fa1a51)
by [Unito](https://www.unito.io)
2025-12-18 21:17:38 -08:00
Johnpaul Chiwetelu
7724558e7b fix(manager): refactor PackTryUpdateButton to use Button component (#7638)
## Summary
- Refactors `PackTryUpdateButton` to use standard `Button` component
instead of deprecated `IconTextButton`
- Fixes broken import in `InfoPanelMultiItem.vue` (IconTextButton no
longer exists)
- Follows same pattern as `PackUninstallButton` and `PackInstallButton`

## Test plan
- [ ] Verify "Try Update" button appears and functions correctly for
nightly packs in the manager info panel
- [ ] Verify multi-select update button works in InfoPanelMultiItem
- [ ] Verify DotSpinner shows during update operation

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7638-fix-manager-refactor-PackTryUpdateButton-to-use-Button-component-2ce6d73d3650816da271c2c0f442d59e)
by [Unito](https://www.unito.io)
2025-12-19 06:08:35 +01:00
Johnpaul Chiwetelu
14fdbdf793 fix: prevent custom context menu when editing text (#7633)
## Summary
- Stop contextmenu event propagation in EditableText component
- Allows browser's native context menu (copy/paste) when renaming nodes

## Test plan
- [ ] Double-click a node title to enter edit mode
- [ ] Select text and right-click
- [ ] Verify browser's native context menu appears (not the node context
menu)

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7633-fix-prevent-custom-context-menu-when-editing-text-2ce6d73d365081e38461d080abe12b32)
by [Unito](https://www.unito.io)
2025-12-18 21:48:12 -07:00
Johnpaul Chiwetelu
8d37e48849 feat(manager): add Try Update button for nightly packs (#7610)
## Summary
- Add "Try Update" button in InfoPanel for installed nightly packs
- Allows users to pull latest changes from repository for nightly
versions
- Nightly updates cannot be auto-detected (git hashes vs semver), so
users trigger manually

## Test plan
- [x] Install a nightly version of any pack
- [x] Select the pack in Manager
- [x] Verify "Try Update" button appears in InfoPanel
- [x] Click "Try Update" and verify update request is sent




https://github.com/user-attachments/assets/87443eb2-adc6-4d1c-afc9-171d301cca92


┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7610-feat-manager-add-Try-Update-button-for-nightly-packs-2cd6d73d36508167adcbc07c6a07938c)
by [Unito](https://www.unito.io)
2025-12-18 21:45:24 -07:00
Simula_r
0a7515b757 Fix(cloud)/subscription panel (#7628)
## Summary

Fix subscription panel to use new shared consts for pricing info and
misc plan related items.

## Changes

- **What**: SubscriptionPanel.vue, /en/main.json
- **Breaking**: <!-- Any breaking changes (if none, remove this line)
-->
- **Dependencies**: <!-- New dependencies (if none, remove this line)
-->

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7628-Fix-cloud-subscription-panel-2ce6d73d36508119846dd537b37a0d59)
by [Unito](https://www.unito.io)
2025-12-18 18:24:31 -08:00
Comfy Org PR Bot
9a35fa97a5 1.36.5 (#7626)
Patch version increment to 1.36.5

**Base branch:** `main`

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7626-1-36-5-2ce6d73d36508117a1affc38a9293468)
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>
v1.36.5
2025-12-18 18:14:37 -07:00
Benjamin Lu
f1b8c2246e Topbar: remove isDesktop gate for Custom Nodes Manager (#7606)
Removes the `isDesktop` (Electron) gate for the Custom Nodes Manager
topbar button so it shows whenever the manager is enabled.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7606-Topbar-remove-isDesktop-gate-for-Custom-Nodes-Manager-2cd6d73d36508153a804cc3603d8406c)
by [Unito](https://www.unito.io)
2025-12-18 17:08:54 -08:00
Alexander Brown
2c26fbb550 Component: Button Migration 3: IconTextButton (#7603)
## Summary

Replace all the `IconTextButton`s with `Button`

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7603-WIP-Component-Button-Migraion-3-IconTextButton-2cd6d73d365081b7b742fa2172dc2ba8)
by [Unito](https://www.unito.io)
2025-12-18 16:09:56 -08:00
Alexander Brown
6244cf1008 Tests: Golden Updates (#7624)
## Summary

...

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7624-Tests-Golden-Updates-2cd6d73d3650812eb92ece7c78d29c1b)
by [Unito](https://www.unito.io)

---------

Co-authored-by: github-actions <github-actions@github.com>
2025-12-18 15:01:01 -08:00
Alexander Brown
2044d1430c Deps: Update Playwright (#7623)
## Summary

Let's see if this lets it run.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7623-Deps-Update-Playwright-2cd6d73d36508155a156dec2ea7aaec1)
by [Unito](https://www.unito.io)
2025-12-18 14:29:28 -08:00
Comfy Org PR Bot
7e011da830 1.36.4 (#7599)
Patch version increment to 1.36.4

**Base branch:** `main`

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7599-1-36-4-2cd6d73d36508113b206e4a199fcca1e)
by [Unito](https://www.unito.io)

Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com>
v1.36.4
2025-12-18 14:14:08 -07:00
Christian Byrne
fa1719fece fix: pricing table links to wrong page in docs (p2) (#7434)
## Summary

Continuation of updating pricing table link (p1 was
https://github.com/Comfy-Org/ComfyUI_frontend/pull/7402). Create a
constant since it's now used in multiple locations.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7434-fix-pricing-table-links-to-wrong-page-in-docs-p2-2c86d73d36508199b320d49faa6a0c73)
by [Unito](https://www.unito.io)
2025-12-17 19:56:35 -07:00
Christian Byrne
6dd688e680 docs: update docs and workflows for change to 2-week release cycle (from 1-week) (#7564)
## Summary

Updates all documentation regarding the release cycle to reflect new
2-week cycles.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7564-docs-update-docs-and-workflows-for-change-to-2-week-release-cycle-from-1-week-2cb6d73d36508198a35ed9a3825704e5)
by [Unito](https://www.unito.io)
2025-12-17 19:53:14 -07:00
AustinMroz
97c7aef72d Update Search Box IO filters to support multitype (#7542)
It doesn't feel like this further hurts the lackluster responsiveness of
the searchbox, but second opinions would be appreciated.

| Before | After |
| ------ | ----- |
| <img width="360" alt="before"
src="https://github.com/user-attachments/assets/fb4b81f7-6eac-45bd-9bc8-17aebf739f0c"/>|
<img width="360" alt="after"
src="https://github.com/user-attachments/assets/7844cab4-0f73-4a3f-beb0-850efc09497a"
/>|

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7542-Update-Search-Box-IO-filters-to-support-multitype-2cb6d73d365081ccbeabf1a891351996)
by [Unito](https://www.unito.io)
2025-12-17 19:52:14 -07:00
Rizumu Ayaka
80335ac936 fix: right side panel visual indicators don't update for color picker… (#7489)
**Important code was mistakenly omitted in #7137, which caused this bug.
(@DrJKL )**

The color picker and node state components in the right side properties
panel have a visual indicator bug. While the components function
correctly and successfully change the node values, the visual state
indicators fail to update to reflect the current selection.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7489-fix-right-side-panel-visual-indicators-don-t-update-for-color-picker-2ca6d73d365081489ccdcac69186892f)
by [Unito](https://www.unito.io)
2025-12-17 19:49:45 -07:00
AustinMroz
6396eb6fa3 Fix promoted assets not being assets in vue (#7576)
- Fixes asset widgets which have been promoted failing to display as
asset widgets and having red names in vue mode.
- Fixes promoted subgraph widgets failing to resolve inputSpec for use
in vue mode.

| Before | After |
| ------ | ----- |
| <img width="360" alt="before"
src="https://github.com/user-attachments/assets/6c2d2763-6ac3-4769-82c5-b1ab1cc5e945"/>
| <img width="360" alt="after"
src="https://github.com/user-attachments/assets/742e218b-ec42-411a-b5a2-021820031e2a"
/>|

I'm not excited that this creates further bloat of SimplifiedWidget.

Known issue
- Similar to #7550, subgraph widgets will have an incorrect callback and
will fail to update value on a fresh reload. This can be "fixed" (made
worse) by entering and exiting the subgraph. Since this creates a
'leaked' widget callback which will then be called.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7576-Fix-promoted-assets-not-being-assets-in-vue-2cc6d73d3650814b8734f69b225b0228)
by [Unito](https://www.unito.io)
2025-12-17 19:48:32 -07:00
Alexander Brown
fba580dc7d Component: Button Migration 2: IconButton (#7598)
## Summary

Still a work in progress. Buttons with just icons are already in the
stories for button.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7598-WIP-Component-Button-Migration-2-IconButton-2cc6d73d365081c09143c63464ac60b7)
by [Unito](https://www.unito.io)
2025-12-17 18:11:43 -08:00
Christian Byrne
1d014c0dbe feat: when restored position has no nodes in viewport, automatically fit to view (#7435)
## Summary

Sometimes the saved position is super far away from any of the nodes,
which causes general confusion. This PR changes the `loadGraphData`
logic to fit-to-view in those scenarios.

Fixes https://github.com/Comfy-Org/ComfyUI_frontend/issues/7425

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7435-feat-when-restored-position-has-no-nodes-in-viewport-automatically-fit-to-view-2c86d73d36508119bf2ed9d361ec868f)
by [Unito](https://www.unito.io)

---------

Co-authored-by: github-actions <github-actions@github.com>
2025-12-17 15:38:05 -08:00
Alexander Brown
db929220af Chore: Update several Develeoper Dependencies (#7590)
## Summary

Hopefully this will stabilize the precommit and prepush behavior for
developers using Windows and speed up the runtime of a few scripts for
everyone else.

Includes fixes for unused refs that were caught by the updated vue-tsc.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7590-Chore-Update-several-Develeoper-Dependencies-2cc6d73d365081fdb27cd00e53b169d5)
by [Unito](https://www.unito.io)
2025-12-17 15:24:07 -08:00
Simula_r
ed04215d40 feat: add pricing table to user popover (#7583)
## Summary

Add ability to show pricing table from user popover. Misc style changes
and logic.

## Changes

- **What**: CurrentUserPopover.vue
- **Breaking**: <!-- Any breaking changes (if none, remove this line)
-->
- **Dependencies**: <!-- New dependencies (if none, remove this line)
-->

## Screenshots (if applicable)

<img width="481" height="672" alt="image"
src="https://github.com/user-attachments/assets/3dd55bc4-b49e-4b4e-920e-c97cabaa448a"
/>

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7583-feat-add-pricing-table-to-user-popover-2cc6d73d365081e1bbf1f2b351e53289)
by [Unito](https://www.unito.io)
2025-12-17 15:07:04 -07:00
Simula_r
a78e8c587f Refactor(cloud)/yearly credits monthly (#7584)
## Summary

Add yearly total credits vs monthly. Also pulled out numerical values
from the main.json to avoid translation issues and used n() for better
currency support on prices.

## Changes

- **What**: PricingTable.vue, /en/main.json
- **Breaking**: <!-- Any breaking changes (if none, remove this line)
-->
- **Dependencies**: <!-- New dependencies (if none, remove this line)
-->

## Review Focus

<!-- Critical design decisions or edge cases that need attention -->

<!-- If this PR fixes an issue, uncomment and update the line below -->
<!-- Fixes #ISSUE_NUMBER -->

## Screenshots (if applicable)

<img width="2321" height="1538" alt="image"
src="https://github.com/user-attachments/assets/8c7b3eed-bfd8-4188-914f-3bfa5397a84f"
/>

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7584-Refactor-cloud-yearly-credits-monthly-2cc6d73d365081b28afbec7f9d22546f)
by [Unito](https://www.unito.io)
2025-12-17 15:06:14 -07:00
Johnpaul Chiwetelu
890ab2019f feat: add Update ComfyUI option to Help Center for non-desktop environments (#7578)
## Summary

- Adds "Update ComfyUI" menu item to Help Center for portable/localhost
environments
- Wires existing `/v2/manager/queue/update_comfyui` endpoint to the
frontend
- Only visible in non-desktop, non-cloud distributions (where Electron
update mechanism isn't available)

## Changes

1. **Service layer**: Added `updateComfyUI()` method to
`comfyManagerService.ts`
2. **UI**: Added menu item with download icon to
`HelpCenterMenuContent.vue`
3. **i18n**: Added translation key for the new menu item

## Context

The new Manager UI (v4) lost the ability to update ComfyUI core in
non-desktop environments. This restores that functionality by
integrating the existing manager endpoint into the Help Center menu.

## Test plan

- [ ] Verify menu item appears in portable/localhost environments
- [ ] Verify menu item does NOT appear in desktop (Electron)
environments
- [ ] Verify menu item does NOT appear in cloud environments
- [ ] Test clicking the menu item triggers update and reboot

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7578-feat-add-Update-ComfyUI-option-to-Help-Center-for-non-desktop-environments-2cc6d73d3650811e9e4fe55515f50333)
by [Unito](https://www.unito.io)
2025-12-17 21:54:05 +01:00
Rizumu Ayaka
3e111bd75c fix: expand assets dropdown body to show entire "no results placeholder" (#7586)
Currently, when the assets dropdown has no assets available, the "No
Results Placeholder" text is not fully visible because the dropdown body
doesn't expand to accommodate the full message.

Make the body of the assets dropdown expand to show the entire "No
Results Placeholder" message when there are no assets present.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7586-fix-expand-assets-dropdown-body-to-show-entire-no-results-placeholder-2cc6d73d365081f4a142e927621f936d)
by [Unito](https://www.unito.io)
2025-12-17 13:53:43 -07:00
Christian Byrne
fa4daed163 Update CONTRIBUTING.md (#7588)
## Summary

Removes some outdated and unnecessary sections, updates some others.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7588-Update-CONTRIBUTING-md-2cc6d73d365081858102dab4d7f24867)
by [Unito](https://www.unito.io)

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-17 13:52:49 -07:00
Alexander Brown
e1814447f7 Devex: Convert .env_example sections to comment toggles (#7587)
## Summary

Set to true, but commented out so that a developer can just toggle
comment on that line to enable the behavior described.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7587-Devex-Convert-env_example-sections-to-comment-toggles-2cc6d73d365081db9907f107ee1b77e7)
by [Unito](https://www.unito.io)
2025-12-17 11:31:43 -08:00
Johnpaul Chiwetelu
e21f43f398 [feat] Replace NodeOptions with PrimeVue ContextMenu (#7114)
## Summary
- Add `NodeContextMenu.vue` using PrimeVue ContextMenu component with
native submenu support
- Rename `SubmenuPopover.vue` to `ColorPickerMenu.vue` (specialized for
color picker)
- Delete old components: `NodeOptions.vue`, `MenuOptionItem.vue`,
`useSubmenuPositioning.ts`
- Wire up context menu converter in `useMoreOptionsMenu.ts`
- Update tests to use hover instead of click for submenus

## Dependencies
**This PR depends on #7113** - the context menu converter infrastructure
PR. It should be merged after that PR.

## Benefits
- Native PrimeVue submenu support with proper keyboard navigation
- Constrained menu dimensions with overflow scrolling (max-h-[80vh])
- Cleaner component architecture with ~280 fewer lines of code
- Better separation: ColorPickerMenu handles only the custom color
picker UI

## Test plan
- [x] Typecheck passes
- [x] Lint passes
- [x] Knip passes
- [ ] Browser tests for submenu interactions pass
- [ ] Manual testing of node context menu

## Screenshots
(Menu UI should look the same, with improved submenu behavior)

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7114-feat-Replace-NodeOptions-with-PrimeVue-ContextMenu-2be6d73d365081fda576fd691175eacf)
by [Unito](https://www.unito.io)

---------

Co-authored-by: GitHub Action <action@github.com>
2025-12-17 06:47:28 +01:00
Alexander Brown
8d7dd9ed67 Component: Button migration 1: TextButton (#7537)
## Summary

Setup the variants and migrate existing uses of
TextButton/TextIconButton/IconButton to a single Button component.

Still a work in progress.

## Changes

- **What**: Add a new Button
- **What**: Migrate old buttons
- **What**: Delete old buttons
- **Dependencies**: CVA, upgrade Storybook

## Review Focus

<!-- Critical design decisions or edge cases that need attention -->

<!-- If this PR fixes an issue, uncomment and update the line below -->
<!-- Fixes #ISSUE_NUMBER -->

## Screenshots (if applicable)

<!-- Add screenshots or video recording to help explain your changes -->

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7537-WIP-Component-Button-migration-2cb6d73d36508156a81bfc7bbddb36e9)
by [Unito](https://www.unito.io)

---------

Co-authored-by: GitHub Action <action@github.com>
2025-12-16 20:38:24 -08:00
AustinMroz
ab76d02823 Fix doubled control application (#7550)
With reactivity fixed, control widgets would apply twice. This is fixed
by using the litegraph implementation.

Also adds control widget support for combos

Followup to #7539.

Known Issue:
- Primitive node do not have litegraph callbacks properly setup. As a
result, they will display an updated value when modified by control
widgets. Fixing this will requires a larger, separate PR

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7550-Fix-doubled-control-application-2cb6d73d365081739a2fc40fdfb3630e)
by [Unito](https://www.unito.io)
2025-12-16 18:42:02 -08:00
Simula_r
fa37112caf feat(cloud): yearly pricing (#7572)
## Summary

Add support for yearly/annual billing. Implement new Figma design. Add
new yearly tier params to api.

## Changes

- **What**: Mostly PricingTable.vue,
SubscriptionRequiredDialogContent.vue,
- **Breaking**: <!-- Any breaking changes (if none, remove this line)
-->
- **Dependencies**: <!-- New dependencies (if none, remove this line)
-->

## Screenshots (if applicable)


https://github.com/user-attachments/assets/06545dca-95a4-43ce-a128-2e45bb44f132

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7572-feat-yearly-pricing-2cb6d73d365081c68802f2beb47a312e)
by [Unito](https://www.unito.io)
2025-12-16 18:20:11 -08:00
Alexander Brown
ed7dce84e0 🤖 Add code review and function declaration/expression preference to AGENTS.md (#7577)
## Summary

From the Google Engineering Practices docs.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7577-Add-code-review-and-function-declaration-expression-preference-to-AGENTS-md-2cc6d73d3650816ca402f6ed48002f5d)
by [Unito](https://www.unito.io)
2025-12-16 17:00:02 -08:00
Comfy Org PR Bot
02d3b38a26 1.36.3 (#7575)
Patch version increment to 1.36.3

**Base branch:** `main`

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7575-1-36-3-2cc6d73d365081728802e01290ee5e1f)
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>
v1.36.3
2025-12-16 17:30:54 -07:00
Terry Jia
84561a1eb2 feat: upgrade Vite from v5 to v7 (#7566)
## Summary

Update vite to version 7, this is prerequisite to support sparkjs
https://sparkjs.dev/ for 3DGS file.

Currently, vite 5 has issue to load the file in spark, as working with
developer from World lab https://www.worldlabs.ai/, we found it is bug
on vite 5, we should upgrade vite to latest one.

see https://github.com/Comfy-Org/ComfyUI_frontend/issues/4061

also discussed with @christian-byrne and got approval for this change

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7566-feat-upgrade-Vite-from-v5-to-v7-2cb6d73d365081f7bdb0d7425d8b869e)
by [Unito](https://www.unito.io)
2025-12-16 17:46:21 -05:00
Benjamin Lu
e1294d66cc Hide queue overlay header menu on cloud (#7571)
Hide the QueueOverlayHeader more-options (…) menu when running in Cloud
distribution

This is being hidden instead of fixed because it deletes all user assets
on cloud, will be touched by /jobs, replaced by the second iteration of
design changes, along with changes to asset deletion happening soon. It
would be too risky to have a proper fix for it in the cloud deploy
today.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7571-Hide-queue-overlay-header-menu-on-cloud-2cb6d73d3650815a8faac8a8f0de91f0)
by [Unito](https://www.unito.io)

---------

Co-authored-by: GitHub Action <action@github.com>
2025-12-16 13:37:52 -08:00
AustinMroz
0ad5509037 Fix selecting loras on cloud (#7560)
Models must be updated by emit.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7560-Fix-selecting-loras-on-cloud-2cb6d73d365081d48d3de032317bcb71)
by [Unito](https://www.unito.io)
2025-12-16 19:51:32 +00:00
Kelly Yang
97386b0a14 Fix: the wrong selection under the hand mode (#7541)
## Summary

Fixed an inconsistency where nodes were resizable in Hand mode. Resizing
is now restricted to Selection mode only tomatch standard LiteGraph
behavior (Hand mode should only be for panning).

## Changes

What: Disabled node resizing logic when the canvas is set to Hand mode.

## Review Focus

Try toggling between Selection and Hand modes. Verify that resize
handles are unresponsive in Hand mode but work
normally in Selection mode.

## Screenshots

Before


https://github.com/user-attachments/assets/2707cdd9-93f5-4820-9282-893081778dff


After


https://github.com/user-attachments/assets/4d4ee027-b74a-481a-8b2a-97c58799534a

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7541-Fix-the-wrong-selection-under-the-hand-mode-2cb6d73d3650812b950ef385809130bb)
by [Unito](https://www.unito.io)
2025-12-16 14:50:24 -05:00