Compare commits

...

134 Commits

Author SHA1 Message Date
Chenlei Hu
47e3330baa [Branding] Match menu logo with branding spec 2025-05-07 13:48:29 -04:00
Christian Byrne
1ef3c007e6 [Auth] Allow user select GitHub account on login (#3801) 2025-05-07 12:03:23 -04:00
Terry Jia
db81b62274 [3d] add record video support for load3d animation node (#3798) 2025-05-07 10:12:33 -04:00
Comfy Org PR Bot
43365b4318 1.19.4 (#3800)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-07 23:11:01 +10:00
Comfy Org PR Bot
dfdffcd27e [chore] Update litegraph to 0.15.3 (#3799)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-07 22:47:16 +10:00
Comfy Org PR Bot
252454484f [chore] Update litegraph to 0.15.2 (#3797)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-07 22:41:23 +10:00
Comfy Org PR Bot
c1984f7ccd 1.19.3 (#3795)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-05-06 22:04:37 -04:00
Christian Byrne
bbbf140b1f Handle user avatar error (#3735)
Co-authored-by: github-actions <github-actions@github.com>
2025-05-06 22:04:25 -04:00
Terry Jia
754eb807de [3d] some improvement for load3d recording video (#3794) 2025-05-06 22:03:12 -04:00
filtered
fad6c6c502 [nit] Further simplify watcher via whenever (#3790) 2025-05-06 20:23:46 -04:00
Chenlei Hu
926278e9ef [nit] Simplify selection overlay watcher (#3789) 2025-05-06 16:07:19 -04:00
Chenlei Hu
131fae72d4 [Branding] Use new logo on menu bar (#3788) 2025-05-06 15:18:50 -04:00
Comfy Org PR Bot
a8a7288e0d [chore] Update litegraph to 0.15.1 (#3784)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-07 02:01:50 +10:00
Chenlei Hu
2a21dd1004 [Branding] Use new logo favicon (#3787) 2025-05-06 11:02:49 -04:00
Chenlei Hu
3bdd814b3c [Branding] Use new comfyorg logo (#3786) 2025-05-06 10:54:37 -04:00
filtered
0da6be5cdc [Refactor] Update Litegraph widget types / cleanup (#3782) 2025-05-06 19:40:30 +10:00
Comfy Org PR Bot
6a3cf9e698 [chore] Update litegraph to 0.15.0 (#3759)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
2025-05-06 18:54:33 +10:00
Christian Byrne
6b98f1de0e [API Node] Adjust notification dismiss logic and message (#3778) 2025-05-06 00:51:47 -07:00
Chenlei Hu
d05a340949 [Auth] Allow user select google account on login (#3777) 2025-05-05 23:16:16 -04:00
Comfy Org PR Bot
ca16e55579 1.19.2 (#3774)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-05-05 21:16:28 -04:00
Christian Byrne
a54529da40 [API Node] Refine locales (#3772) 2025-05-05 21:16:19 -04:00
Christian Byrne
f52915a590 Allow disabling proxy of /template path via env (#3773) 2025-05-05 17:48:11 -07:00
Christian Byrne
13b00cdbc6 Update template titles (#3771) 2025-05-05 19:05:35 -04:00
Christian Byrne
626b54da27 Fix: latent preview format is read from wrong byte of header (#3761) 2025-05-05 15:08:55 -07:00
Christian Byrne
c24472aeac [API Node] Add localizations for template workflow descriptions (#3769)
Co-authored-by: github-actions <github-actions@github.com>
2025-05-05 12:53:02 -07:00
Chenlei Hu
ea605887fa [API Nodes] Add cost badge for api nodes (#3768) 2025-05-05 14:25:19 -04:00
Chenlei Hu
6edea73bf8 Update blog post link (#3767) 2025-05-05 13:56:20 -04:00
Chenlei Hu
6b8bf989f1 [API Nodes] Apply yellow color to api nodes by default (#3766) 2025-05-05 13:56:11 -04:00
Christian Byrne
3758a435cb [API Node] Sort API templates by localized display name (#3765)
Co-authored-by: github-actions <github-actions@github.com>
2025-05-05 10:55:02 -07:00
Christian Byrne
813bf11484 Fix execution error message overflowing out of screen (#3762) 2025-05-05 23:20:32 +10:00
filtered
b5ae354bec Prevent node tooltip from breaking pan & zoom (#3760) 2025-05-05 22:48:25 +10:00
Comfy Org PR Bot
7a1a626b36 1.19.1 (#3756)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-05-04 20:45:43 -04:00
Comfy Org PR Bot
63d24301a3 [chore] Update litegraph to 0.15.0-3 (#3757)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-05 09:31:52 +10:00
Chenlei Hu
93d7d2c69c [Bug] Remove default dialog close button on news dialog (#3758) 2025-05-04 19:07:13 -04:00
Chenlei Hu
2d9a0d02ab [API Nodes] Add API Nodes new feature dialog (#3755)
Co-authored-by: github-actions <github-actions@github.com>
2025-05-04 17:20:05 -04:00
filtered
6601cf6959 Add setting to enable Litegraph trackpad gestures (#3751)
Co-authored-by: github-actions <github-actions@github.com>
2025-05-04 14:31:43 +10:00
Terry Jia
77ac4a415c [3d] add recording video support (#3749)
Co-authored-by: github-actions <github-actions@github.com>
2025-05-03 23:00:07 -04:00
Comfy Org PR Bot
8ae36e2c8d [chore] Update litegraph to 0.15.0-2 (#3750)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-04 12:01:52 +10:00
Yiximail
cb9ec354e7 Implement mask editor undo/redo (#3708) 2025-05-03 19:55:37 -04:00
filtered
8713cd6e25 [TS] Require override keyword (#3746) 2025-05-03 19:54:45 -04:00
filtered
c30244ef66 [Desktop] Fix Server-Config panel does not load (#3743) 2025-05-04 05:13:04 +10:00
Comfy Org PR Bot
2024aa6562 1.19.0 (#3737)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-05-03 11:14:47 -04:00
filtered
00c2181bb6 Show warning toast when no items are selected (#3741) 2025-05-03 11:14:02 -04:00
Christian Byrne
743f3cb5a1 [Subgraph] Add subgraph breadcrumbs component (#3241)
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2025-05-03 09:31:45 +10:00
Comfy Org PR Bot
111fdcc71a [chore] Update litegraph to 0.15.0-1 (#3738)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-03 08:33:18 +10:00
Terry Jia
ba3b1bae87 add List view for workflow tempalte (#3710)
Co-authored-by: Chenlei Hu <hcl@comfy.org>
Co-authored-by: github-actions <github-actions@github.com>
2025-05-02 17:50:53 -04:00
Christian Byrne
23d32282bc Fix: server fails to load SVG outputs when user has "Preview Format" setting specified (#3734) 2025-05-02 10:09:50 -07:00
Chenlei Hu
197f33ffcd [Bug] Register dom widget when only node is added to graph (#3732) 2025-05-02 12:49:19 -04:00
filtered
b618ebe36d Change groupNode menu anchor to retain position (#3733) 2025-05-03 02:11:06 +10:00
Benjamin Lu
b61640c51b [Desktop] Add toasts for update check (#3723)
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2025-05-02 11:06:51 -04:00
Comfy Org PR Bot
869f500d4e 1.18.6 (#3730)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-05-02 10:59:25 -04:00
Chenlei Hu
ec8ee49a2c [Bug] Fix zoom lag of DOM widget (#3714) 2025-05-02 10:58:51 -04:00
Comfy Org PR Bot
53372110d3 [chore] Update electron-types to 0.4.43 (#3731)
Co-authored-by: benceruleanlu <162923238+benceruleanlu@users.noreply.github.com>
2025-05-02 10:32:13 -04:00
Christian Byrne
1cbc0fc613 [API Node] Sort API templates by name (#3721) 2025-05-01 21:30:32 -04:00
filtered
c82401c61c [TS] Fix strict type on chain callback, widgetInput (#3727) 2025-05-01 21:29:43 -04:00
Comfy Org PR Bot
2c75948ab9 [chore] Update litegraph to 0.15.0-0 (#3725)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-02 10:27:52 +10:00
filtered
89b826a231 [Test] Add missing test expectation (#3724)
Co-authored-by: github-actions <github-actions@github.com>
2025-05-02 09:57:29 +10:00
Christian Byrne
3806ba3bf1 Increase template card titles' line height to 2 lines (#3722) 2025-05-01 19:28:02 -04:00
thot experiment
878aedb4f7 add svg metadata loading (#3719)
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2025-05-02 09:26:24 +10:00
Comfy Org PR Bot
f7e4ed23d7 [chore] Update litegraph to 0.14.6 (#3717)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
2025-05-01 16:19:35 -04:00
Chenlei Hu
4461210f43 Prune widgets on graph configure (#3716) 2025-05-01 16:07:42 -04:00
dependabot[bot]
f868fac6e9 Bump vite from 5.4.18 to 5.4.19 (#3715)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 15:13:28 -04:00
Comfy Org PR Bot
f7b51bbf7d [chore] Update litegraph to 0.14.5 (#3713)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-02 02:56:39 +10:00
Comfy Org PR Bot
8b6758ddfc 1.18.5 (#3711)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-05-01 08:53:53 -04:00
Comfy Org PR Bot
0d87f301b9 [chore] Update litegraph to 0.14.4 (#3706)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-05-01 08:50:51 -04:00
Christian Byrne
8349181321 Fix parsing workflows from mp4 (isobmff) (#3707) 2025-05-01 08:50:24 -04:00
Chenlei Hu
98b75e4819 [Bug] Fix staging tag shown in prod (#3705) 2025-04-30 19:36:07 -04:00
Chenlei Hu
d41b8c4e83 [Refactor] Use single map to store dom widget and states (#3703) 2025-04-30 19:29:49 -04:00
Chenlei Hu
ee8f0bf013 [Style] Fix user icon size (#3701) 2025-04-30 16:19:59 -04:00
Chenlei Hu
834d5820d2 [Auth] Allow change password in user panel (#3699)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-30 16:12:57 -04:00
Comfy Org PR Bot
a43d1e1ee8 1.18.4 (#3686)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-04-30 10:32:08 -04:00
Benjamin Lu
35f0551244 Personal Data Consent Checkbox (#3697)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-30 10:29:46 -04:00
filtered
838acefd72 Fix graph.change called twice on keypress (#3695) 2025-04-30 17:59:01 +10:00
Chenlei Hu
df723b56da Show staging tag for staging firebase (#3693) 2025-04-29 21:32:00 -04:00
Benjamin Lu
c5eb97e563 Add contact info to auth modal (#3692)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-29 20:36:25 -04:00
Chenlei Hu
98d7256da4 Remove refresh button when all nodes are selected (#3690) 2025-04-29 19:59:49 -04:00
Christian Byrne
4828af9a13 [API Node] Update FAQ link to docs.comfy (#3691) 2025-04-29 19:59:28 -04:00
Benjamin Lu
4e0950d953 Adopt copilot instructions (#3689) 2025-04-29 18:46:53 -04:00
Chenlei Hu
beec20a382 [Style] Hide deprecated settings on UI (#3688) 2025-04-29 18:45:41 -04:00
Chenlei Hu
b4731637d4 [Style] Use icon for experimental setting tag (#3687) 2025-04-29 15:59:40 -04:00
Chenlei Hu
30ce4a243d [Refactor] Extract CreditTopUpOption component (#3685) 2025-04-29 14:10:09 -04:00
Chenlei Hu
a2f04844e0 [Bug] Identify api nodes as core nodes (#3683) 2025-04-29 11:45:52 -04:00
Comfy Org PR Bot
1531025070 1.18.3 (#3677)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-04-29 11:26:52 -04:00
Terry Jia
fb14d24047 [upstream] Upstream PreviewAny from rgthree-comfy (#3640) 2025-04-29 11:23:30 -04:00
filtered
04815605b4 Fix two undo steps on add node via context menu (#3674) 2025-04-29 11:23:12 -04:00
Terry Jia
c7435af51b better expression (#3678) 2025-04-29 11:18:01 -04:00
filtered
3bc9a3933f Fix two undo steps on alt-click to add reroute (#3675) 2025-04-28 19:20:00 -04:00
filtered
bd1890a422 [Refactor] Convert save viewport in workflow to watcher (#3673) 2025-04-29 06:49:41 +10:00
Chenlei Hu
5ec4ec8303 [Bug] Fix mp4 output preview in queue (#3672) 2025-04-28 15:25:53 -04:00
Chenlei Hu
b1a98437e4 [Auth] Warn insecure context on login (#3663)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-27 22:04:19 -04:00
Christian Byrne
96d954ceb2 [API Node] Conditional signup render (#3653)
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chenlei Hu <hcl@comfy.org>
2025-04-27 21:47:17 -04:00
Chenlei Hu
c6cb3f0a33 [Auth] Report better auth domain error (#3662)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-27 21:29:52 -04:00
Comfy Org PR Bot
25136cc63d [chore] Update litegraph to 0.14.3 (#3660)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
2025-04-27 21:01:29 -04:00
Chenlei Hu
8472bde5dd [Cleanup] Remove unnecessary null check on auth (2/2) (#3661)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-27 20:50:59 -04:00
Comfy Org PR Bot
3b6dc28727 1.18.2 (#3659)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-04-27 19:14:19 -04:00
filtered
6835b2bb5c Add theme colour for disabled widgets (#3657) 2025-04-27 19:12:47 -04:00
Comfy Org PR Bot
8f540e6603 [chore] Update litegraph to 0.14.2 (#3650)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-04-27 05:41:32 +10:00
Christian Byrne
99cc587abf Load workflows from mp4/mov files (#3543)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-26 12:31:29 -07:00
Benjamin Lu
82c5f02c3d Add contributing guidelines to README.md (#3637)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-26 08:39:35 -04:00
Chenlei Hu
04f447c2a3 [Cleanup] Remove tooltip on current user button (#3636) 2025-04-25 19:27:47 -04:00
Benjamin Lu
84c14ddd92 Remove automatic nightly pytorch for blackwell users on desktop (#3613)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-25 18:08:37 -04:00
Comfy Org PR Bot
c7e6d66d47 [chore] Update electron-types to 0.4.42 (#3634)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-04-26 07:45:10 +10:00
filtered
5d4be8dc63 Fix electron type workflow (#3633) 2025-04-26 07:43:35 +10:00
Chenlei Hu
0bec26ca4b [Cleanup] Remove api.listUserData (#3632) 2025-04-25 15:55:42 -04:00
Chenlei Hu
45eb4701d2 Implement top menu user popover (#3631)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-25 15:26:41 -04:00
Chenlei Hu
25359575db [Refactor] Extract user credit component (#3630) 2025-04-25 15:02:36 -04:00
Comfy Org PR Bot
d0b99b95c6 1.18.1 (#3629)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-04-25 13:34:35 -04:00
filtered
ddff592561 Fix new link follows pointer until menu closed (#3628)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-26 03:26:03 +10:00
Benjamin Lu
8491ca91b7 Move component tests into the same directory as their component counterparts (#3625)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-25 13:13:30 -04:00
Yiximail
630fa04882 Fix dynamic screen height (#3626) 2025-04-25 13:12:30 -04:00
Comfy Org PR Bot
bf80ae7295 [chore] Update litegraph to 0.14.1 (#3627)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-04-26 02:38:46 +10:00
Yiximail
44348180f5 Fix long-press to open contextmenu on touch devices (#3624) 2025-04-25 11:30:13 -04:00
Benjamin Lu
4e12800336 Expand component test coverage to BrowserTabTitle (#3623)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-25 11:03:46 -04:00
Yiximail
d883448b86 Fix incorrect touch event handling by accurately tracking touch points (#3622) 2025-04-25 10:54:34 -04:00
Benjamin Lu
1c59e3b51b [nit] Use TorchMirrorUrl (#3617)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-25 10:52:52 -04:00
Chenlei Hu
b79cbf69af Use PrimeVue Avatar component (#3615) 2025-04-24 21:49:03 -04:00
Chenlei Hu
b05407ffdd [Refactor] Split authStore into authStore and authService (#3612)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-24 20:45:30 -04:00
Benjamin Lu
2a62f7ec7f ignore Vite timestamped config modules in .gitignore (#3614)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-24 20:40:18 -04:00
Benjamin Lu
bf757c11ef Reland "Add unified sidebar width setting" (#3611)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
Co-authored-by: github-actions <github-actions@github.com>
2025-04-24 17:45:25 -04:00
Chenlei Hu
0ed29a198d [Cleanup] Remove unnecessary null check on auth (#3610) 2025-04-24 17:36:16 -04:00
Chenlei Hu
31d5671f24 Revert "Add unified sidebar width setting" (#3609) 2025-04-24 17:14:01 -04:00
Benjamin Lu
ba3e2edb8a Add unified sidebar width setting (#3605)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
Co-authored-by: github-actions <github-actions@github.com>
2025-04-24 16:41:46 -04:00
Benjamin Lu
9c2300d780 Update README with Recommended Code Editor Configuration (#3606)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-24 16:34:38 -04:00
Benjamin Lu
3f85ff751c Remove Release Summary section in README (#3607)
Co-authored-by: Benjamin Lu <templu1107@proton.me>
2025-04-24 16:34:07 -04:00
Chenlei Hu
0caf1686c3 Add Comfy.User.SignOut command (#3608)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-24 16:33:26 -04:00
Chenlei Hu
26f98d24fb [Refactor] Async load all setting panels (#3604) 2025-04-24 13:00:42 -04:00
Comfy Org PR Bot
fcbdee54ec 1.18.0 (#3552)
Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
Co-authored-by: Chenlei Hu <huchenlei@proton.me>
2025-04-24 12:43:44 -04:00
filtered
a944372f39 Improve default node sizes (#3596)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-24 12:42:16 -04:00
Comfy Org PR Bot
df51e89311 [chore] Update litegraph to 0.14.0 (#3602)
Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
2025-04-25 01:00:15 +10:00
Terry Jia
b314435f81 add importmap for vue-i18n (#3595) 2025-04-23 22:34:19 -04:00
Chenlei Hu
ba367c0214 [nit] Rename credit history to invoice history (#3598)
Co-authored-by: github-actions <github-actions@github.com>
2025-04-23 22:33:52 -04:00
Chenlei Hu
64ad6a9bb0 Re-style TopUpCreditDialog to match design (#3597) 2025-04-23 22:28:35 -04:00
AustinMroz
3819db5ec4 Introduce widgetType option to inputSpec (#3550) 2025-04-23 20:36:01 -04:00
filtered
80517e8204 [Test] Add test expectation (#3593) 2025-04-24 08:48:06 +10:00
303 changed files with 5815 additions and 1651 deletions

View File

@@ -18,3 +18,10 @@ TEST_COMFYUI_DIR=/home/ComfyUI
# Whether to enable minification of the frontend code.
ENABLE_MINIFY=true
# Whether to disable proxying the `/templates` route. If true, allows you to
# serve templates from the ComfyUI_frontend/public/templates folder (for
# locally testing changes to templates). When false or nonexistent, the
# templates are served via the normal method from the server's python site
# packages.
DISABLE_TEMPLATES_PROXY=false

37
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,37 @@
Use the Vue 3 Composition API instead of the Options API when writing Vue components. An exception is when overriding or extending a PrimeVue component for compatibility, you may use the Options API.
Use setup() function for component logic
Utilize ref and reactive for reactive state
Implement computed properties with computed()
Use watch and watchEffect for side effects
Implement lifecycle hooks with onMounted, onUpdated, etc.
Utilize provide/inject for dependency injection
Use vue 3.5 style of default prop declaration.
Use Tailwind CSS for styling
Leverage VueUse functions for performance-enhancing styles
Use lodash for utility functions
Use TypeScript for type safety
Implement proper props and emits definitions
Utilize Vue 3's Teleport component when needed
Use Suspense for async components
Implement proper error handling
Follow Vue 3 style guide and naming conventions
Use Vite for fast development and building
Use vue-i18n in composition API for any string literals. Place new translation entries in src/locales/en/main.json.

View File

@@ -32,7 +32,7 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ secrets.PR_GH_TOKEN }}
commit-message: '[chore] Update electron-types to ${{ steps.get-version.outputs.NEW_VERSION }}'
title: '[chore] Update electron-types to ${{ steps.get-version.outputs.NEW_VERSION }}'
body: |

3
.gitignore vendored
View File

@@ -55,3 +55,6 @@ dist.zip
# Temporary repository directory
templates_repo/
# Vites timestamped config modules
vite.config.mts.timestamp-*.mjs

453
README.md
View File

@@ -67,448 +67,19 @@ The development of successive minor versions overlaps. For example, while versio
| 3 | Mar 15-21 | Released | Feature Freeze | Development | 1.1.7 through 1.1.13 (daily)<br>1.2.0 through 1.2.6 (daily) |
| 4 | Mar 22-28 | - | Released | Feature Freeze | 1.2.7 through 1.2.13 (daily)<br>1.3.0 through 1.3.6 (daily) |
## Release Summary
## Contributing
### Major features
We're building this frontend together and would love your help — no matter how you'd like to pitch in! You don't need to write code to make a difference.
<details id='feature-native-translation'>
<summary>v1.5: Native translation (i18n)</summary>
Here are some ways to get involved:
ComfyUI now includes built-in translation support, replacing the need for third-party translation extensions. Select your language
in `Comfy > Locale > Language` to translate the interface into English, Chinese (Simplified), Russian, Japanese, or Korean. This native
implementation offers better performance, reliability, and maintainability compared to previous solutions.<br>
- **Pull Requests:** Add features, fix bugs, or improve code health. Browse [issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues) for inspiration.
- **Vote on Features:** Give a 👍 to the feature requests you care about to help us prioritize.
- **Verify Bugs:** Try reproducing reported issues and share your results (even if the bug doesn't occur!).
- **Community Support:** Hop into our [Discord](https://www.comfy.org/discord) to answer questions or get help.
- **Share & Advocate:** Tell your friends, tweet about us, or share tips to support the project.
More details available here: https://blog.comfy.org/p/native-localization-support-i18n
</details>
<details id='feature-mask-editor'>
<summary>v1.4: New mask editor</summary>
https://github.com/Comfy-Org/ComfyUI_frontend/pull/1284 implements a new mask editor.
![image](https://github.com/user-attachments/assets/f0ea6ee5-00ee-4e5d-a09c-6938e86a1f17)
</details>
<details id='feature-integrated-server-terminal'>
<summary>v1.3.22: Integrated server terminal</summary>
Press Ctrl + ` to toggle integrated terminal.
https://github.com/user-attachments/assets/eddedc6a-07a3-4a83-9475-63b3977f6d94
</details>
<details id='feature-keybinding-customization'>
<summary>v1.3.7: Keybinding customization</summary>
## Basic UI
![image](https://github.com/user-attachments/assets/c84a1609-3880-48e0-a746-011f36beda68)
## Reset button
![image](https://github.com/user-attachments/assets/4d2922da-bb4f-4f90-8017-a8e4a0db07c7)
## Edit Keybinding
![image](https://github.com/user-attachments/assets/77626b7a-cb46-48f8-9465-e03120aac66a)
![image](https://github.com/user-attachments/assets/79131a4e-75c6-4715-bd11-c6aaed887779)
[rec.webm](https://github.com/user-attachments/assets/a3984ed9-eb28-4d47-86c0-7fc3efc2b5d0)
</details>
<details id='feature-node-library-sidebar'>
<summary>v1.2.4: Node library sidebar tab</summary>
#### Drag & Drop
https://github.com/user-attachments/assets/853e20b7-bc0e-49c9-bbce-a2ba7566f92f
#### Filter
https://github.com/user-attachments/assets/4bbca3ee-318f-4cf0-be32-a5a5541066cf
</details>
<details id='feature-queue-sidebar'>
<summary>v1.2.0: Queue/History sidebar tab</summary>
https://github.com/user-attachments/assets/86e264fe-4d26-4f07-aa9a-83bdd2d02b8f
</details>
<details id='feature-node-search'>
<summary>v1.1.0: Node search box</summary>
#### Fuzzy search & Node preview
![image](https://github.com/user-attachments/assets/94733e32-ea4e-4a9c-b321-c1a05db48709)
#### Release link with shift
https://github.com/user-attachments/assets/a1b2b5c3-10d1-4256-b620-345de6858f25
</details>
### QoL changes
<details id='feature-nested-group'>
<summary>v1.3.32: **Litegraph** Nested group</summary>
https://github.com/user-attachments/assets/f51adeb1-028e-40af-81e4-0ac13075198a
</details>
<details id='feature-group-selection'>
<summary>v1.3.24: **Litegraph** Group selection</summary>
https://github.com/user-attachments/assets/e6230a94-411e-4fba-90cb-6c694200adaa
</details>
<details id='feature-toggle-link-visibility'>
<summary>v1.3.6: **Litegraph** Toggle link visibility</summary>
[rec.webm](https://github.com/user-attachments/assets/34e460ac-fbbc-44ef-bfbb-99a84c2ae2be)
</details>
<details id='feature-auto-widget-conversion'>
<summary>v1.3.4: **Litegraph** Auto widget to input conversion</summary>
Dropping a link of correct type on node widget will automatically convert the widget to input.
[rec.webm](https://github.com/user-attachments/assets/15cea0b0-b225-4bec-af50-2cdb16dc46bf)
</details>
<details id='feature-pan-mode'>
<summary>v1.3.4: **Litegraph** Canvas pan mode</summary>
The canvas becomes readonly in pan mode. Pan mode is activated by clicking the pan mode button on the canvas menu
or by holding the space key.
[rec.webm](https://github.com/user-attachments/assets/c7872532-a2ac-44c1-9e7d-9e03b5d1a80b)
</details>
<details id='feature-shift-drag-link-creation'>
<summary>v1.3.1: **Litegraph** Shift drag link to create a new link</summary>
[rec.webm](https://github.com/user-attachments/assets/7e73aaf9-79e2-4c3c-a26a-911cba3b85e4)
</details>
<details id='feature-optional-input-donuts'>
<summary>v1.2.62: **Litegraph** Show optional input slots as donuts</summary>
![GYEIRidb0AYGO-v](https://github.com/user-attachments/assets/e6cde0b6-654b-4afd-a117-133657a410b1)
</details>
<details id='feature-group-title-edit'>
<summary>v1.2.44: **Litegraph** Double click group title to edit</summary>
https://github.com/user-attachments/assets/5bf0e2b6-8b3a-40a7-b44f-f0879e9ad26f
</details>
<details id='feature-group-selection-shortcut'>
<summary>v1.2.39: **Litegraph** Group selected nodes with Ctrl + G</summary>
https://github.com/user-attachments/assets/7805dc54-0854-4a28-8bcd-4b007fa01151
</details>
<details id='feature-node-title-edit'>
<summary>v1.2.38: **Litegraph** Double click node title to edit</summary>
https://github.com/user-attachments/assets/d61d5d0e-f200-4153-b293-3e3f6a212b30
</details>
<details id='feature-drag-multi-link'>
<summary>v1.2.7: **Litegraph** drags multiple links with shift pressed</summary>
https://github.com/user-attachments/assets/68826715-bb55-4b2a-be6e-675cfc424afe
https://github.com/user-attachments/assets/c142c43f-2fe9-4030-8196-b3bfd4c6977d
</details>
<details id='feature-auto-connect-link'>
<summary>v1.2.2: **Litegraph** auto connects to correct slot</summary>
#### Before
https://github.com/user-attachments/assets/c253f778-82d5-4e6f-aec0-ea2ccf421651
#### After
https://github.com/user-attachments/assets/b6360ac0-f0d2-447c-9daa-8a2e20c0dc1d
</details>
<details id='feature-hide-text-overflow'>
<summary>v1.1.8: **Litegraph** hides text overflow on widget value</summary>
https://github.com/user-attachments/assets/5696a89d-4a47-4fcc-9e8c-71e1264943f2
</details>
### Developer APIs
<details>
<summary>v1.6.13: prompt/confirm/alert replacements for ComfyUI desktop</summary>
Several browser-only APIs are not available in ComfyUI desktop's electron environment.
- `window.prompt`
- `window.confirm`
- `window.alert`
Please use the following APIs as replacements.
```js
// window.prompt
window['app'].extensionManager.dialog
.prompt({
title: 'Test Prompt',
message: 'Test Prompt Message'
})
.then((value: string) => {
// Do something with the value user entered
})
```
![image](https://github.com/user-attachments/assets/c73f74d0-9bb4-4555-8d56-83f1be4a1d7e)
```js
// window.confirm
window['app'].extensionManager.dialog
.confirm({
title: 'Test Confirm',
message: 'Test Confirm Message'
})
.then((value: boolean) => {
// Do something with the value user entered
})
```
![image](https://github.com/user-attachments/assets/8dec7a42-7443-4245-85be-ceefb1116e96)
```js
// window.alert
window['app'].extensionManager.toast
.addAlert("Test Alert")
```
![image](https://github.com/user-attachments/assets/9b18bdca-76ef-4432-95de-5cd2369684f2)
</details>
<details>
<summary>v1.3.34: Register about panel badges</summary>
```js
app.registerExtension({
name: 'TestExtension1',
aboutPageBadges: [
{
label: 'Test Badge',
url: 'https://example.com',
icon: 'pi pi-box'
}
]
})
```
![image](https://github.com/user-attachments/assets/099e77ee-16ad-4141-b2fc-5e9d5075188b)
</details>
<details id='extension-api-bottom-panel-tabs'>
<summary>v1.3.22: Register bottom panel tabs</summary>
```js
app.registerExtension({
name: 'TestExtension',
bottomPanelTabs: [
{
id: 'TestTab',
title: 'Test Tab',
type: 'custom',
render: (el) => {
el.innerHTML = '<div>Custom tab</div>'
}
}
]
})
```
![image](https://github.com/user-attachments/assets/2114f8b8-2f55-414b-b027-78e61c870b64)
</details>
<details id='extension-api-settings'>
<summary>v1.3.22: New settings API</summary>
Legacy settings API.
```js
// Register a new setting
app.ui.settings.addSetting({
id: 'TestSetting',
name: 'Test Setting',
type: 'text',
defaultValue: 'Hello, world!'
})
// Get the value of a setting
const value = app.ui.settings.getSettingValue('TestSetting')
// Set the value of a setting
app.ui.settings.setSettingValue('TestSetting', 'Hello, universe!')
```
New settings API.
```js
// Register a new setting
app.registerExtension({
name: 'TestExtension1',
settings: [
{
id: 'TestSetting',
name: 'Test Setting',
type: 'text',
defaultValue: 'Hello, world!'
}
]
})
// Get the value of a setting
const value = app.extensionManager.setting.get('TestSetting')
// Set the value of a setting
app.extensionManager.setting.set('TestSetting', 'Hello, universe!')
```
</details>
<details id='extension-api-commands-keybindings'>
<summary>v1.3.7: Register commands and keybindings</summary>
Extensions can call the following API to register commands and keybindings. Do
note that keybindings defined in core cannot be overwritten, and some keybindings
are reserved by the browser.
```js
app.registerExtension({
name: 'TestExtension1',
commands: [
{
id: 'TestCommand',
function: () => {
alert('TestCommand')
}
}
],
keybindings: [
{
combo: { key: 'k' },
commandId: 'TestCommand'
}
]
})
```
</details>
<details id='extension-api-topbar-menu'>
<summary>v1.3.1: Extension API to register custom topbar menu items</summary>
Extensions can call the following API to register custom topbar menu items.
```js
app.registerExtension({
name: 'TestExtension1',
commands: [
{
id: 'foo-id',
label: 'foo',
function: () => {
alert(1)
}
}
],
menuCommands: [
{
path: ['ext', 'ext2'],
commands: ['foo-id']
}
]
})
```
![image](https://github.com/user-attachments/assets/ae7b082f-7ce9-4549-a446-4563567102fe)
</details>
<details id='extension-api-toast'>
<summary>v1.2.27: Extension API to add toast message</summary>i
Extensions can call the following API to add toast messages.
```js
app.extensionManager.toast.add({
severity: 'info',
summary: 'Loaded!',
detail: 'Extension loaded!',
life: 3000
})
```
Documentation of all supported options can be found here: <https://primevue.org/toast/#api.toast.interfaces.ToastMessageOptions>
![image](https://github.com/user-attachments/assets/de02cd7e-cd81-43d1-a0b0-bccef92ff487)
</details>
<details id='extension-api-sidebar-tab'>
<summary>v1.2.4: Extension API to register custom sidebar tab</summary>
Extensions now can call the following API to register a sidebar tab.
```js
app.extensionManager.registerSidebarTab({
id: "search",
icon: "pi pi-search",
title: "search",
tooltip: "search",
type: "custom",
render: (el) => {
el.innerHTML = "<div>Custom search tab</div>";
},
});
```
The list of supported icons can be found here: <https://primevue.org/icons/#list>
We will support custom icons later.
![image](https://github.com/user-attachments/assets/7bff028a-bf91-4cab-bf97-55c243b3f5e0)
</details>
<details id='extension-api-selection-toolbox'>
<summary>v1.10.9: Selection Toolbox API</summary>
Extensions can register commands that appear in the selection toolbox when specific items are selected on the canvas.
```js
app.registerExtension({
name: 'TestExtension1',
commands: [
{
id: 'test.selection.command',
label: 'Test Command',
icon: 'pi pi-star',
function: () => {
// Command logic here
}
}
],
// Return an array of command IDs to show in the selection toolbox
// when an item is selected
getSelectionToolboxCommands: (selectedItem) => ['test.selection.command']
})
```
The selection toolbox will display the command button when items are selected:
![Image](https://github.com/user-attachments/assets/28d91267-c0a9-4bd5-a7c4-36e8ec44c9bd)
</details>
Have another idea? Drop into Discord or open an issue, and let's chat!
## Development
@@ -557,6 +128,12 @@ After you start the dev server, you should see following logs:
Make sure your desktop machine and touch device are on the same network. On your touch device,
navigate to `http://<server_ip>:5173` (e.g. `http://192.168.2.20:5173` here), to access the ComfyUI frontend.
### Recommended Code Editor Configuration
This project includes `.vscode/launch.json.default` and `.vscode/settings.json.default` files with recommended launch and workspace settings for editors that use the `.vscode` directory (e.g., VS Code, Cursor, etc.).
Weve also included a list of recommended extensions in `.vscode/extensions.json`. Your editor should detect this file and show a human friendly list in the Extensions panel, linking each entry to its marketplace page.
### Unit Test
- `npm i` to install all dependencies

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -270,6 +270,7 @@ export class ComfyPage {
localStorage.clear()
sessionStorage.clear()
localStorage.setItem('Comfy.userId', id)
localStorage.setItem('api-nodes-news-seen', 'true')
}, this.id)
}
await this.goto()
@@ -490,6 +491,7 @@ export class ComfyPage {
const getFileType = (fileName: string) => {
if (fileName.endsWith('.png')) return 'image/png'
if (fileName.endsWith('.svg')) return 'image/svg+xml'
if (fileName.endsWith('.webp')) return 'image/webp'
if (fileName.endsWith('.webm')) return 'video/webm'
if (fileName.endsWith('.json')) return 'application/json'
@@ -923,6 +925,12 @@ export class ComfyPage {
return window['app'].canvas.ds.convertOffsetToCanvas(pos)
}, pos)
}
/** Get number of DOM widgets on the canvas. */
async getDOMWidgetCount() {
return await this.page.locator('.dom-widget').count()
}
async getNodeRefById(id: NodeId) {
return new NodeReference(id, this)
}

View File

@@ -48,6 +48,7 @@ const customColorPalettes: Record<string, Palette> = {
WIDGET_OUTLINE_COLOR: '#333',
WIDGET_TEXT_COLOR: '#a3a3a8',
WIDGET_SECONDARY_TEXT_COLOR: '#97979c',
WIDGET_DISABLED_TEXT_COLOR: '#646464',
LINK_COLOR: '#9A9',
EVENT_LINK_COLOR: '#A86',
CONNECTING_LINK_COLOR: '#AFA'
@@ -111,6 +112,7 @@ const customColorPalettes: Record<string, Palette> = {
WIDGET_OUTLINE_COLOR: '#333',
WIDGET_TEXT_COLOR: '#a3a3a8',
WIDGET_SECONDARY_TEXT_COLOR: '#97979c',
WIDGET_DISABLED_TEXT_COLOR: '#646464',
LINK_COLOR: '#9A9',
EVENT_LINK_COLOR: '#A86',
CONNECTING_LINK_COLOR: '#AFA'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@@ -31,4 +31,20 @@ test.describe('DOM Widget', () => {
await comfyPage.nextFrame()
await expect(comfyPage.canvas).toHaveScreenshot('focus-mode-on.png')
})
// No DOM widget should be created by creation of interim LGraphNode objects.
test('Copy node with DOM widget by dragging + alt', async ({ comfyPage }) => {
const initialCount = await comfyPage.getDOMWidgetCount()
// TextEncodeNode1
await comfyPage.page.mouse.move(618, 191)
await comfyPage.page.keyboard.down('Alt')
await comfyPage.page.mouse.down()
await comfyPage.page.mouse.move(100, 100)
await comfyPage.page.mouse.up()
await comfyPage.page.keyboard.up('Alt')
const finalCount = await comfyPage.getDOMWidgetCount()
expect(finalCount).toBe(initialCount + 1)
})
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 95 KiB

View File

@@ -9,7 +9,13 @@ test.describe('Load Workflow in Media', () => {
'no_workflow.webp',
'large_workflow.webp',
'workflow.webm',
'workflow.glb'
// Skipped due to 3d widget unstable visual result.
// 3d widget shows grid after fully loaded.
// 'workflow.glb',
'workflow.mp4',
'workflow.mov',
'workflow.m4v',
'workflow.svg'
]
fileNames.forEach(async (fileName) => {
test(`Load workflow in ${fileName} (drop from filesystem)`, async ({
@@ -24,7 +30,7 @@ test.describe('Load Workflow in Media', () => {
'https://comfyanonymous.github.io/ComfyUI_examples/hidream/hidream_dev_example.png'
]
urls.forEach(async (url) => {
test(`Load workflow from URL${url} (drop from different browser tabs)`, async ({
test(`Load workflow from URL ${url} (drop from different browser tabs)`, async ({
comfyPage
}) => {
await comfyPage.dragAndDropURL(url)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Some files were not shown because too many files have changed in this diff Show More