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
Alexander Brown
c8785c32dd
feat: add Hugging Face model source support ( #8330 )
...
Add support for Hugging Face as a model source in the Model Info Panel.
- Display HF logo for Hugging Face sources
- Extract source URL from `repo_url` metadata field
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8330-feat-add-Hugging-Face-model-source-support-2f56d73d3650816b8a01d903411ee3a1 )
by [Unito](https://www.unito.io )
Co-authored-by: Amp <amp@ampcode.com >
2026-01-26 20:37:18 -08:00
Christian Byrne
02c20786b8
perf: remove autoplay from assets cards ( #8325 )
...
## Summary
It's rare that someone has enabled autoplay -- but when they have,
scrolling through a large grid of videos and trying to play them all
onload can cause extreme lag. We don't need the asset cards to be
autoplaying, so the fix here is fine for perf and UX.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8325-perf-remove-autoplay-from-assets-cards-2f56d73d3650814e8103f01b1f21b2e2 )
by [Unito](https://www.unito.io )
2026-01-26 20:03:45 -07:00
Rizumu Ayaka
e5e51c8e00
fix: image selection modal Inputs Outputs filtering is not working ( #8272 )
...
filteredItems only updates during search, and does not update when the
filter changes. Trigger a re-search when items change through the
updateKey prop chain.
2026-01-26 19:40:33 -07:00
Rizumu Ayaka
88fba25617
fix: group recompute in item selection for properties panel ( #8274 )
...
Group first click displays an empty node list in Right Side Panel. The
reason is that when clicking the group, only `processSelect()` is
called, and `recomputeInsideNodes()` is not called.
related https://github.com/Comfy-Org/ComfyUI_frontend/pull/8275
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8274-fix-group-recompute-in-item-selection-for-properties-panel-2f16d73d3650812ca394dc9de3d6855b )
by [Unito](https://www.unito.io )
2026-01-26 19:36:37 -07:00
Rizumu Ayaka
01362d5ff1
fix: recomputeInsideNodes does not support nested group processing ( #8275 )
...
related https://github.com/Comfy-Org/ComfyUI_frontend/pull/8274
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8275-fix-recomputeInsideNodes-does-not-support-nested-group-processing-2f16d73d3650815e9b44dbd182f8dd74 )
by [Unito](https://www.unito.io )
2026-01-26 19:34:49 -07:00
Rizumu Ayaka
4370979bc4
fix: add tooltips for various settings in the right side panel ( #8278 )
...
<img width="1264" height="730" alt="CleanShot 2026-01-23 at 21 27 45@2x"
src="https://github.com/user-attachments/assets/9834b673-8467-44c0-b487-d9dd9e4475d0 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8278-fix-add-tooltips-for-various-settings-in-the-right-side-panel-2f16d73d365081e2816cfdf24fa7687f )
by [Unito](https://www.unito.io )
2026-01-26 19:31:18 -07:00
Simula_r
5eda23b7aa
fix: workspace icon flash and credits showing 0 while workspace is in… ( #8323 )
...
## Summary
- Fix: flash of wrong workspace icon (replaced with loader)
- Fix: personal workspace showing 0 credits
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8323-fix-workspace-icon-flash-and-credits-showing-0-while-workspace-is-in-2f46d73d36508159b52fec3fa0c17e35 )
by [Unito](https://www.unito.io )
2026-01-26 16:33:00 -08:00