Commit Graph

60 Commits

Author SHA1 Message Date
Chenlei Hu
8baaf380dc Split jest tests into fast and slow groups (#1401) 2024-11-01 22:39:42 -04:00
Chenlei Hu
dfb695be72 [Refactor] Rework userFileStore to match existing API on ComfyWorkflow (#1394)
* nit

* Move load

* nit

* nit

* Update store API

* nit

* nit

* Move api

* nit

* Update tests

* Add docs

* Add temp user file

* Implement save as

* Test saveAs
2024-10-31 21:58:00 -04:00
Chenlei Hu
4582c71583 [Refactor] Rework modelStore and ModelLibrarySidebarTab (#1350)
* nit

* Rename

* nit

* Move load model folders to app level

* Various fixes

* nit

* nit

* wip

* nit

* nit

* nit

* Split

* nit

* Add back spinner

* nit

* nit

* Add refresh button

* nit

* nit

* Preserve model folder order

* Avoid order change on folder open
2024-10-28 21:23:53 -04:00
Chenlei Hu
a890756868 Enable ts-strict for modelStore.ts (#1241) 2024-10-12 16:38:27 -04:00
Chenlei Hu
5611e90fda Add ts-strict-ignore plugin (#1235)
* Add ts-strict-ignore plugin

* nit

* Add to typecheck script
2024-10-12 11:56:49 -04:00
Chenlei Hu
f71595fcc9 Fix node def handling of undefined fields (#1199)
* Fix node def handling

* nit

* Add test
2024-10-09 22:11:27 -04:00
Chenlei Hu
e99329cff5 Remove class-transformer dependency (#1187)
* nit

* Fix test

* Remove class-transformer and its deps

* nit

* Fix invalid type for dummy node
2024-10-09 15:10:19 -04:00
Chenlei Hu
dee1ec1a2a Update Litegraph (TypeScript conversion) (#1145)
* Fix various type errors

* Fix rest of ts errors

* update litegraph

* nit
2024-10-07 11:31:54 -04:00
Chenlei Hu
1775d43d90 Support keybinding customization (#1081)
* Basic keybinding panel

nit

Make row selectable

Reduce padding

Better key seq render

Show actions on demand

Turn off autocomplete

nit

Persist keybindings

Autofocus

Fix set unsetted keybinding bug

Refactor

Add reset button

Add back default keybinding logic

Report key conflict error

Adjust style

fix bug

Highlight modified keybindings

* Set current editing command's id as dialog header
2024-10-03 16:58:56 -04:00
Chenlei Hu
77aaa38a92 [Extension API] Custom commands and keybindings (#1075)
* Add keybinding schema

* nit

* Keybinding store

* nit

* wip

* Bind condition on ComfyCommand

* Add settings

* nit

* Revamp keybinding store

* Add tests

* Add load keybinding

* load extension keybindings

* Load extension commands

* Handle keybindings

* test

* Keybinding playwright test

* Update README

* nit

* Remove log

* Remove system stats fromt logging.ts
2024-10-02 21:38:04 -04:00
Alex "mcmonkey" Goodwin
cc2b64df52 add filename in model preview popup (#1005)
* add filename in model preview popup

for #1003

* user setting for model name fomat in the tree

* add a tooltip for the setting to explain what things mean

* more explicit file_name naming

* touch of additional text in the tooltip
2024-10-02 10:59:01 -04:00
Alex "mcmonkey" Goodwin
6a158d46b8 [Draft] Model library sidebar tab (#837)
* basic/empty model library sidebar tab

in-progress

* make it actually list out models

* extremely primitive search impl

* list out available folders

(incomplete list atm)

* load list dynamically

* nice lil loading icon

* that's not doing anything

* run autoformatter

* fix up some absolute vue shenanigans

* swap to pi-box

* is_fake_object

* i think apply the tailwind thingo

* trim '.safetensors' from end of display title

* oop

* after load, retain title if no new title is given

* is_load_requested to prevent duplication

* dirty initial model metadata load & preview

based on node preview code

* update model store tests

* initial image icon for model lib

* i hate this

* better empty spacer

* add api handler for '/models'

* load model folders list instead of hardcoding

* add a 'no content' placeholder for empty folders

* autoformat

* autoload model metadata

* error handling on metadata loading

* larger model icons

* click a model to spawn a node for it

* draggable model nodes

* add a setting for whether to autoload or not

* autoformat will be the death of me

* cleanup promise code

* make the model preview actually half-decent

* revert bad unchecked change

* put registration back
2024-09-25 16:01:50 +09:00
Chenlei Hu
eed00f97f9 Disable jest test on audio_stable_audio_example.flac.json (#966)
* Disable jest test on audio_stable_audio_example.flac.json

* nit

* nit
2024-09-25 11:33:23 +09:00
bymyself
6b9c1b70ba Fix group node bookmarking (#950)
* Resolves #926 group node bookmark

* Remove expect outside scope of test

* Update unit tests

* Update group node manager path separators

* Update group node path sepator in fixture
2024-09-24 16:26:02 +09:00
bymyself
b21c0f59f9 Apply node opacity setting to all node colors (#947)
* Apply opacity to node colors. Resolves #928

* Handle default and custom colors all in draw handler

* Add colorUtil unit tests

* Add Playwright test

* Remove comment

* Revert colorPalette.ts changes

* Remove unused imports

* Fix typo

* Update test expectations [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-24 16:19:53 +09:00
bymyself
326e0748c0 Add node opacity setting (#909)
* Add node opacity setting

* Add colorUtil unit test

* Add playwright test

* Update test expectations [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-22 15:18:38 +09:00
Chenlei Hu
63302a6634 Fix sorting on type filter + empty query (#880)
* Fix sorting on type filter + empty query

* nit

* nit
2024-09-19 11:22:23 +09:00
Chenlei Hu
12c699cc87 Update litegraph (Getters) (#829)
* Update litegraph (Getters)

* Update
2024-09-14 17:10:57 +09:00
Chenlei Hu
588cfeca4b Replace ComfyApp.runningNodeId with executionStore.executingNodeId (#828)
* Replace ComfyApp.runningNodeId with executionStore.executingNodeId

* nit
2024-09-14 16:01:37 +09:00
Chenlei Hu
17db1e6074 Rework userFileStore (#815)
* Rework userFileStore

* nit

* Add back unittests
2024-09-13 17:40:08 +09:00
Alex "mcmonkey" Goodwin
060e61f0db initial model store (#674)
* initial model store

* refactor the 'modelstoreserviceimpl' to pinia

* pepper in some reactive

the inner ModelStore (per-folder) can't be pinia because its made of temporary instances, but it can be reactive

* use refs in metadata class

* remove 'reactive'

* remove ref too

* add simple unit tests for modelStore

* make things worse via autoformatting

* move mock impls to a function
2024-09-04 19:59:40 -04:00
Chenlei Hu
51b7467012 Auto transforms bugged node pos (#712) 2024-09-02 14:41:45 -04:00
pythongosssss
d0067719b8 Fix primitive resize (#683)
* Fix primitive resize on load
Fixes #676

* Add test

* Add playwright test

* Update test expectations [skip ci]

---------

Co-authored-by: huchenlei <chenlei.hu@mail.utoronto.ca>
Co-authored-by: github-actions <github-actions@github.com>
2024-08-29 18:01:57 -04:00
Chenlei Hu
090fda2f22 Node library custom bookmark folder (#631)
* Add new folder button

* Add tree util test

* nit

* Support empty folder in node library

* Drag to bookmark folder

* Use bookmark icon for bookmark folder

* Highlight on dragover

* nit

* Auto-expand on item added

* Extract bookmark system as store

* Add context menu on bookmark folder

* Add editable text

* Fix reactivity

* Plumb editable text

* refactor

* Rename node

* Fix focus

* Prevent name collision

* nit

* Add new folder

* nested folder support

* Change drag behavior

* Add basic playwright tests

* nit

* Target tree-node-content instead of tree-node
2024-08-25 21:53:58 -04:00
Chenlei Hu
f2b02dd10b Add userFileStore (#611)
* WIP

* Refactor

* Add userFileStore test
2024-08-23 21:39:22 -04:00
Chenlei Hu
9dd6da3dc2 Support node deprecated/experimental flag (#563)
* Add deprecated field

* Hide deprecated nodes

* Add experimental node show/hide

* Add setting tooltips

* nit

* nit

* nit
2024-08-20 17:00:47 -04:00
Chenlei Hu
d8887a434d Add Comfy.Workflow.SortNodeIdOnSave setting (#502)
* Update litegraph (Sort order)

* nit

* Add sort node on save setting

* nit
2024-08-17 23:23:40 -04:00
Chenlei Hu
9cea54686a Pin reroute on link release searchbox (#469)
* Correctly handle wildcard type

* Add test

* nit

* Pin reroute on link release search

* Connect wildcard

* nit
2024-08-16 13:22:17 -04:00
Yuta Hayashibe
9f3696e70f Fix typos (#404)
* Fix typos: Interupt -> Interrupt

* Fix typos: tempateManagerRow -> templateManagerRow

* Fix some typos

* Fix typos: Convertable -> Convertible

* Fix some typos
2024-08-13 13:57:02 -04:00
Chenlei Hu
fe0d63e16c Use consistent NodeId and SlotIndex in schema (#359)
* Use consistent NodeId and SlotIndex in schema

* Add test
2024-08-10 14:15:00 -04:00
Chenlei Hu
3269b54aae Sync 2666 Execution Model Inversion (#312)
* Sync 2666 Execution Model Inversion

* Fix unittest

* Fallback compatible
2024-08-05 16:42:37 -04:00
Chenlei Hu
c48f68e53e Revert to sync validation on node def for better performance (#297) 2024-08-04 11:02:54 -04:00
Chenlei Hu
0384cf96c4 Reduce loglevel on node def validation (#295)
* Lower the loglevel of node def validation messages

* Fix tests
2024-08-04 10:08:55 -04:00
余腾靖
b5a919e8b2 fix: remove useless @ts-ignore and migrate to @ts-expect-error (#293)
* fix: vite primevue/treenode import error

* refactor: remove useless @ts-ignore and replace with @ts-expect-error

* build(tsconfig): enable incremental to speed up secondary time type check
2024-08-04 07:22:24 -04:00
Chenlei Hu
0cf5e647af Fix copy paste of widget value (#284)
* Fix copy paste of widget value

* Fix ui tests

* Allow undefined group font size

* Update test expectations [skip ci]

* nit

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-03 14:22:43 -04:00
Chenlei Hu
c00e2fd208 Allow input spec with extra values passthrough (#273)
* Allow input spec extra values passthrough

* Refine custom input spec

* nit

* nit
2024-07-31 09:51:32 -04:00
Chenlei Hu
f4f0c960a3 Fix combo input default value (#242)
* Fix combo input default value

* Supress logs and fix failure
2024-07-27 22:17:42 -04:00
Chenlei Hu
b4d7735855 Use ComfyNodeDefImpl on nodeSearchService (#233)
* Make nodeSearchService use ComfyNodeDefImpl

* Fix test
2024-07-26 13:41:24 -04:00
Chenlei Hu
9bcc08d7ab Allow duplicated output names (#232) 2024-07-26 11:57:55 -04:00
Chenlei Hu
a1750212e5 Make node def output class (#231)
* Refactor node def output

* Adjust test
2024-07-26 11:09:43 -04:00
Chenlei Hu
9d56bb4e0e Set default empty record for InputSpec (#225) 2024-07-25 21:29:22 -04:00
Chenlei Hu
c97ff6fd85 Add name field to BaseInputSpec (#226) 2024-07-25 21:07:16 -04:00
Chenlei Hu
0ec15ba101 Transform ComfyNodeDef to ComfyNodeDefImpl (#224) 2024-07-25 20:27:16 -04:00
Chenlei Hu
c6d2767af1 Transforms ComfyInputsSpec on nodes (#220)
* Convert input spec defs

* Fix test

* Add combo test

* import metadata
2024-07-25 13:50:55 -04:00
Chenlei Hu
e179f75387 Apply new code format standard (#217) 2024-07-25 10:10:18 -04:00
Chenlei Hu
1b7db43f8a Format everything (#211) 2024-07-23 15:40:54 -04:00
Chenlei Hu
71ac0dcccc Allow dynamic widgets values (#162) 2024-07-18 17:45:42 -04:00
Chenlei Hu
ab7436f87c Update litegraph to 0.7.26 (#161)
* Update litegraph

* Test node order

* Update test expectations [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-18 17:34:35 -04:00
Chenlei Hu
9961be1bc7 Validate node def from /object_info endpoint (#159)
* Validate node def

* nit

* nit

* More tests
2024-07-18 12:20:47 -04:00
Chenlei Hu
2568746071 Add node search service test (#158) 2024-07-18 10:13:05 -04:00