psychedelicious
0305e90287
chore: ruff
2024-03-01 10:42:33 +11:00
blessedcoolant
ae34bcfbc0
fix: Assertion issue with SDXL Compel
2024-03-01 10:42:33 +11:00
Brandon Rising
01898d766f
Fix merge with next
2024-03-01 10:42:33 +11:00
Brandon Rising
e7afae0159
Switch absolute path to as_posix in _walk_directory
2024-03-01 10:42:33 +11:00
Brandon Rising
f16e64084b
Ruff checks
2024-03-01 10:42:33 +11:00
Brandon Rising
8992d89817
Fix directory called on _walk_directory
2024-03-01 10:42:33 +11:00
Brandon Rising
0fc2f90824
Switch ModelSearch from os.walk to os.scandir
2024-03-01 10:42:33 +11:00
Brandon Rising
c670dacc29
Ruff format
2024-03-01 10:42:33 +11:00
Brandon Rising
f475b78734
Ruff check
2024-03-01 10:42:33 +11:00
Brandon Rising
ca9b815c89
Extract TI loading logic into util, disallow it from ever failing a generation
2024-03-01 10:42:33 +11:00
Brandon Rising
8efd4284e9
Fix one last reference to the uncasted model
2024-03-01 10:42:33 +11:00
Brandon Rising
5922cee541
Allow TIs to be either a key or a name in the prompt during our transition to using keys
2024-03-01 10:42:33 +11:00
Lincoln Stein
94e3857110
handle change to Civitai metadata schema for commercial usage
2024-03-01 10:42:33 +11:00
Jennifer Player
4b4b940461
updated to use new import model mutation
2024-03-01 10:42:33 +11:00
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
12e859835b
feat(mm): add log stmt for download complete event
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
10d36b4045
tidy(mm): remove ONNX from AnyModelConfig
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
psychedelicious
8d8f1abd50
feat(api): add MM get_by_attrs
route
...
Gets the first model that matches the given name, base and type. Raises 404 if there isn't one.
This will be used for backwards compatibility with old metadata.
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
c80c0f0fb9
fix(mm): fix ModelCacheBase method name
2024-03-01 10:42:33 +11:00
psychedelicious
37d66488c5
chore: ruff
2024-03-01 10:42:33 +11:00
Lincoln Stein
371e3cc260
recover gracefuly from GPU out of memory errors (next version)
2024-03-01 10:42:33 +11:00
Lincoln Stein
d22738723d
clear out VRAM when an OOM occurs
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
psychedelicious
82249cc634
tidy(nodes): rename canvas paste back
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
8e1fbd6ed1
fix: lint errors
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
ea7b7bcf40
chore: ruff
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
531d6f40f4
feat(mm): add logic to scan_folder route to check if a model is already installed
...
This was done in the frontend before but it's something the backend should handle.
The logic compares the found model paths to the path and source of all installed models. It excludes core models.
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
e22c4987bf
chore: ruff
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
psychedelicious
c98668e7f5
feat(api): mm metadata route "meta" -> "metadata"
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
maryhipp
65b0d3d436
fix convert endpoint logic
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
maryhipp
26a209a00d
add error_reason to ModelInstallJob
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