Commit Graph

5323 Commits

Author SHA1 Message Date
psychedelicious
f155887b7d fix(ui): change multi image drop to not have selection as payload
This caused a lot of re-rendering whenever the selection changed, which caused a huge performance hit. It also made changing the current image lag a bit.

Instead of providing an array of image names as a multi-select dnd payload, there is now no multi-select dnd payload at all - instead, the payload types are used by the `imageDropped` listener to pull the selection out of redux.

Now, the only big re-renders are when the selectionCount changes. In the future I'll figure out a good way to do image names as payload without incurring re-renders.
2023-07-05 13:25:07 +10:00
psychedelicious
1358c5eb7d fix(ui): fix selector memoization
Every `GalleryImage` was rerendering any time the app rerendered bc the selector function itself was not memoized. This resulted in the memoization cache inside the selector constantly being reset.

Same for `BatchImage`.

Also updated memoization for a few other selectors.
2023-07-05 13:25:07 +10:00
blessedcoolant
c0501ed5c2 fix: Slow loading of Loras
Co-Authored-By: StAlKeR7779 <7768370+StAlKeR7779@users.noreply.github.com>
2023-07-05 12:47:34 +10:00
psychedelicious
0f0336b6ef fix(ui): fix incorrect lora id processing 2023-07-05 12:47:34 +10:00
psychedelicious
52a09422c7 feat(ui): create rtk-query hooks for individual model types
Eg `useGetMainModelsQuery()`, `useGetLoRAModelsQuery()` instead of `useListModelsQuery({base_type})`.

Add specific adapters for each model type. Just more organised and easier to consume models now.

