Christian Byrne
df2fda6077
[refactor] Replace manual semantic version utilities/functions with semver package ( #5653 )
...
## Summary
- Replace custom `compareVersions()` with `semver.compare()`
- Replace custom `isSemVer()` with `semver.valid()`
- Remove deprecated version comparison functions from `formatUtil.ts`
- Update all version comparison logic across components and stores
- Fix tests to use semver mocking instead of formatUtil mocking
## Benefits
- **Industry standard**: Uses well-maintained, battle-tested `semver`
package
- **Better reliability**: Handles edge cases more robustly than custom
implementation
- **Consistent behavior**: All version comparisons now use the same
underlying logic
- **Type safety**: Better TypeScript support with proper semver types
Fixes #4787
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5653-refactor-Replace-manual-semantic-version-utilities-functions-with-semver-package-2736d73d365081fb8498ee11cbcc10e2 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: DrJKL <DrJKL@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-19 12:27:49 -07:00
Alexander Brown
08220d50d9
Lint: Turn on rules that should allow for verbatimModuleSyntax ( #5616 )
...
* lint: turn on type import rules setting up for verbatimModuleSyntax
* lint: --fix for type imports
2025-09-16 22:03:41 -07:00
Alexander Brown
f6405e9125
Knip: More Pruning ( #5374 )
...
* knip: Don't ignore exports that are only used within a given file
* knip: More pruning after rebase
* knip: Vite plugin config fix
* knip: vitest plugin config
* knip: Playwright config, remove unnecessary ignores.
* knip: Simplify project file enumeration.
* knip: simplify the config file patterns ?(.optional_segment)
* knip: tailwind v4 fix
* knip: A little more, explain some of the deps.
Should be good for this PR.
* knip: remove unused disabling of classMembers.
It's opt-in, which we should probably do.
* knip: floating comments
We should probably delete _one_ of these parallell trees, right?
* knip: Add additional entrypoints
* knip: Restore UserData that's exposed via the types for now.
* knip: Add as an entry file even though knip says it's not necessary.
* knip: re-export functions used by nodes (h/t @christian-byrne)
2025-09-07 01:10:32 -07:00
Alexander Brown
3fbcf4aa7e
knip: YOLO pass, all the unused exports enabled, YAGNI for the rest ( #5313 )
...
* knip: Enable unusedBinaries, add two exceptions
* knip: YOLO pass, all the unused exports enabled.
Paired with @christian-byrne to allow for some special cases to remain with custom knip ignore tags.
* knip: remove post-rebase
2025-09-04 22:29:44 -07:00
Sambhavi Pandey
475c9f7f89
fix(queryRegex): safe escape for query regex ( #4493 )
...
Co-authored-by: Sambhavi Pandey <sambhavi.pandey@aexp.com >
2025-07-24 15:31:07 -07:00
filtered
834ac3ea61
[CodeHealth] Simplify code as follow-up to #4354 ( #4400 )
2025-07-09 13:08:33 -07:00
bmcomfy
2d2cec2e79
[System Pop Up] Add help center with release notifications and "What's New" popup ( #4256 )
...
Co-authored-by: github-actions <github-actions@github.com >
2025-06-26 14:11:15 -07:00
Christian Byrne
992c2ba822
Show text progress messages on executing nodes ( #3824 )
2025-05-10 16:10:58 -04:00
Christian Byrne
8558f87547
[API Node] User management ( #3567 )
...
Co-authored-by: github-actions <github-actions@github.com >
Co-authored-by: Chenlei Hu <hcl@comfy.org >
2025-04-22 18:48:45 -04:00
Christian Byrne
e7fe2046ba
Checkout on credit add ( #3555 )
2025-04-21 22:46:05 -07:00
Chenlei Hu
e8997a7653
[TS] Fix ts-strict errors in Vue components (Part 2) ( #3123 )
...
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
2025-03-18 10:51:23 -04:00
Christian Byrne
a7a8cc633b
[Manager] Improve node pack card design ( #3089 )
2025-03-17 10:36:35 -04:00
Christian Byrne
a7d3a74daa
Fix download gated HF models ( #3004 )
2025-03-13 13:54:40 -04:00
Christian Byrne
8b69b280fa
Add node pack actions: install, uninstall, enable, disable, change version ( #3016 )
...
Co-authored-by: github-actions <github-actions@github.com >
2025-03-13 13:53:56 -04:00
Christian Byrne
3e8ef33cbc
Fetch model metadata for Civitai models embedded in workflows ( #2994 )
2025-03-12 10:43:15 -04:00
Chenlei Hu
131229f02f
Use uuid for dom widget id ( #2947 )
2025-03-09 17:22:18 -04:00
Christian Byrne
d8721760f1
Add custom nodes manager UI ( #2923 )
...
Co-authored-by: github-actions <github-actions@github.com >
2025-03-08 18:54:08 -05:00
MohammadAboulEla
d10dad85c6
Update formatUtil.ts ( #2906 )
...
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com >
2025-03-07 15:06:26 -05:00
Chenlei Hu
f7be9157e0
Dom widget store ( #2899 )
2025-03-06 13:23:58 -05:00
bymyself
a415da616c
Add Comfy Registry store and search hook ( #2848 )
2025-03-04 16:33:46 -05:00
Chenlei Hu
2b212f9701
S&R improved filename sanitizing ( #2784 )
...
Co-authored-by: typpos <28550406+typpos@users.noreply.github.com >
2025-03-01 10:47:42 -05:00
Chenlei Hu
cdf42d5ad7
[Refactor] Move zod schemas to schemas/ folder ( #2753 )
2025-02-27 13:05:01 -05:00
bymyself
f94831d054
Add node video previews ( #2635 )
2025-02-22 18:37:42 -05:00
bymyself
40fa1d37bc
Fix pasting image that was copied from browser ( #2630 )
2025-02-19 10:27:58 -05:00
bymyself
df11c99393
Refactor node image upload and preview ( #2580 )
...
Co-authored-by: huchenlei <huchenlei@proton.me >
2025-02-16 10:09:02 -05:00
Chenlei Hu
0ab1d974c0
Add url setting type ( #2327 )
2025-01-23 11:25:06 -05:00
pythongosssss
c77a5cab5b
Add support for nested dynamic prompts ( #2117 )
2025-01-01 15:29:17 -05:00
Chenlei Hu
7986aebf27
Translate command label on top command dropdown menu ( #1792 )
...
* collect i18n with playwright
* Add command label translation
* Normalize i18n object key
2024-12-04 13:19:53 -05:00
Chenlei Hu
c56533bb23
Workflow Management Reworked ( #1406 )
...
* Merge temp userfile
Basic migration
Remove deprecated isFavourite
Rename
nit
nit
Rework open/load
Refactor save
Refactor delete
Remove workflow dep on manager
WIP
Change map to record
Fix directory
nit
isActive
Move
nit
Add unload
Add close workflow
Remove workflowManager.closeWorkflow
nit
Remove workflowManager.storePrompt
move from commandStore
move more from commandStore
nit
Use workflowservice
nit
nit
implement setWorkflow
nit
Remove workflows.ts
Fix strict errors
nit
nit
Resolves circular dep
nit
nit
Fix workflow switching
Add openworkflowPaths
Fix store
Fix key
Serialize by default
Fix proxy
nit
Update path
Proper sync
Fix tabs
WIP
nit
Resolve merge conflict
Fix userfile store tests
Update jest test
Update tabs
patch tests
Fix changeTracker init
Move insert to service
nit
Fix insert
nit
Handle bookmark rename
Refactor tests
Add delete workflow
Add test on deleting workflow
Add closeWorkflow tests
nit
* Fix path
* Move load next/previous
* Move logic from store to service
* nit
* nit
* nit
* nit
* nit
* Add ChangeTracker.initialState
* ChangeTracker load/unload
* Remove app.changeWorkflow
* Hook to app.ts
* Changetracker restore
* nit
* nit
* nit
* Add debug logs
* Remove unnecessary checkState on graphLoad
* nit
* Fix strict
* Fix temp workflow name
* Track ismodified
* Fix reactivity
* nit
* Fix graph equal
* nit
* update test
* nit
* nit
* Fix modified state
* nit
* Fix modified state
* Sidebar force close
* tabs force close
* Fix save
* Add load remote workflow test
* Force save
* Add save test
* nit
* Correctly handle delete last opened workflow
* nit
* Fix workflow rename
* Fix save
* Fix tests
* Fix strict
* Update playwright tests
* Fix filename conflict handling
* nit
* Merge temporary and persisted ref
* Update playwright expectations
* nit
* nit
* Fix saveAs
* Add playwright test
* nit
2024-11-05 11:03:27 -05:00
Chenlei Hu
8dddffe840
Use browser download in missing model dialog ( #1362 )
...
* Remove custom backend download logic
* Add download hooks
* Download button
* Use browser download
* Update test
2024-10-29 14:07:16 -04:00
Chenlei Hu
9aa976fdf0
Show total/free ram in about page ( #924 )
2024-09-22 17:40:40 +09:00
Chenlei Hu
6c4143ca94
Show node by frequency on empty query ( #878 )
2024-09-19 09:35:22 +09:00
Chenlei Hu
4e41db2d6a
[Beta Menu] Shows unsaved state on browser tab title ( #860 )
...
* [Beta Menu] Shows unsaved state on browser tab title
* Proper state management
* Add playwright test
* Fix browser tests
2024-09-17 16:14:06 +09:00
Chenlei Hu
7d25d976d1
Extract search option as a Vue component ( #838 )
2024-09-15 17:15:19 +09:00
Chenlei Hu
347563adf9
Move json format functions to formatUtil ( #834 )
2024-09-15 09:46:34 +09:00
Chenlei Hu
0f3b58b610
Add space to setting group label ( #370 )
...
* Add space to setting group label
* handle acronym
2024-08-11 09:36:52 -04:00