Comfy Org PR Bot
942ffbe896
[backport cloud/1.38] fix: update reactive ref after merge in imagePreviewStore ( #8503 )
...
Backport of #8479 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8503-backport-cloud-1-38-fix-update-reactive-ref-after-merge-in-imagePreviewStore-2f96d73d3650812088c8edfb5b919a27 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: Austin Mroz <austin@comfy.org >
2026-01-31 23:40:10 -08:00
Comfy Org PR Bot
d30e1a882e
[backport cloud/1.38] fix(cloud): disable legacy node templates feature on cloud ( #8504 )
...
Backport of #8462 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8504-backport-cloud-1-38-fix-cloud-disable-legacy-node-templates-feature-on-cloud-2f96d73d3650815993ebc15eb076744e )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Amp <amp@ampcode.com >
2026-01-31 23:22:31 -08:00
Comfy Org PR Bot
7fc0b55bb8
[backport cloud/1.38] fix: remove delete account button and direct users to support ( #8522 )
...
Backport of #8515 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8522-backport-cloud-1-38-fix-remove-delete-account-button-and-direct-users-to-support-2fa6d73d3650813da43eeb404f9918cd )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Amp <amp@ampcode.com >
2026-01-31 20:01:54 -08:00
Comfy Org PR Bot
7d114577b5
[backport cloud/1.38] Update control_after_generate schema ( #8507 )
...
Backport of #8505 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8507-backport-cloud-1-38-Update-control_after_generate-schema-2f96d73d365081d399f3f459a843709e )
by [Unito](https://www.unito.io )
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-30 21:43:00 -08:00
Comfy Org PR Bot
26bf6d324e
[backport cloud/1.38] fix: prevent image/video preview reset on dynamic widget addition ( #8493 )
...
Backport of #8366 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8493-backport-cloud-1-38-fix-prevent-image-video-preview-reset-on-dynamic-widget-addition-2f86d73d36508192b27fc55a29d6d02e )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Subagent 5 <subagent@example.com >
Co-authored-by: Amp <amp@ampcode.com >
2026-01-30 08:37:41 -08:00
Comfy Org PR Bot
77f94a3357
[backport cloud/1.38] fix: properties panel obscures menus in legacy layout ( #8491 )
...
Backport of #8474 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8491-backport-cloud-1-38-fix-properties-panel-obscures-menus-in-legacy-layout-2f86d73d365081aea778f7573e1202f8 )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Amp <amp@ampcode.com >
2026-01-30 08:23:47 -08:00
Comfy Org PR Bot
29a0071b4e
[backport cloud/1.38] Fix: Hide Jobs in Assets Panel when Queue V2 is disabled. ( #8486 )
...
Backport of #8450 to `cloud/1.38`
Automatically created by backport workflow.
Co-authored-by: Alexander Brown <drjkl@comfy.org >
2026-01-30 08:03:35 +00:00
AustinMroz
99f85d9b04
Revert matchtype slot reactivity on cloud/1.38 ( #8477 )
...
Fixes a bug where canvas functionality is lost if a multitype input
(like the native switch) is added to the graph in litegraph mode.
This issue is properly fixed by #8440 , but this single revision is
easier and safer to backport
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8477-Revert-matchtype-slot-reactivity-on-cloud-1-38-2f86d73d365081279285e6d86ded9e43 )
by [Unito](https://www.unito.io )
2026-01-29 21:47:12 -08:00
Comfy Org PR Bot
1631f22efb
[backport cloud/1.38] feat: add category support for blueprints and protect global blueprints ( #8466 )
...
Backport of #8378 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8466-backport-cloud-1-38-feat-add-category-support-for-blueprints-and-protect-global-bluepr-2f86d73d3650814da4b4d8d773d2ffe5 )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Subagent 5 <subagent@example.com >
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-29 19:15:47 -08:00
Comfy Org PR Bot
a5577a7f45
[backport cloud/1.38] Improve template search input performance issue ( #8472 )
...
Backport of #8343 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8472-backport-cloud-1-38-Improve-template-search-input-performance-issue-2f86d73d3650815ba8dfef1ea135c4a3 )
by [Unito](https://www.unito.io )
Co-authored-by: Kelly Yang <124ykl@gmail.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
2026-01-29 19:12:28 -08:00
Comfy Org PR Bot
519bd2f166
[backport cloud/1.38] fix: default image input for the template is displayed as empty on dropdown selection ( #8456 )
...
Backport of #8276 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8456-backport-cloud-1-38-fix-default-image-input-for-the-template-is-displayed-as-empty-on--2f86d73d365081098415f75295ce33eb )
by [Unito](https://www.unito.io )
Co-authored-by: Rizumu Ayaka <rizumu@ayaka.moe >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: github-actions <github-actions@github.com >
2026-01-29 16:59:25 -08:00
Comfy Org PR Bot
679fa1b354
[backport cloud/1.38] feat: add Chatterbox model support for Cloud asset browser ( #8453 )
...
Backport of #8418 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8453-backport-cloud-1-38-feat-add-Chatterbox-model-support-for-Cloud-asset-browser-2f86d73d36508158a791f6063485fd3c )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Subagent 5 <subagent@example.com >
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: GitHub Action <action@github.com >
2026-01-29 16:45:10 -08:00
Comfy Org PR Bot
fa2879b523
[backport cloud/1.38] Fix invalid keybind flash ( #8452 )
...
Backport of #8435 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8452-backport-cloud-1-38-Fix-invalid-keybind-flash-2f86d73d365081efbc2ec6ea01e37b80 )
by [Unito](https://www.unito.io )
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-29 16:34:53 -08:00
Comfy Org PR Bot
7175663efd
[backport cloud/1.38] Fix Help Center display in linear mode ( #8449 )
...
Backport of #8438 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8449-backport-cloud-1-38-Fix-Help-Center-display-in-linear-mode-2f86d73d365081179c5be03a8d1a522d )
by [Unito](https://www.unito.io )
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-29 16:23:03 -08:00
Comfy Org PR Bot
0367e33a76
[backport cloud/1.38] make new queue panel disabled by default ( #8446 )
...
Backport of #8444 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8446-backport-cloud-1-38-make-new-queue-panel-disabled-by-default-2f76d73d365081f3a0b3dd32ed39e03c )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
2026-01-29 16:16:11 -08:00
Comfy Org PR Bot
b057f69501
[backport cloud/1.38] fix: dragging (e.g., when selecting text) in Markdown note causes node to drag ( #8428 )
...
Backport of #8413 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8428-backport-cloud-1-38-fix-dragging-e-g-when-selecting-text-in-Markdown-note-causes-n-2f76d73d36508132b067e6cee1122dc8 )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Subagent 5 <subagent@example.com >
Co-authored-by: Amp <amp@ampcode.com >
2026-01-29 10:05:04 -08:00
Comfy Org PR Bot
6e5b72a685
[backport cloud/1.38] fix: use getAuthHeader in createCustomer to support API key auth ( #8426 )
...
Backport of #8408 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8426-backport-cloud-1-38-fix-use-getAuthHeader-in-createCustomer-to-support-API-key-auth-2f76d73d365081ad948ffed429f3714b )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Subagent 5 <subagent@example.com >
Co-authored-by: Amp <amp@ampcode.com >
2026-01-29 10:04:22 -08:00
Comfy Org PR Bot
ecb778dfe1
[backport cloud/1.38] Disable logs button in sidebar on cloud ( #8430 )
...
Backport of #8429 to `cloud/1.38`
Automatically created by backport workflow.
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-29 18:04:15 +00:00
Comfy Org PR Bot
e9dc3c0e41
[backport cloud/1.38] fix: add ResizeObserver to fix Preview3D initial render stretch ( #8424 )
...
Backport of #8351 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8424-backport-cloud-1-38-fix-add-ResizeObserver-to-fix-Preview3D-initial-render-stretch-2f76d73d365081a9974fe055b2a5894d )
by [Unito](https://www.unito.io )
Co-authored-by: Terry Jia <terryjia88@gmail.com >
2026-01-29 10:03:32 -08:00
Comfy Org PR Bot
fc9b78fce3
[backport cloud/1.38] Fix flake hidream test ( #8421 )
...
Backport of #8406 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8421-backport-cloud-1-38-Fix-flake-hidream-test-2f76d73d365081ceaff8cf1fd2d3f102 )
by [Unito](https://www.unito.io )
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-29 08:39:49 -08:00
Comfy Org PR Bot
0466f16b89
[backport cloud/1.38] [bugfix] Fix manager missing node tab with shared composable ( #8411 )
...
Backport of #8409 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8411-backport-cloud-1-38-bugfix-Fix-manager-missing-node-tab-with-shared-composable-2f76d73d365081b584b8f6134e624d38 )
by [Unito](https://www.unito.io )
Co-authored-by: Jin Yi <jin12cc@gmail.com >
2026-01-29 00:05:20 -08:00
Comfy Org PR Bot
3060423e27
[backport cloud/1.38] fix: add null check in getCanvasCenter to prevent crash on asset insert ( #8404 )
...
Backport of #8399 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8404-backport-cloud-1-38-fix-add-null-check-in-getCanvasCenter-to-prevent-crash-on-asset-in-2f76d73d365081de80dac9abcc3c53b5 )
by [Unito](https://www.unito.io )
Co-authored-by: Jin Yi <jin12cc@gmail.com >
2026-01-28 20:45:03 -08:00
Comfy Org PR Bot
dd0b2dc9cb
[backport cloud/1.38] fix: increase Vue node resize handle size for better usability ( #8395 )
...
Backport of #8391 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8395-backport-cloud-1-38-fix-increase-Vue-node-resize-handle-size-for-better-usability-2f76d73d3650813eb26af9adf00abe2e )
by [Unito](https://www.unito.io )
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
Co-authored-by: Subagent 5 <subagent@example.com >
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: GitHub Action <action@github.com >
2026-01-28 19:50:09 -08:00
Comfy Org PR Bot
0c02573ff9
[backport cloud/1.38] fix: move WorkspaceAuthGate to LayoutDefault for proper re-login hand… ( #8389 )
...
Backport of #8381 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8389-backport-cloud-1-38-fix-move-WorkspaceAuthGate-to-LayoutDefault-for-proper-re-login-ha-2f76d73d365081d4ae00fc2cbbf1c362 )
by [Unito](https://www.unito.io )
Co-authored-by: Simula_r <18093452+simula-r@users.noreply.github.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 18:41:33 -08:00
Comfy Org PR Bot
0f8925e95a
[backport cloud/1.38] feat: Change the card description to the filename ( #8380 )
...
Backport of #8348 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8380-backport-cloud-1-38-feat-Change-the-card-description-to-the-filename-2f66d73d365081a989a3f793bb72605d )
by [Unito](https://www.unito.io )
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: Amp <amp@ampcode.com >
2026-01-28 15:23:08 -08:00
Comfy Org PR Bot
c8aac69f6c
[backport cloud/1.38] CI: Add formatting after generating locales. ( #8362 )
...
Backport of #8360 to `cloud/1.38`
Automatically created by backport workflow.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8362-backport-cloud-1-38-CI-Add-formatting-after-generating-locales-2f66d73d365081c4837bc748aa0abcd5 )
by [Unito](https://www.unito.io )
Co-authored-by: Alexander Brown <drjkl@comfy.org >
cloud/v1.38.12
2026-01-27 22:42:16 -08:00
Christian Byrne
5c99f89e9d
test: improve refreshRemoteConfig test quality ( #8356 )
...
Addresses review feedback from #8266 :
- Use vi.stubGlobal for global fetch mock
- Extract mockSuccessResponse and mockErrorResponse helpers to reduce
duplication
- Add test verifying 500 responses preserve existing config (only
401/403 clear config)
Related: #8266
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8356-test-improve-refreshRemoteConfig-test-quality-2f66d73d365081f7b207c2fd2b8a8179 )
by [Unito](https://www.unito.io )
2026-01-27 22:18:34 -07:00
Jin Yi
4cf55a7215
[refactor] Manager dialog design improvements ( #8247 )
...
## Summary
Refactored Manager dialog components for cleaner button rendering logic
and improved visibility.
## Changes
- **InfoPanelHeader**: Centralized button rendering logic (try update,
uninstall, install) instead of using slot overrides
- **PackTryUpdateButton**: Changed variant from `textonly` to `inverted`
for better visibility
- **InfoPanel**: Removed slot override and unused imports, simplified
component
- **ManagerDialog**: Design modifications for improved UX
- **PackCard/PackBanner**: Component refinements
- **useManagerDisplayPacks**: New composable for display pack management
## Review Focus
- Button visibility and styling with `inverted` variant
- Centralized button logic in InfoPanelHeader
## Before
[manager-before.webm](https://github.com/user-attachments/assets/4cef5f10-9cb2-4a31-a095-b170643e481d )
## After
[manager-after.webm](https://github.com/user-attachments/assets/9b693b32-59ca-4c88-b7e7-9a78aba19df7 )
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8247-refactor-Manager-dialog-design-improvements-2f06d73d365081bf9f07efa043caa378 )
by [Unito](https://www.unito.io )
2026-01-28 14:11:46 +09:00
Christian Byrne
e8b088ce50
feat: add composable to determine if user is eligible for nightly survey(s) ( #8189 )
...
## Summary
Adds `useSurveyEligibility` composable that determines whether a user
should see a survey based on multiple criteria: nightly localhost build
only (`isNightly && !isCloud && !isDesktop`), configurable usage
threshold (default 3), 14-day global cooldown between any surveys,
once-per-feature-ever display, optional percentage-based sampling, and
user opt-out support. All state persists to localStorage. Includes
extensive unit tests covering all eligibility conditions.
See:
- https://github.com/Comfy-Org/ComfyUI_frontend/pull/8149
- https://github.com/Comfy-Org/ComfyUI_frontend/pull/8175
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8189-feat-add-composable-to-determine-if-user-is-eligible-for-nightly-survey-s-2ee6d73d365081f088f2fd76032cc60a )
by [Unito](https://www.unito.io )
---------
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
2026-01-27 21:31:00 -07:00
Simula_r
34fc28a39d
Feat/workspaces 5 auth gate check ( #8350 )
...
## Summary
- Fix auth related race conditions with a new WorkspaceAuthGate in
App.vue
- De dup initialization calls
- Add state machine to track state of refreshRemoteConfig
- Fix websocket not using new workspace jwt
- Misc improvments
## Changes
- **What**: Mainly WorkspaceAuthGate.vue
- **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-8350-Feat-workspaces-5-auth-gate-check-2f66d73d365081b1a49afcd418fab3e7 )
by [Unito](https://www.unito.io )
2026-01-27 20:28:44 -08:00
pythongosssss
d890e7568a
Add asset deletion progress indicator ( #7906 )
...
## Summary
Currently the delay between user action and visual response is too long
and it looks like it hasn't worked.
This adds a visual indicator that the action is processing.
## Changes
- add loading indicator while asset is deleting
## Screenshots (if applicable)
(Artifically delayed deletion)
https://github.com/user-attachments/assets/a9a8b9fe-896d-4666-b643-ec8b990f6444
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7906-Add-asset-deletion-progress-indicator-2e26d73d365081ed82b8e770ba3d0615 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: Jin Yi <jin12cc@gmail.com >
2026-01-27 21:21:50 -07:00
Benjamin Lu
2c54b0dab0
Revert/undo-788f5083-ef8657bb ( #8353 )
...
This reverts the addition of GTM for 1.38, as it was still present in
the built files.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8353-Revert-undo-788f5083-ef8657bb-2f66d73d365081818d43fcaab220a4ef )
by [Unito](https://www.unito.io )
2026-01-28 03:48:31 +00:00
Jin Yi
17bd5f527a
feat: Add cancel button to active job card in grid view ( #8264 )
...
## Summary
Add a cancel (x) button overlay to active job cards in grid view,
matching the existing list view behavior.
## Changes
- **What**: Added hover-triggered cancel button to `ActiveJobCard.vue`
using the existing `useJobActions` composable
- Button appears on hover for jobs in cancellable states (pending,
initialization, running)
<img width="1710" height="1107" alt="스크린샷 2026-01-23 오후 5 11 04"
src="https://github.com/user-attachments/assets/31a6b6d1-46e7-49c4-a253-92260cb28514 "
/>
<img width="1710" height="1107" alt="스크린샷 2026-01-23 오후 5 10 59"
src="https://github.com/user-attachments/assets/b559a81e-8e62-4858-b8e7-92de9caa2919 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8264-feat-Add-cancel-button-to-active-job-card-in-grid-view-2f16d73d3650817d83f0dd3b955759cb )
by [Unito](https://www.unito.io )
---------
Co-authored-by: GitHub Action <action@github.com >
2026-01-28 12:25:57 +09:00
AustinMroz
89571c7a64
Prevent configuring a node to a placeholder nodeId ( #8342 )
...
Litegraph uses `-1 ` as a placeholder node id to indicate that a node
should be assigned a new node id when added to the graph. Under some
unknown circumstances it's possible for a node to have this placeholder
id saved in a workflow file.
When this occurs, the node is loaded and assigned a new id, but then
configured back to the placeholder id. This PR makes it so the newly
assigned id is kept instead.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8342-Prevent-configuring-a-node-to-a-placehodler-nodeId-2f56d73d365081ed8217e989187b15c8 )
by [Unito](https://www.unito.io )
2026-01-27 19:01:06 -08:00
Alexander Brown
a7862fc4b7
feat: Asset Browser Placeholder update ( #8349 )
...
## Summary
Remind Creators that they can add models that they don't have available
yet
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8349-feat-Asset-Browser-Placeholder-update-2f66d73d3650815f83b4e7ce3587740c )
by [Unito](https://www.unito.io )
---------
Co-authored-by: GitHub Action <action@github.com >
2026-01-27 18:58:50 -08:00
AustinMroz
803062bccd
Prevent partial copy of custom widgets when performing linked promotion on subgraphs ( #6079 )
...
The `toConcrete` call creates a restricted view of a widget that extends
from `BaseWidget`. A copy of the widget created by `createCopyForNode`
will also inherit this restricted view. This creates two problems
- Some widget properties (like `displayValue`) have been judged unsafe
and are explicitly blacklisted from being copied
- The widget now extends from `BaseWidget`. This results in the widget
being processed differently in some logic, such as `#processWidgetClick`
- Because `LegacyWidget` provides an implementation for `onClick`, the
presence of click handlers can not be used to determine which should be
used.
As a proposed, minimal workaround. Widgets which do not already extend
from BaseWidget are no longer cloned through `createCopyForNode`.
Because this PR involves side-stepping properties which have been
explicitly blacklisted. I'd recommend waiting to merge/backport until
after the release of 1.28.7
Resolves Kosinkadink/ComfyUI-VideoHelperSuite#569
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6079-Prevent-partial-copy-of-custom-widgets-when-performing-linked-promotion-on-subgraphs-28d6d73d36508198950efd401186ddef )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Alexander Brown <drjkl@comfy.org >
Co-authored-by: GitHub Action <action@github.com >
2026-01-27 18:45:48 -08:00
Jin Yi
e3bad033ed
[refactor] SearchBox and MultiSelect style improvements ( #8328 )
2026-01-28 02:11:45 +00:00
Johnpaul Chiwetelu
3b5d285fe2
Fix: Implement scope-aware filtering for template modal ( #8335 )
...
## Summary
- Fixes template filtering to be scope-aware, preventing empty results
when switching categories
- Filters now only show as selected when they exist in the current
category scope
- User selections are still persisted in localStorage for convenience
## Problem
When users selected filters (e.g., Image-specific filters) and switched
to a different category (e.g., Video), the persisted filters would cause
empty results because those filter values didn't exist in the new scope.
## Solution
- Modified `useTemplateFiltering` composable to track which filters are
"active" (applicable to current scope)
- Only active filters are shown as selected in the UI
- Only active filters are applied to the filtering logic
- All user selections are still persisted in localStorage
- When returning to a category, previously selected filters
automatically reactivate if applicable
## Test Plan
Tested manually in browser:
1. Navigate to Image category
2. Select filters like "Image" and "Image Edit" from Tasks dropdown
3. Switch to Video category - filters show as "0 selected" (Image/Image
Edit don't exist in Video)
4. Return to Image category - filters are automatically reselected (2
selected)
5. No empty results when switching between categories
## Changes
- `useTemplateFiltering.ts`: Added scope-aware filtering logic with
active/inactive filter distinction
- `WorkflowTemplateSelectorDialog.vue`: Pass navigation context and use
active filters for UI
- `useTemplateFiltering.test.ts`: Added comprehensive tests for
scope-aware behavior
https://github.com/user-attachments/assets/706ddabf-abad-4ff9-a378-6603d275d15a
2026-01-28 03:03:30 +01:00
Alexander Brown
aa5125cef6
Chore: Oxfmt formatting pass ( #8341 )
...
## Summary
Expanding the covered files to format. One-time formatting pass. To be
added to the `.git-blame-ignore-revs`
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8341-Chore-Oxfmt-formatting-pass-2f56d73d365081f2988fcb7570f9a2a1 )
by [Unito](https://www.unito.io )
2026-01-27 17:59:19 -08:00
Kelly Yang
f0eecdfdfa
Refactor DropZone to use VueUse useDropZone ( #8174 )
...
## Summary
Refactor DropZone to use VueUse useDropZone. (#7971 , #7734 )
## Changes
- **What**: Replaced `@dragover`, `@dragleave`, and `@drop` bindings
with `useDropZone`.
## Review Focus
## Screenshots
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8174-Refactor-DropZone-to-use-VueUse-useDropZone-2ee6d73d365081ed9d31d68f7cf42263 )
by [Unito](https://www.unito.io )
2026-01-27 20:25:58 -05:00
Zhiqi Yao
68f3f2f537
Fix Chinese translation "paste" misspelling ( #8316 )
...
## Summary
Fixed the `站贴` misspelling. The original translation is a common
misspelling using Pinyin IME because they are pronounced the same in
Chinese.
## Changes
- Change translation: `站贴` to `粘贴`
## Review Focus
Check the fact that `粘贴` is correct in Chinese. If you're not a Chinese
speaker, copy `粘贴` to Google Translate, and it should be `paste`
exactly.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8316-Fix-Chinese-translation-paste-misspelling-2f46d73d3650814884e3e4adf8edeb5d )
by [Unito](https://www.unito.io )
2026-01-27 17:43:31 -07:00
Alexander Brown
bcb4d6e403
fix: await needsLogin ( #8340 )
...
## Summary
Add additional protection for bootstrap order issues.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8340-fix-await-needsLogin-2f56d73d365081c9b3c6d5a091c1eb8d )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-01-27 14:04:35 -08:00
Alexander Brown
50461d401a
Add a placeholder logo. ( #8321 )
...
## Summary
We could also color it.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8321-Add-a-placeholder-logo-2f46d73d3650819496a2f46d805afc4e )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-27 13:22:35 -08:00
Benjamin Lu
ef8657bb5d
fix: include items array in purchase dataLayer ( #8339 )
...
Include GA4-style `items` payload for subscription purchase events so
GTM receives the full item array.
So, to align with GA4's ecommerce standards, we changed it to an items
array:
https://developers.google.com/analytics/devguides/collection/ga4/item-scoped-ecommerce
2026-01-27 13:04:50 -08:00
Alexander Brown
14369c08a3
refactor: parallelize bootstrap and simplify lifecycle with VueUse ( #8307 )
...
## Summary
Refactors bootstrap and lifecycle management to parallelize
initialization, use Vue best practices, and fix a logout state bug.
## Changes
### Bootstrap Store (`bootstrapStore.ts`)
- Extract early bootstrap logic into a dedicated store using
`useAsyncState`
- Parallelize settings, i18n, and workflow sync loading (previously
sequential)
- Handle multi-user login scenarios by deferring settings/workflows
until authenticated
### GraphCanvas Refactoring
- Move non-DOM composables (`useGlobalLitegraph`, `useCopy`, `usePaste`,
etc.) to script setup level for earlier initialization
- Move `watch` and `whenever` declarations outside `onMounted` (Vue best
practice)
- Use `until()` from VueUse to await bootstrap store readiness instead
of direct async calls
### GraphView Simplification
- Replace manual `addEventListener`/`removeEventListener` with
`useEventListener`
- Replace `setInterval` with `useIntervalFn` for automatic cleanup
- Move core command registration to script setup level
### Bug Fix
Using `router.push()` for logout caused `isSettingsReady` to persist as
`true`, making new users inherit the previous user's cached settings.
Reverted to `window.location.reload()` with TODOs for future store reset
implementation.
## Testing
- Verified login/logout cycle clears settings correctly
- Verified bootstrap sequence completes without errors
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-01-27 12:50:13 -08:00
Benjamin Lu
788f50834c
feat: add cloud gtm injection ( #8311 )
...
## Summary
Add GTM injection for cloud distribution builds and push SPA page view +
signup events.
## Changes
- **What**: Inject GTM script into head-prepend and noscript iframe into
body-prepend for cloud builds
- **What**: Push `page_view` to `dataLayer` on cloud route changes
(page_location + page_title)
- **What**: Push `sign_up` to `dataLayer` after successful account
creation (email/google/github)
- **Dependencies**: None
## Review Focus
- Placement order for head-prepend/body-prepend and cloud-only gating
- Route-change page_view payload shape
- Signup event emission only for new users
## Screenshots (if applicable)
<img width="1512" height="860" alt="Screenshot 2026-01-26 at 11 38
11 AM"
src="https://github.com/user-attachments/assets/03fb61db-5ca4-4432-9704-bbdcc4c6c1b7 "
/>
<img width="1512" height="862" alt="Screenshot 2026-01-26 at 11 38
26 AM"
src="https://github.com/user-attachments/assets/6e46c855-a552-4e52-9800-17898a512d4d "
/>
2026-01-27 12:44:15 -08:00
Alexander Brown
75fd4f0e67
feat: Make the text for the value control a clickable label ( #8334 )
...
## Summary
More clickable!
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8334-feat-Make-the-text-for-the-value-control-a-clickable-label-2f56d73d365081e79886eddeec03458e )
by [Unito](https://www.unito.io )
---------
Co-authored-by: GitHub Action <action@github.com >
2026-01-27 20:16:06 +00:00
Johnpaul Chiwetelu
3946d7b5ff
Road to no explicit any part 8 group 5 ( #8329 )
...
## Summary
- Add `createMockLLink` and `createMockLinks` factory functions to
handle hybrid Map/Record types
- Replace `as any` assertions with type-safe factory functions in
minimap tests
- Implement proper Pinia store mocking using `vi.hoisted()` pattern
- Remove unused `createMockSubgraph` export (shadowed by local
implementations)
## Test plan
- [x] All minimap tests pass (29 tests)
- [x] `pnpm typecheck` passes
- [x] `pnpm lint` passes
- [x] `pnpm knip` passes
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8329-Road-to-no-explicit-any-part-8-group-5-2f56d73d365081218882de81d5526220 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: AustinMroz <austin@comfy.org >
2026-01-27 19:25:15 +01:00
Alexander Brown
440e25e232
fix(test): Mobile Settings ( #8332 )
...
## Summary
Bigger mask.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8332-fix-test-Mobile-Settings-2f56d73d3650813b8e39ea5d77e39c18 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2026-01-27 00:21:15 -08:00
Comfy Org PR Bot
7ad43c689c
1.38.12 ( #8313 )
...
Patch version increment to 1.38.12
**Base branch:** `main`
---------
Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com >
Co-authored-by: github-actions <github-actions@github.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
v1.38.12
2026-01-27 04:44:39 +00:00