Also updated LoRA UI to use the model name.
2023-07-05 12:47:34 +10:00
psychedelicious
c21b56ba31 fix(ui): fix mantine disabled styles 2023-07-05 12:47:34 +10:00
blessedcoolant
bf895221c2 fix: Tab index not being correct
This probably needs to be updated to an object over an array so the index of item in the array doesnt break the rest of it.
2023-07-05 12:47:34 +10:00
psychedelicious
db8862d860 feat(ui): add LoRA ui & update graphs 2023-07-05 12:47:34 +10:00
psychedelicious
d537b9f0cb chore(ui): regen types 2023-07-05 12:47:34 +10:00
psychedelicious
08d428a5e7 feat(nodes): add lora field, update lora loader 2023-07-05 12:47:34 +10:00
blessedcoolant
92b163e95c
(wip) Model Manager 3.0 UI (#3586)
...
2023-07-04 17:34:06 +12:00
psychedelicious
af728b4b1d chore(ui): regen types 2023-07-04 15:04:01 +10:00
psychedelicious
099082abc1 feat(ui): model manager tab naming tweaks 2023-07-04 14:52:00 +10:00
Lincoln Stein
96bf92ead4 add the import model router 2023-07-04 14:35:47 +10:00
blessedcoolant
0988725c1b fix: Floating gallery button showing up in Model Manager 2023-07-04 14:35:47 +10:00
blessedcoolant
089d95baeb fix: Change graph id vals to constants 2023-07-04 14:35:47 +10:00
blessedcoolant
511978979e feat: Add Custom VAE Support to Linear UI 2023-07-04 14:35:47 +10:00
blessedcoolant
7e18814dd0 Add standard names for Model Loader Nodes 2023-07-04 14:35:06 +10:00
blessedcoolant
bd5a764988 Remove 'automatic' from VAE Loader in Nodes 2023-07-04 14:35:06 +10:00
Lincoln Stein
a8a2209560 VAE loader is loading proper VAE. Unclear if it is changing the image 2023-07-04 14:35:06 +10:00
Lincoln Stein
fa8a5838d3 add vae lodaer 2023-07-04 14:35:06 +10:00
blessedcoolant
630f3c8b0b fix: Missing VAE Loader stuff 2023-07-04 14:34:41 +10:00
blessedcoolant
6c6299ce49 fix: Style fixes to the MM edit forms 2023-07-04 14:34:41 +10:00
blessedcoolant
6684e00f0a wip: Move Merge Models to new panel & use new model fetch 2023-07-04 14:34:41 +10:00
blessedcoolant
2f8f558df3 wip: Move Add Model from Modal to new Panel 2023-07-04 14:34:41 +10:00
blessedcoolant
de7b059e67 feat: Port Checkpoint Edit to Mantine Form 2023-07-04 14:34:41 +10:00
blessedcoolant
33db4e27a0 feat: Update DiffusersEdit Component to use Mantine Form 2023-07-04 14:34:41 +10:00
blessedcoolant
009c20bfea feat: Add Mantine Form 2023-07-04 14:34:41 +10:00
blessedcoolant
d61b3818fe feat: Add VAE Select to Linea UI Panels (non func) 2023-07-04 14:34:41 +10:00
blessedcoolant
51db4d1269 fix: Minor fixes to the VAESelect components 2023-07-04 14:34:41 +10:00
blessedcoolant
38660a2162 feat: Addvae_model input type front end 2023-07-04 14:34:41 +10:00
blessedcoolant
5ad6b64721 cleanup: merge conflicts 2023-07-04 14:34:22 +10:00
blessedcoolant
0da4f4bb6f fix: Add missing Unet, Clip, VAE Field Template types 2023-07-04 14:34:22 +10:00
blessedcoolant
8d5a953dcb feat: Add VAESelect Component 2023-07-04 14:33:56 +10:00
blessedcoolant
6c62f41f2e chore: Change PipelineModels to MainModels 2023-07-04 14:33:56 +10:00
blessedcoolant
2ad5a4ea46 feat: Initial port of Model Manager to new tab 2023-07-04 14:31:48 +10:00
blessedcoolant
9e35643911 feat: Make new tab for Model Manager 2023-07-04 14:31:24 +10:00
blessedcoolant
0bb668b8a8 feat: hook up model edit forms 2023-07-04 14:29:42 +10:00
blessedcoolant
e73f774920 fix: Restore Model display and select functionality 2023-07-04 14:29:42 +10:00
blessedcoolant
b4b760d9e9
Quash memory leak when compel invocation called (#3633)
This commit prevents each image generation from leaking ~160 MB of VRAM.
Thanks to @damian0815 and @StAlKeR7779 for helping to sort this out.
2023-07-04 06:33:56 +12:00
Lincoln Stein
4d2c7806fc quash memory leak when compel invocation called 2023-07-03 14:12:35 -04:00
Lincoln Stein
fc419546bc
Merge branch 'main' into lstein/remove-hardcoded-cuda-device 2023-07-03 14:10:47 -04:00
Lincoln Stein
252c790969
Add runtime root path to relative vaes and other submodels (#3631)
This PR fixes a crash that would occur when VAEs and other submodels
have a relative path in the config file.
2023-07-03 14:10:33 -04:00
Lincoln Stein
cfd09214d3
Merge branch 'main' into lstein/fix-vae-conversion-crash 2023-07-03 14:03:13 -04:00
Lincoln Stein
b128ba81db
Merge branch 'main' into lstein/remove-hardcoded-cuda-device 2023-07-03 13:58:14 -04:00
Lincoln Stein
78857bf5ad
Make unit tests work again (#3575)
This PR is for adjusting the unit tests in the `tests` directory so that
they no longer throw errors.

I've removed two tests that were obsoleted by the shift to latent nodes,
but `test_graph_execution_state.py` and `test_invoker.py` are throwing
this validation error:

```
TypeError: InvocationServices.__init__() missing 2 required positional arguments: 'boards' and 'board_images'
```
2023-07-03 12:53:04 -04:00
Lincoln Stein
9c83a4eada
Merge branch 'main' into dev/fix-unit-tests 2023-07-03 12:44:02 -04:00
Lincoln Stein
c314b17f5c
Add missing k-* legacy sampler names to init file migrate list (#3625)
The `invokeai-configure` script migrates the old invokeai.init file to
the new invokeai.yaml format. However, the parser for the invokeai.init
file was missing the names of the k* samplers and was giving a parser
error on any invokeai.init file that referred to one of these samplers.
This PR fixes the problem.

Ironically, there is no longer the concept of the preferred scheduler in
3.0, and so these sampler names are simply ignored and not written into
`invokeai.yaml`
2023-07-03 12:41:33 -04:00
Lincoln Stein
27088610ed
Merge branch 'main' into dev/fix-unit-tests 2023-07-03 12:38:42 -04:00
Lincoln Stein
ebcbfc8a12
Merge branch 'main' into lstein/recognize-legacy-sampler-names 2023-07-03 12:36:00 -04:00