psychedelicious
574d6538b9
fix(ui): merge conflict
2024-03-01 10:42:33 +11:00
psychedelicious
3141c6efd5
chore(ui): bump deps
...
The only major version is `query-string`. The breaking change for it is dropping support for old versions of node. Not a problem for us.
2024-03-01 10:42:33 +11:00
psychedelicious
bcf742ef87
feat(ui): move from madge to dpdm for circular dependencies
2024-03-01 10:42:33 +11:00
psychedelicious
f6c068afdd
tidy(ui): fix circular dependencies in listeners
2024-03-01 10:42:33 +11:00
psychedelicious
7d2e840590
tidy: remove some traces of ONNX
2024-03-01 10:42:33 +11:00
psychedelicious
f0b3485ce9
chore(ui): typegen, update knip config
...
Knip should never touch the autogenerated types
2024-03-01 10:42:33 +11:00
psychedelicious
37608cdea2
chore(ui): update pnpm-lock.yaml
...
Forgot to run `pnpm i` earlier after removing packages.
2024-03-01 10:42:33 +11:00
psychedelicious
1176c549c0
feat(ui): configure knip
2024-03-01 10:42:33 +11:00
psychedelicious
d90210fea6
tidy(ui): clean up unused code 6
...
unused files
2024-03-01 10:42:33 +11:00
psychedelicious
d99bec8b1a
tidy(ui): clean up unused code 5
...
variables, types and schemas
2024-03-01 10:42:33 +11:00
psychedelicious
b661d93bd8
tidy(ui): clean up unused code 4
...
variables, types and schemas
2024-03-01 10:42:33 +11:00
psychedelicious
dc64089c9d
tidy(ui): clean up unused code 3
...
variables, types and schemas
2024-03-01 10:42:33 +11:00
psychedelicious
a6f6fe581e
tidy(ui): clean up unused code 2
...
types and schemas
2024-03-01 10:42:33 +11:00
psychedelicious
b218282149
fix(ui): model install progress sets total bytes correctly
2024-03-01 10:42:33 +11:00
psychedelicious
80065858ed
chore(ui): lint
2024-03-01 10:42:33 +11:00
psychedelicious
aaeef03593
fix(ui): fix remaining TS issues
2024-03-01 10:42:33 +11:00
psychedelicious
97ecd99b9c
fix(ui): fix up MM queries & types (wip)
2024-03-01 10:42:33 +11:00
psychedelicious
202e739404
tidy(api): remove non-heuristic install route
2024-03-01 10:42:33 +11:00
psychedelicious
8f93ae8d7c
tidy(ui): clean up unused code 1
...
- Only export when necessary
- Remove totally usused functions, variables, state, etc
- Remove unused packages
2024-03-01 10:42:33 +11:00
psychedelicious
506fa55f18
feat(ui): add knip + minimal config
...
https://knip.dev/
Replaces `unimported`
2024-03-01 10:42:33 +11:00
psychedelicious
4c19d5cee4
fix(ui): fix missing component import
2024-03-01 10:42:33 +11:00
blessedcoolant
afa7043dcd
ui: split the canvas mask blur and edge size setting
2024-03-01 10:42:33 +11:00
Jennifer Player
32b8478974
added add all button to scan models
2024-03-01 10:42:33 +11:00
psychedelicious
d23f2de9d7
feat(ui): create metadata types for control adapters
...
These are the same as the existing control adapter types, but the model field is non-nullable, simplifying handling of these objects.
2024-03-01 10:42:33 +11:00
psychedelicious
9abfb02bf0
fix(ui): model metadata handlers use model identifiers, not configs
...
Model metadata includes the main model, VAE and refiner model.
These used full model configs, as returned by the server, as their metadata type.
LoRA and control adapter metadata only use the metadata identifier.
This created a difference in handling. After parsing a model/vae/refiner, we have its name and can display it. But for LoRAs and control adapters, we only have the model key and must query for the full model config to get the name.
This change makes main model/vae/refiner metadata only have the model key, like LoRAs and control adapters.
The render function is now async so fetching can occur within it. All metadata fields with models now only contain the identifier, and fetch the model name to render their values.
2024-03-01 10:42:33 +11:00
psychedelicious
7b4ef5926d
fix(ui): CanvasPasteBack types
2024-03-01 10:42:33 +11:00
psychedelicious
6c5be9e89c
tidy(ui): remove unused metadata schemas
2024-03-01 10:42:33 +11:00
psychedelicious
80697a71de
feat(nodes): update LoRAMetadataItem model
...
LoRA model now at under `model` not `lora.
2024-03-01 10:42:33 +11:00
psychedelicious
a253047d8e
tidy(ui): tidy model identifier logic
...
- Move some files around
- Use util to extract key and base from model config
2024-03-01 10:42:33 +11:00
psychedelicious
7176c5d9d6
feat(ui): optimize model query caching
...
When we retrieve a list of models, upsert that data into the `getModelConfig` and `getModelConfigByAttrs` query caches.
With this change, calls to those two queries are almost always going to be free, because their caches will already have all models in them. The exception is queries for models that no longer exist.
2024-03-01 10:42:33 +11:00
psychedelicious
0b54bfb7c5
fix(ui): fix lora metadata item type
2024-03-01 10:42:33 +11:00
psychedelicious
24daacecf2
fix(ui): fix node type
2024-03-01 10:42:33 +11:00
psychedelicious
7326c78ab5
feat(ui): add transformation to width/height parameter schemas to round to multiple of 8
...
This allows image dimensions that are not multiples of 8 to still be recalled with best effort.
2024-03-01 10:42:33 +11:00
psychedelicious
04545e792c
fix(ui): fix lora metadata rendering
2024-03-01 10:42:33 +11:00
psychedelicious
e6de915c34
fix(ui): fix type issues related to change in LoRA type
2024-03-01 10:42:33 +11:00
psychedelicious
71ceab9094
feat(ui): migrate all metadata recall logic to new system
2024-03-01 10:42:33 +11:00
psychedelicious
ff00ed8e80
fix(ui): use id for component key in control adapter components
2024-03-01 10:42:33 +11:00
psychedelicious
ce3f9037cd
feat(ui): no JSX in metadata handlers
2024-03-01 10:42:33 +11:00
psychedelicious
d1f4cde8c7
feat(ui): refactor metadata handling (again)
...
Add concepts for metadata handlers. Handlers include parsers, recallers and validators for different metadata types:
- Parsers parse a raw metadata object of any shape to a structured object.
- Recallers load the parsed metadata into state. Recallers are optional, as some metadata types don't need to be loaded into state.
- Validators provide an additional layer of validation before recalling the metadata. This is needed because a metadata object may be valid, but not able to be recalled due to some other requirement, like base model compatibility. Validators are optional.
Sometimes metadata is not a single object but a list of items - like LoRAs. Metadata handlers may implement an optional set of "item" handlers which operate on individual items in the list.
Parsers and validators are async to allow fetching additional data, like a model config. Recallers are synchronous.
The these handlers are composed into a public API, exported as a `handlers` object. Besides the handlers functions, a metadata handler set includes:
- A function to get the label of the metadata type.
- An optional function to render the value of the metadata type.
- An optional function to render the _item_ value of the metadata type.
2024-03-01 10:42:33 +11:00
psychedelicious
90327cb521
build(ui): do not fail build on eslint error in dev mode
2024-03-01 10:42:33 +11:00
psychedelicious
4d5458648b
chore(ui): typegen
2024-03-01 10:42:33 +11:00
Mary Hipp
e20a506e40
undo
2024-03-01 10:42:33 +11:00
Mary Hipp
77b8eed51b
fix literal strings in MM UI
2024-03-01 10:42:33 +11:00
Mary Hipp
c954cd4c8d
fix TI appearing as key in prompt
2024-03-01 10:42:33 +11:00
Mary Hipp
630d3615ca
fix base model grouping in combobox
2024-03-01 10:42:33 +11:00
psychedelicious
fbd9ffdc5a
feat(ui): bulk download click to download
2024-03-01 10:42:33 +11:00
psychedelicious
04c060a89d
fix(ui): fix node types for canvas graphs
2024-03-01 10:42:33 +11:00
psychedelicious
6f591b324b
chore(ui): typegen
2024-03-01 10:42:33 +11:00
blessedcoolant
cc82ce820a
fix: outpaint result not getting pasted back correctly
2024-03-01 10:42:33 +11:00
blessedcoolant
68d79c002d
canvas: improve paste back (or try to)
2024-03-01 10:42:33 +11:00
blessedcoolant
8f6c2a8b92
wip(ui): Replace 2 Layer Coherence pass with Gradient Mask
2024-03-01 10:42:33 +11:00
psychedelicious
1456c997fb
fix(ui): fix merge issue
2024-03-01 10:42:33 +11:00
psychedelicious
7fce234646
fix(ui): use new scan_folder response instead of hook to determine if models are installed already
2024-03-01 10:42:33 +11:00
psychedelicious
9e02384674
chore(ui): typegen
2024-03-01 10:42:33 +11:00
psychedelicious
98d60e7db5
chore(ui): lint
2024-03-01 10:42:33 +11:00
psychedelicious
1436a5f295
build(ui): restore i18n eslint rule
2024-03-01 10:42:33 +11:00
psychedelicious
4420392241
fix(ui): fix metadata route
2024-03-01 10:42:33 +11:00
psychedelicious
1d410e6346
chore(ui): typegen
2024-03-01 10:42:33 +11:00
Mary Hipp
740dbc0c32
lint fix
2024-03-01 10:42:33 +11:00
Mary Hipp
97181d159f
updated translations
2024-03-01 10:42:33 +11:00
Mary Hipp
baf1194cae
clean up old model manager components and endpoints
2024-03-01 10:42:33 +11:00
Mary Hipp
9b1f63379a
add model convert to checkpoint main models
2024-03-01 10:42:33 +11:00
Mary Hipp
c3f4e87a6e
fix logic to see if scanned models are already installed, style tweaks
2024-03-01 10:42:33 +11:00
Mary Hipp
625c86ba9a
add error_reason to UI if import fails
2024-03-01 10:42:33 +11:00
Mary Hipp
53f0090197
fix types for ImportQueue, add QuickAdd for scan models
2024-03-01 10:42:33 +11:00
Jennifer Player
5496699d6c
refactored and fixed issues with advanced import form
2024-03-01 10:42:33 +11:00
psychedelicious
b5ce28e60b
fix(ui): misc MM cleanup
2024-03-01 10:42:33 +11:00
psychedelicious
816fb53a14
chore(ui): temp disable eslint i18 rule
2024-03-01 10:42:33 +11:00
psychedelicious
793c7ec832
fix(ui): fix ImportMainModelResponse type
2024-03-01 10:42:33 +11:00
psychedelicious
62c67d7c4b
fix(ui): simplify model install event listeners
2024-03-01 10:42:33 +11:00
psychedelicious
7c41b3439a
fix(ui): fix model install event types
2024-03-01 10:42:33 +11:00
Jennifer Player
cdd2f18bbd
added advanced import forms, not fully working yet
2024-03-01 10:42:33 +11:00
Mary Hipp
e7d7b37896
get positioning/scrolling working for scan results list
2024-03-01 10:42:33 +11:00
Mary Hipp
57a402053e
basic scan working and renders results
2024-03-01 10:42:33 +11:00
Mary Hipp
9ae09e9a7c
add scan model endpoint, break add model into tabs
2024-03-01 10:42:33 +11:00
Mary Hipp
5a12886dbb
update metadata endpoint
2024-03-01 10:42:33 +11:00
Jennifer Player
68f24d9f0d
added status to import queue model
2024-03-01 10:42:33 +11:00
Jennifer Player
ea364bdf82
delete model imports and prune all finished, update state with socket messages
2024-03-01 10:42:33 +11:00
Mary Hipp
18904f79ef
fix sync model endpoint
2024-03-01 10:42:33 +11:00
Mary Hipp
782d15af13
form error handling
2024-03-01 10:42:33 +11:00
Mary Hipp
86e2b39f0d
finish model update
2024-03-01 10:42:33 +11:00
Jennifer Player
20576deae8
added socket listeners, added more info to ui
2024-03-01 10:42:33 +11:00
Mary Hipp
0a69779df9
edit view for model, depending on type and valid values
2024-03-01 10:42:33 +11:00
Mary Hipp
6b68971f38
hook up Add Model button
2024-03-01 10:42:33 +11:00
Mary Hipp
c46eb72d45
single model view
2024-03-01 10:42:33 +11:00
Jennifer Player
87ce74e05d
added import model form and importqueue
2024-03-01 10:42:33 +11:00
Mary Hipp
c7d462b222
model list, filtering, searching
2024-03-01 10:42:33 +11:00
Mary Hipp
9068400433
workspace for mary and jenn
2024-03-01 10:42:33 +11:00
Mary Hipp
55f3c6e721
get old UI working somewhat with new endpoints
2024-03-01 10:42:33 +11:00
psychedelicious
abc569c2dd
fix(ui): roll back utility-types
...
It's `Required` util does not distribute over unions as expected. Also we have `ts-toolbelt` already for some utils.
2024-03-01 10:42:33 +11:00
psychedelicious
3ed2963f43
feat(ui): refactor metadata handling
...
Refactor of metadata recall handling. This is in preparation for a backwards compatibility layer for models.
- Create helpers to fetch a model outside react (e.g. not in a hook)
- Created helpers to parse model metadata
- Renamed a lot of types that were confusing and/or had naming collisions
2024-03-01 10:42:33 +11:00
psychedelicious
79b16596b5
chore(ui): typegen
2024-03-01 10:42:33 +11:00
psychedelicious
0d9fbe5e04
feat(ui): replace type-fest
with utility-types
...
- The new package has more useful types
- Only used `JsonObject` from `type-fest`; added an implementation of that type
2024-03-01 10:42:33 +11:00
Lincoln Stein
5bb3aeaccd
remove startup dependency on legacy models.yaml file
2024-03-01 10:42:33 +11:00
Brandon Rising
97cfcd2eef
Create /search endpoint, update model object structure in scan model page
2024-03-01 10:42:33 +11:00
psychedelicious
571a86a965
chore(ui): bump deps
...
Notable updates:
- Minor version of RTK includes customizable selectors for RTK Query, so we can remove the patch that was added to ensure only the LRU memoize function was used for perf reasons. Updated to use the LRU memoize function.
- Major version of react-resizable-panels. No breaking changes, works great, and you can now resize all panels when dragging at the intersection point of panels. Cool!
- Minor (?) version of nanostores. `action` API is removed, we were using it in one spot. Fixed.
- @invoke-ai/eslint-config-react has all deps bumped and now has its dependent plugins/configs listed as normal dependencies (as opposed to peer deps). This means we can remove those packages from explicit dev deps.
2024-03-01 10:42:33 +11:00
psychedelicious
dbd929df05
tidy(ui): remove debugging stmt
2024-03-01 10:42:33 +11:00
psychedelicious
b59d23d608
fix(ui): handle new model format for metadata
2024-03-01 10:42:33 +11:00
psychedelicious
9d9b417432
fix(ui): use model names in badges
2024-03-01 10:42:33 +11:00
psychedelicious
e3c23baae9
fix(ui): fix package build
2024-03-01 10:42:33 +11:00