1824 Commits

Author SHA1 Message Date
psychedelicious
2c1ba23f61 fix(ui): fix lora metadata rendering 2024-02-26 14:49:38 -05:00
psychedelicious
58ef6dc6ce fix(ui): fix type issues related to change in LoRA type 2024-02-26 14:49:38 -05:00
psychedelicious
8faefa89fe feat(ui): migrate all metadata recall logic to new system 2024-02-26 14:49:38 -05:00
psychedelicious
02f59a3831 fix(ui): use id for component key in control adapter components 2024-02-26 14:49:38 -05:00
psychedelicious
2555be3058 feat(ui): no JSX in metadata handlers 2024-02-26 14:49:38 -05:00
psychedelicious
e174ce038f 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-02-26 14:49:38 -05:00
Mary Hipp
30fdb9dbfd undo 2024-02-26 14:44:37 -05:00
Mary Hipp
66f6013436 fix literal strings in MM UI 2024-02-26 14:44:37 -05:00
Mary Hipp
49b04f7db8 fix TI appearing as key in prompt 2024-02-26 14:20:28 -05:00
psychedelicious
f8b731b900 fix(ui): fix node types for canvas graphs 2024-02-24 19:38:16 +11:00
blessedcoolant
afe6639b9c fix: outpaint result not getting pasted back correctly 2024-02-24 19:38:16 +11:00
blessedcoolant
8fa238f100 canvas: improve paste back (or try to) 2024-02-24 19:38:16 +11:00
blessedcoolant
30b6a0ee23 wip(ui): Replace 2 Layer Coherence pass with Gradient Mask 2024-02-24 19:38:16 +11:00
psychedelicious
7e13224ec8 fix(ui): use new scan_folder response instead of hook to determine if models are installed already 2024-02-24 19:04:52 +11:00
psychedelicious
8b8d950137 chore(ui): lint 2024-02-24 19:04:52 +11:00
Mary Hipp
974658107d lint fix 2024-02-24 19:04:52 +11:00
Mary Hipp
cfcb68696c clean up old model manager components and endpoints 2024-02-24 19:04:52 +11:00
Mary Hipp
7b1b6d3235 add model convert to checkpoint main models 2024-02-24 19:04:52 +11:00
Mary Hipp
aefba52a0a fix logic to see if scanned models are already installed, style tweaks 2024-02-24 19:04:52 +11:00
Mary Hipp
190702d011 add error_reason to UI if import fails 2024-02-24 19:04:52 +11:00
Mary Hipp
7785e8ff79 fix types for ImportQueue, add QuickAdd for scan models 2024-02-24 19:04:52 +11:00
Jennifer Player
b3beaefa04 refactored and fixed issues with advanced import form 2024-02-24 19:04:52 +11:00
psychedelicious
98be81354a fix(ui): misc MM cleanup 2024-02-24 19:04:52 +11:00
Jennifer Player
135ef9066f added advanced import forms, not fully working yet 2024-02-24 19:04:52 +11:00
Mary Hipp
0567f98e4a get positioning/scrolling working for scan results list 2024-02-24 19:04:52 +11:00
Mary Hipp
5b66baa3ec basic scan working and renders results 2024-02-24 19:04:52 +11:00
Mary Hipp
a022aaf258 add scan model endpoint, break add model into tabs 2024-02-24 19:04:52 +11:00
Mary Hipp
94065b090a update metadata endpoint 2024-02-24 19:04:52 +11:00
Jennifer Player
8d243b1fca added status to import queue model 2024-02-24 19:04:52 +11:00
Jennifer Player
23c412e011 delete model imports and prune all finished, update state with socket messages 2024-02-24 19:04:52 +11:00
Mary Hipp
38af1c3a81 form error handling 2024-02-24 19:04:52 +11:00
Mary Hipp
7b4b7e3781 finish model update 2024-02-24 19:04:52 +11:00
Jennifer Player
02a3472505 added socket listeners, added more info to ui 2024-02-24 19:04:52 +11:00
Mary Hipp
909d354a38 edit view for model, depending on type and valid values 2024-02-24 19:04:52 +11:00
Mary Hipp
7801b8c42f hook up Add Model button 2024-02-24 19:04:52 +11:00
Mary Hipp
4fd259bb89 single model view 2024-02-24 19:04:52 +11:00
Jennifer Player
b8b3ef9725 added import model form and importqueue 2024-02-24 19:04:52 +11:00
Mary Hipp
3a8d5dc349 model list, filtering, searching 2024-02-24 19:04:52 +11:00
Mary Hipp
358cac9674 workspace for mary and jenn 2024-02-24 19:04:52 +11:00
Mary Hipp
bdc2b8069b get old UI working somewhat with new endpoints 2024-02-24 19:04:52 +11:00
psychedelicious
94931e8ac0 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-02-23 07:53:45 +11:00
psychedelicious
de3be4bd30 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-02-23 07:53:45 +11:00
Brandon Rising
c0d9990344 Create /search endpoint, update model object structure in scan model page 2024-02-22 09:50:02 -05:00
psychedelicious
2815f737fe tidy(ui): remove debugging stmt 2024-02-22 07:26:47 +11:00
psychedelicious
63e96fd1ea fix(ui): handle new model format for metadata 2024-02-22 07:26:47 +11:00
psychedelicious
66ab56246a fix(ui): use model names in badges 2024-02-22 07:26:47 +11:00
psychedelicious
b410793684 feat(ui): revise bulk download listeners
- Use a single listener for all of the to keep them in one spot
- Use the bulk download item name as a toast id so we can update the existing toasts
- Update handling to work with other environments
- Move all bulk download handling from components to listener
2024-02-21 00:00:25 +11:00
Stefan Tobler
9db7e073a3 setting up event listeners for bulk download socket 2024-02-21 00:00:25 +11:00
psychedelicious
0d0a2a5c91 fix(ui): get workflow editor model selects working 2024-02-20 13:33:31 +11:00
psychedelicious
0cab636ab0 fix(ui): get refiner model select working 2024-02-20 13:33:31 +11:00