Commit Graph

2301 Commits

Author SHA1 Message Date
blessedcoolant
25d07891b5 Merge branch 'mm-ui' of https://github.com/blessedcoolant/InvokeAI into mm-ui 2023-07-15 01:24:20 +12:00
blessedcoolant
401fa6deb5 fix: Misc fixes 2023-07-15 01:23:08 +12:00
psychedelicious
f68ab55d6b fix(ui): fix missing mantineTheme, fixes fonts 2023-07-14 23:16:05 +10:00
psychedelicious
79d65125c2 feat(ui): extract mantine component styles to hook, add less opinionated mantine components
IAIMantineSelect and IAIMantineMultiSelect have a bit of extra logic that prevents simple select functionality from working as expected.

- extract the styles into hooks
- rename those two components to IAIMantineSearchableSelect and IAIMantineSearchableMultiSelect
- Create IAIMantineSelect (which is just a dropdown) and use it in model manager and a few other places

When we only have a few options to present and searching is not efficient, we should use this instead.
2023-07-14 23:00:38 +10:00
Mary Hipp Rogers
545e2f557f
Merge branch 'main' into feat/api/image-max-age 2023-07-14 08:21:44 -04:00
psychedelicious
23c1a6b9d5 fix(nodes): make ResizeLatents w/h optional
now you can connect to them in node editor
2023-07-14 21:42:42 +10:00
psychedelicious
d4dfd84525 feat(ui): mm colors 2023-07-14 20:12:02 +10:00
psychedelicious
eb2a7058bf feat(ui): tweak fontSize in modellist 2023-07-14 19:49:05 +10:00
psychedelicious
56d209842f feat(ui): only show modellistitem when none in array 2023-07-14 19:46:18 +10:00
psychedelicious
0b2f0c05b2 fix(ui): fix selecting model does not update form 2023-07-14 19:31:52 +10:00
psychedelicious
1e5ae9d986 feat(ui): refactor model manager ui
- simplify UI logic in `ModelManagerPanel` components
- fix up the types a bit to make it easier to select models
- remove `openModel` state, just make it a useState since it is very local to model manager
2023-07-14 19:22:37 +10:00
psychedelicious
f2af82bf73 feat(ui): add model convert for success/failure handling 2023-07-14 17:39:00 +10:00
psychedelicious
6d7fb49a7a fix(ui): fix model edit button disabled status 2023-07-14 17:36:10 +10:00
psychedelicious
48a8bd4985 feat(ui): add model update for success/failure handling 2023-07-14 17:35:45 +10:00
psychedelicious
d8437d3036 feat(ui): add simple selectIsBusy selector 2023-07-14 17:34:34 +10:00
psychedelicious
a0cb18a12c feat(ui): refetch models on socket connect 2023-07-14 17:34:13 +10:00
psychedelicious
b2005d821a fix(ui): fix types for models queries 2023-07-14 16:59:31 +10:00
psychedelicious
66b12ab0ea fix(ui): do not blacklist the rtk query events
doing so breaks the devtools
2023-07-14 16:59:13 +10:00
blessedcoolant
834774ce4c fix: Merge Conflicts 2023-07-14 18:16:34 +12:00
blessedcoolant
7cd60214cb Merge branch 'main' into mm-ui 2023-07-14 18:14:45 +12:00
blessedcoolant
5c58bc6348 fix: Missing VAE Input Field Component 2023-07-14 16:07:22 +10:00
blessedcoolant
e1d6c09ed2 fix: Type errors & missing Unet field component 2023-07-14 16:07:22 +10:00
psychedelicious
8dd4ca5723 feat(ui): update node editor to use model object format
similar to the previous commit, update the node editor to not just store models as strings - instead, store the model object.

the model select components in nodes are now just kinda copy-pastes over the linear UI versions of the same components, but they were different enough that we can't just share them.

i explored adding some props to override the linear ui components' logic, but it was too brittle. so just copy/paste.
2023-07-14 16:07:22 +10:00
psychedelicious
a071873327 feat(ui): fix a lot of model-related crashes/bugs
We were storing all types of models by their model ID, which is a format like `sd-1/main/deliberate`.

This meant we had to do a lot of extra parsing, because nodes actually wants something like `{base_model: 'sd-1', model_name: 'deliberate'}`.

Some of this parsing was done with zod's error-throwing `parse()` method, and in other places it was done with brittle string parsing.

This commit refactors the state to use the object form of models.

There is still a bit of string parsing done in the to construct the ID from the object form, but it's far less complicated.

Also, the zod parsing is now done using `safeParse()`, which does not throw. This requires a few more conditional checks, but should prevent further crashes.
2023-07-14 16:07:22 +10:00
psychedelicious
14587464d5 fix(ui): check for metadataAccumulator before connecting to it
Fixes an edge case in graph building.
2023-07-14 16:07:22 +10:00
psychedelicious
d858a0c5d8 fix(ui): fix rtk tags
I had mixed up `type` and `id` on a bunch of the tags. Fixing those
2023-07-14 15:32:09 +10:00
blessedcoolant
abe2a0f9b4 fix: merge conflicts (name renamed to model_name) for models 2023-07-14 15:53:28 +12:00
blessedcoolant
16e93c6455 Merge branch 'main' into mm-ui 2023-07-14 15:46:53 +12:00
Sergey Borisov
9fb0b0959f Make sde and ancestral schedulers reproducible 2023-07-14 05:25:09 +03:00
Sergey Borisov
d8f88c09ea Fix pink output on a lot of samplers 2023-07-14 05:00:33 +03:00
psychedelicious
536a397b12
ui: gallery enhancements (#3752)
* feat(ui): salvaged gallery UI enhancements

* restore boardimage functionality, load boardimages and remove some cachine optimizations in the name of data integrity

* fix assets, fix load more params

* jk NOW fix assets, fix load more params

---------

Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
Co-authored-by: Mary Hipp Rogers <maryhipp@gmail.com>
2023-07-13 20:31:10 +00:00
blessedcoolant
50f10ce5d7 fix: model_name reference in Model Manager 2023-07-14 03:36:11 +12:00
psychedelicious
d46261a528 chore(ui): regen types 2023-07-13 23:26:52 +10:00
psychedelicious
978016ea51 feat(ui): use query to populate infill methods dropdown
- available infill methods is server state - remove it from client state, use the query to populate the dropdown
- add listener to ensure the selected infill method is an available one
2023-07-13 23:26:52 +10:00
psychedelicious
4d25d702a1 feat(api): app/config route returns available infill methods 2023-07-13 23:26:52 +10:00
Mary Hipp
d6c914eedc detect if user has patchmatch enabled 2023-07-13 23:26:52 +10:00
maryhipp
fba25792f9 add new route for app config 2023-07-13 23:26:52 +10:00
blessedcoolant
9348dc8e0d
Merge branch 'main' into fix/controlnet_cfg_inj_cond 2023-07-14 01:11:04 +12:00
blessedcoolant
34bff3ba77
Merge branch 'main' into fix-inpainting 2023-07-13 23:35:12 +12:00
mickr777
3cf75e48c5 remove clearnode export 2023-07-13 21:34:12 +10:00
mickr777
b5e7384f09 Delete clearnodes and change nodeEditorReset 2023-07-13 21:34:12 +10:00
mickr777
ee253ea4f1 add useCallback 2023-07-13 21:34:12 +10:00
blessedcoolant
430b9c291f fix: Loras not working correctly with Inpainting 2023-07-13 22:59:38 +12:00
blessedcoolant
16f53228c2 Merge branch 'main' into fix-inpainting 2023-07-13 22:31:08 +12:00
psychedelicious
4ab4942e69 fix(ui): fix nodes crash when adding model loader 2023-07-13 20:29:03 +10:00
blessedcoolant
98a5b3fc24
Merge branch 'main' into fix/ui/fix-missing-nodes 2023-07-13 22:18:27 +12:00
psychedelicious
944b46908a fix(ui): fix node parsing failing 2023-07-13 20:17:18 +10:00
psychedelicious
23d2af52df fix(ui): fix lora name disappearing 2023-07-13 20:14:26 +10:00
psychedelicious
43cc96255b fix(ui): check for metadata accumulator before connecting to it 2023-07-13 20:05:45 +10:00
psychedelicious
4702eb2e6a fix(ui): fix inpaint invalid model error 2023-07-13 19:59:51 +10:00
blessedcoolant
5a546e66f1 Merge branch 'main' into fix-inpainting 2023-07-13 20:42:13 +12:00
blessedcoolant
19fdb70e20 Merge branch 'clearnodes' of https://github.com/mickr777/InvokeAI into pr/3747 2023-07-13 20:34:57 +12:00
blessedcoolant
6861499697 fix: Simplify modal code 2023-07-13 20:34:23 +12:00
mickr777
8274488d2c
Merge branch 'main' into clearnodes 2023-07-13 18:30:12 +10:00
mickr777
91c4e4c9b9
useDisclosure instead of useState. 2023-07-13 18:08:30 +10:00
mickr777
d1ac50b061
Change Confirmation Dialog
Changed Confirmation Dialog to use chakra-ui alert dialog
2023-07-13 17:19:59 +10:00
psychedelicious
5f5c93abb4 feat(app): embed PNG info in invokeai_metadata and invokeai_graph
Using just `metadata` and `graph` feel a bit too generic.
2023-07-13 15:40:05 +10:00
psychedelicious
6bea7bac36 feat(ui): restore recall functionality
- Restore recall functionality to `CurrentImageButtons` and `ImageContextMenu`.
- Debounce metadata requests for `ImageMetadataViewer` and `CurrentImageButtons` by 500ms. It's possible to scroll through these really fast, so we want to debounce the network requests.
- `ImageContextMenu` is lazy-mounted so it does not need to be debounced; it makes the metadata request as soon as you click it.
- Move next/prev image selection logic into hook and add the hotkeys for this to `CurrentImageButtons`. The hotkeys now work when metadata viewer is open.

I will follow up with improved loading state during the debounced calls in the future
2023-07-13 15:40:05 +10:00
psychedelicious
a43c900961 feat(ui): update UI for new metadata
- Update for new routes
- Update model storage in state to be `MainModelField` type instead of `string`, simplifies a lot of model handling
- Update model-related stuff for model `name` --> `model_name`
- Update linear graphs to use `MetadataAccumulator`
- Update `ImageMetadataViewer` UI
- Ensure all `recall` functions work (well, the ones that are active anyways)
2023-07-13 15:40:05 +10:00
psychedelicious
bddc04af96 chore(ui): regen types 2023-07-13 15:40:05 +10:00
psychedelicious
50bef87da7 feat(db,nodes,api): refactor metadata
Metadata for the Linear UI is now sneakily provided via a `MetadataAccumulator` node, which the client populates / hooks up while building the graph.

Additionally, we provide the unexpanded graph with the metadata API response.

Both of these are embedded into the PNGs.

- Remove `metadata` from `ImageDTO`
- Split up the `images/` routes to accomodate this; metadata is only retrieved per-image
- `images/{image_name}` now gets the DTO
- `images/{image_name}/metadata` gets the new metadata
- `images/{image_name}/full` gets the full-sized image file
- Remove old metadata service
- Add `MetadataAccumulator` node, `CoreMetadataField`, hook up to `LatentsToImage` node
- Add `get_raw()` method to `ItemStorage`, retrieves the row from DB as a string, no pydantic parsing
- Update `images`related services to handle storing and retrieving the new metadata
- Add `get_metadata_graph_from_raw_session` which extracts the `graph` from `session` without needing to hydrate the session in pydantic, in preparation for providing it as metadata; also removes all references to the `MetadataAccumulator` node
2023-07-13 15:40:05 +10:00
psychedelicious
eb0d55263b fix(mm): make model config attribute names consistent
Our model fields use `model_name`, but the API response uses `name`. Some places use `model_type` but the API response used `type`.

Changed the API response to provide `model_name` and `model_type`, which simplifies how we manage models on the client substantially.
2023-07-13 15:40:05 +10:00
Mary Hipp
be02a55cac output stringified error for session and invocation errors 2023-07-13 15:24:56 +10:00
mickr777
8a25e22fb0
Update en.json 2023-07-13 14:42:09 +10:00
mickr777
90441c4257
Update TopCenterPanel.tsx 2023-07-13 14:41:00 +10:00
mickr777
99c1d5c044
Update nodesSlice.ts 2023-07-13 14:40:33 +10:00
mickr777
c7dcf1f4a0
Create ClearNodesButton.tsx 2023-07-13 14:40:09 +10:00
blessedcoolant
7e3b9f1320 fix: Inpaint not working with some schedulers
Co-Authored-By: StAlKeR7779 <7768370+StAlKeR7779@users.noreply.github.com>
2023-07-13 15:06:03 +12:00
blessedcoolant
1c2144794c Merge branch 'main' into mm-ui 2023-07-13 13:58:22 +12:00
blessedcoolant
bc7c0f75a0 fix: Rename toggleBoundingBoxDimension to flipBoundingBoxAxes 2023-07-13 13:53:15 +12:00
blessedcoolant
b7a4f3c2cb
Merge branch 'main' into bbox-ar 2023-07-13 13:45:08 +12:00
blessedcoolant
2cfe67bf1f
Merge branch 'main' into save-load-nodes 2023-07-13 13:37:36 +12:00
blessedcoolant
71e34ac256 Merge branch 'main' into mm-ui 2023-07-13 12:48:43 +12:00
Mary Hipp Rogers
4a8172bcd0
disable features that are not supported yet or no longer supported (#3739)
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-12 13:03:39 -04:00
Sergey Borisov
67c8cf4bc2 Controlnet model detection 2023-07-12 08:50:19 -04:00
Sergey Borisov
a328986b43 Less naive model detection 2023-07-12 08:50:19 -04:00
blessedcoolant
31bb4bfc61 style: Update Model Manager Styling to new format 2023-07-12 23:12:12 +12:00
blessedcoolant
3db1aa738c feat: Restore Model Merge functionality 2023-07-12 22:43:06 +12:00
blessedcoolant
683229e285 fix: Update model convert toast message 2023-07-12 20:44:57 +12:00
blessedcoolant
2cedf6aed5 feat: Restore Model Convert Functionality 2023-07-12 20:40:58 +12:00
blessedcoolant
6238a53fdd feat: Add basic form validation for path input 2023-07-12 20:11:05 +12:00
blessedcoolant
310e401b03 feat: Create basic IAIMantineTextInput component for form usage 2023-07-12 20:10:33 +12:00
blessedcoolant
3568e28b1c fix: Type resolutions & Bug Fixes
- Fix checkpoint filter not working
- Resolve all typescript and undefined issues in Model Manager List / Edit Forms and main panel
2023-07-12 19:05:16 +12:00
blessedcoolant
5a6ad99d4e feat: Restore Delete Model Functionality 2023-07-12 16:39:07 +12:00
blessedcoolant
afb46564e8 feat: Restore Update Model functionality 2023-07-12 16:13:49 +12:00
blessedcoolant
0282aa83c5 feat: Do not store edge styling data when saving a graph setup 2023-07-12 14:32:54 +12:00
blessedcoolant
84af35597d fix: Update Load & Save Icons to FontAwesome 2023-07-12 13:58:14 +12:00
blessedcoolant
3b61a3abeb Merge branch 'main' into save-load-nodes 2023-07-12 13:52:26 +12:00
blessedcoolant
222d8b05a6 fix: Update Sync icon to FontAwesom 2023-07-12 13:31:24 +12:00
blessedcoolant
cd11d08d74 feat: Update Reload Schema button 2023-07-12 13:14:14 +12:00
blessedcoolant
acea304348 feat(node-editor): fit view on init 2023-07-12 13:11:43 +12:00
blessedcoolant
b444b8db25 chore: Regen Schema 2023-07-12 09:17:43 +12:00
StAlKeR7779
b8a9b499df
Merge branch 'main' into fix/controlnet_cfg_inj_cond 2023-07-11 23:43:47 +03:00
Lincoln Stein
75c5ce46bc merged SDXLModelLoader into ModelLoader invocation 2023-07-11 16:33:08 -04:00
Lincoln Stein
25591788c1 fix conflicts 2023-07-11 15:55:10 -04:00
blessedcoolant
b6b22dc799 feat: Update Reload Schema button 2023-07-12 07:50:11 +12:00
Lincoln Stein
dab03fb646 rename gpu_mem_reserved to max_vram_cache_size
To be consistent with max_cache_size, the amount of memory to hold in
VRAM for model caching is now controlled by the max_vram_cache_size
configuration parameter.
2023-07-11 15:25:39 -04:00
Lincoln Stein
d32f9f7cb0 reverse logic of gpu_mem_reserved
- gpu_mem_reserved now indicates the amount of VRAM that will be reserved
  for model caching (similar to max_cache_size).
2023-07-11 15:16:40 -04:00
Lincoln Stein
fabcf276ac rebuild front end 2023-07-11 14:45:46 -04:00
Sergey Borisov
358ced6bab SDXL Prompt and t2l nodes draft, add fp32 to vae decode 2023-07-11 18:19:36 +03:00
Lincoln Stein
9bd6b6068c Merge branch 'main' into release/invokeai-3-0-beta 2023-07-11 10:57:59 -04:00
Lincoln Stein
f6302aa691 Merge branch 'main' into release/invokeai-3-0-beta 2023-07-11 10:57:36 -04:00
Lincoln Stein
8b62eb364c bump version 2023-07-11 10:57:17 -04:00
Lincoln Stein
6b93c1451f do not crash when probing an unknown model type 2023-07-11 10:56:47 -04:00
Lincoln Stein
34cff848c7 do not display sdxl models in main model loader 2023-07-11 08:51:02 -04:00
blessedcoolant
5bf144e6bc feat(node-editor): fit view on init 2023-07-11 18:22:50 +12:00
blessedcoolant
4d9a342437 feat: Parametrize useGetMainModelsQuery 2023-07-11 16:33:26 +12:00
blessedcoolant
7ce43692c2 feat: Add multi param query support to getMainModels 2023-07-11 14:50:56 +12:00
Lincoln Stein
23d8a2777e add ability to filter list_models on list of base models 2023-07-10 21:59:32 -04:00
blessedcoolant
913789d966
Merge branch 'main' into maryhipp/enable-wh-for-txt-2-img 2023-07-11 13:13:41 +12:00
Mary Hipp
48efcb0ba9 always enable these things on txt2img tab 2023-07-10 20:19:03 -04:00
Lincoln Stein
8e42502dfd partial implementation of SDXL model loader 2023-07-10 20:18:30 -04:00
Lincoln Stein
d8ebbd258a
Merge branch 'main' into sdxl-support 2023-07-10 18:51:03 -04:00
Lincoln Stein
83ec4c983c
Merge branch 'main' into lstein/keep-models-in-vram 2023-07-10 18:47:05 -04:00
Lincoln Stein
c9c61ee459
Update invokeai/app/services/config.py
Co-authored-by: Eugene Brodsky <ebr@users.noreply.github.com>
2023-07-10 18:46:32 -04:00
Mary Hipp
83eb511330 disable hotkey for lightbox if lightbox is disabled 2023-07-10 18:44:54 -04:00
blessedcoolant
bbdb26511a feat: Fit to view on load rather than using older position 2023-07-11 09:44:36 +12:00
blessedcoolant
b9767e9c6e feat: Save and Loads Nodes From Disk 2023-07-11 07:22:45 +12:00
Mary Hipp
f46f8058be load thumbnail 2023-07-10 23:47:49 +10:00
Mary Hipp
18e2b130fc disable multiselect 2023-07-10 23:47:49 +10:00
blessedcoolant
0bfa5ffd8e feat: Make BBox Handles adapt to Aspect Ratio lock 2023-07-10 20:37:00 +12:00
blessedcoolant
15175bb998 feat: Add Aspect Ratio To Canvas Bounding Box 2023-07-10 20:04:32 +12:00
blessedcoolant
964c71dcb0 feat: Add Swap Sizes 2023-07-10 18:10:57 +12:00
blessedcoolant
3476c58702 Merge branch 'main' into aspect-ratio 2023-07-10 17:13:27 +12:00
psychedelicious
00e26ffa9a fix(nodes): remove board_id column from images table
This is extraneous; the `board_images` table holds image-board relationships.
2023-07-10 11:30:35 +10:00
psychedelicious
1c45d18e6d fix(ui): correctly set disabled on invoke button during generation
It wasn't disabled when it should have been, looked clickable during generation.
2023-07-10 11:23:13 +10:00
psychedelicious
a7b8109ac2 feat(ui): memoize NextPrevImageButtons component
This was rerendering on every progress image, now it doesn't
2023-07-10 11:22:34 +10:00
psychedelicious
265996d230 feat(ui): memoize ImageContextMenu selector
Without the selector itself being memoized, the gallery was rerendering on every progress image.
2023-07-10 11:21:56 +10:00
Lincoln Stein
bf2b5b5cd4 improvements to sdxl support in model manager
- Move SDXL-related models to models/sdxl.py
- Create separate base type BaseModelType.StableDiffusionXLRefiner for the refiner
  models.
2023-07-09 20:42:03 -04:00
Lincoln Stein
5759a390f9 introduce gpu_mem_reserved configuration parameter 2023-07-09 18:35:04 -04:00
Lincoln Stein
130249a2dd add model loading support for SDXL 2023-07-09 15:47:06 -04:00
Lincoln Stein
8d7dba937d fix undefined variable 2023-07-09 14:37:45 -04:00
Lincoln Stein
d6cb0e54b3 don't unload models from GPU until the space is needed 2023-07-09 14:26:30 -04:00
Lincoln Stein
2f3190ad6c merge with main 2023-07-09 13:28:05 -04:00
Lincoln Stein
f9dc5a0530 bump version 2023-07-09 13:27:11 -04:00
Lincoln Stein
f335363a6f Merge branch 'main' into release/invokeai-3-0-beta 2023-07-09 13:26:49 -04:00
psychedelicious
dfe338fc50 fix(ui): fix missing import 2023-07-09 22:47:54 +10:00
psychedelicious
c5539b442c feat(api): set max-age for images
Image files are immutable and we expect deletion to result in no further requests for a given image, so we can set the max-age to something thicc.

Resolves #3426
2023-07-09 22:42:05 +10:00
psychedelicious
0e178c3bb7 feat(ui): aspect ratio styling 2023-07-09 22:13:38 +10:00
psychedelicious
50218f1595 fix(ui): fix number input on aspect ratio 2023-07-09 22:13:26 +10:00
blessedcoolant
cafd97e5bc fix: Reset handler not adjusting correctly 2023-07-09 23:24:15 +12:00
blessedcoolant
d01d5b6fa9 feat: Add Aspect Ratio 2023-07-09 23:18:06 +12:00
mickr777
5b876bd646
Add Stop button to nodes tab 2023-07-09 11:48:31 +10:00
psychedelicious
4640969037 fix(api): fix for borked windows mimetypes registry
It's possible for the Windows mimetypes for js to be changed and cause content-type errors when running the app.

Explicitly set the mimetypes to rectify this. Note that the root cause is a misconfiguration on the client - not our end.

See https://github.com/invoke-ai/InvokeAI/discussions/3684#discussioncomment-6391352
2023-07-09 11:05:01 +10:00
psychedelicious
d7218d44d7 feat(ui): add progress image node
it is excluded from graph, so you can add it without affecting generation
2023-07-09 10:51:08 +10:00
psychedelicious
2454b51d51 fix(ui): escape on embedding popup closes it 2023-07-09 10:47:30 +10:00
blessedcoolant
df27218f96
Merge branch 'main' into main 2023-07-09 11:56:17 +12:00
Lincoln Stein
b6cc4df1d8 report processing stack traces to the console 2023-07-08 19:48:32 -04:00
blessedcoolant
5fb24197cd fix: Rearrange Model Select to take full width 2023-07-09 07:23:31 +12:00
Lincoln Stein
5f7435955e if models.yaml doesn't exist, rebuild it 2023-07-08 15:13:51 -04:00
Lincoln Stein
f4aa28bee0 bump version 2023-07-08 14:52:29 -04:00
Lincoln Stein
3616ac8754 model installer calls invokeai-configure if something wrong with root 2023-07-08 12:45:23 -04:00
Lincoln Stein
92d4486214 don't write 'version:' to the invokeai.yaml file 2023-07-08 12:06:23 -04:00
Lincoln Stein
69ef1e1e56 speculative change to upgrade script 2023-07-08 11:45:26 -04:00
blessedcoolant
9af61d3ff5
Merge branch 'main' into lstein/find-root-works-under-conda 2023-07-09 02:42:59 +12:00
psychedelicious
3001e4c947 feat(ui): update right arrow gallery load more
- add hotkey support
- add loading state
- only show if there are more images to load
2023-07-08 10:29:31 -04:00
mickr777
2c956806d7 Update NextPrevImageButtons.tsx 2023-07-08 10:29:31 -04:00
psychedelicious
be06d4c0af fix(ui): fix selection on dropdowns
Mantine's multiselect does not let you edit the search box with mouse, paste into it, etc. Normal select is fine.

I can't remember why I made Lora etc multiselects, but everything seems to work with normal selects, so I've change to that.
2023-07-08 10:29:19 -04:00
psychedelicious
81817532f8 fix(ui): fix tab translations
model manager was using the wrong key due to the tabs render func subbing values in. made translation key a prop of a tab item.
2023-07-08 10:29:05 -04:00
Lincoln Stein
ae835f47b6 add missing frontend files 2023-07-08 10:18:47 -04:00
Lincoln Stein
8a3072db1a fix image upload issue 2023-07-08 10:14:55 -04:00
Lincoln Stein
bd9786564c merge with main 2023-07-08 10:11:25 -04:00
Lincoln Stein
f6ecee926f version of _find_root() that works in conda environment 2023-07-08 09:02:17 -04:00
Lincoln Stein
454c2c0952 version of _find_root() that works in conda environment 2023-07-08 09:01:05 -04:00
blessedcoolant
b27bf7bb0c
Merge branch 'main' into add-app-version 2023-07-08 21:58:17 +12:00
psychedelicious
0c528f22a7 fix(ui): improve initial gallery loading logic
- `isLoading` - now `true` *only* on first load
- added `isFetching` - `true` whenever gallery images are fetching
- on first load, show a spinner instead of skeletons. this prevents an awkward flash of skeletons into empty gallery when the gallery doesn't have enough images to fill it.
- removed `imageCategoriesChanged` listener, bc now on app start, both images and assets will be populated. leaving this in caused jank flashes of skeletons when switching gallery tabs when gallery doesn't have images to load
2023-07-08 19:57:36 +10:00
psychedelicious
d418e763ce fix(ui): fix controlnet processing fallback dimensions
Just made it a spinner, getting it to be styled correctly otherwise is a pain
2023-07-08 19:57:36 +10:00
psychedelicious
07ce53678b fix(ui): fix drag preview image dimensions 2023-07-08 19:57:36 +10:00
psychedelicious
173d3e6918 fix(ui): ensure initial gallery fetch happens once, fix skeleton count for initial fetch 2023-07-08 19:57:36 +10:00
psychedelicious
18b6c1a24b feat(ui): fill up gallery on app start
taking the coward's way out on this and just fetching 100 images & 100 assets on app start...

- add `appStarted` action, dispatched once on mount in App.tsx. listener fetches 100 images & 100 assets
- fix bug with selectedBoardId & assets tab
2023-07-08 19:57:36 +10:00
Mary Hipp
cbecf3cb89 handle case where user has no images 2023-07-08 19:57:36 +10:00
Mary Hipp
84645495a9 load images for whichever tab youre on 2023-07-08 19:57:36 +10:00
Mary Hipp
6399055f7f make sure images tab is active if auto-switch to new images is on 2023-07-08 19:57:36 +10:00
psychedelicious
078a829b3a feat(ui): add hover show/hide to appVersion 2023-07-08 19:55:19 +10:00
blessedcoolant
3333805821 feat: Add App Version to UI 2023-07-08 21:31:17 +12:00
psychedelicious
a0ccb4385f fix(ui): fix inconsistent shift modifier capture
The shift key listener didn't catch pressed when focused in a textarea or input field, causing jank on slider number inputs.

Add keydown and keyup listeners to all such fields, which ensures that the `shift` state is always correct.

Also add the action tracking it to `actionsDenylist` to not clutter up devtools.
2023-07-08 18:52:37 +10:00
blessedcoolant
2c78ac4a13
Merge branch 'main' into fix/ui/fix-progress-toggle 2023-07-08 20:24:23 +12:00
blessedcoolant
e715aa075d
Merge branch 'main' into fix/ui/fix-inputs-readonly 2023-07-08 20:23:33 +12:00
psychedelicious
5146e92463 fix(ui): do not diable show progress toggle while generating 2023-07-08 17:23:36 +10:00
psychedelicious
e7370e5ef3 fix(ui): fix readonly inputs
There was a props on IAISlider to make the input component readonly - I didn't know this existed and at some point used a component with that prop as a template for other sliders, copying the flag over.

It's not actually used anywhere, so I removed the prop entirely, enabling the number inputs everywhere.
2023-07-08 17:16:34 +10:00
psychedelicious
a73206c105 feat(ui): add cpu noise to linear graphs 2023-07-08 14:52:19 +10:00
psychedelicious
0138f52220 feat(ui): add ui for cpu noise
not hooked up to graphs
2023-07-08 14:15:13 +10:00
Lincoln Stein
2bc99f5b6c Revert "get uploads working again" 2023-07-08 12:22:10 +10:00
Lincoln Stein
b11d5970f6 get uploads working again (#3679)
I'm not sure if this was just my local install, but even after a fresh
`yarn install` my upload network request was failing because no file was
passed in. I don't think the `bodySerializer` part is getting run
2023-07-07 21:37:37 -04:00
Lincoln Stein
e1c7012125
Merge branch 'main' into maryhipp/restore-upload-functionality 2023-07-07 21:34:28 -04:00
Lincoln Stein
8e8f9cce0f print version when --version provided at command line 2023-07-07 20:47:29 -04:00
Lincoln Stein
06961072c8 fix en.json "modelManager" key 2023-07-07 20:19:51 -04:00
Lincoln Stein
0ec00e3d11 rebuild front end 2023-07-07 17:47:47 -04:00
Lincoln Stein
657e8031bb Merge branch 'main' into release/invokeai-3-0-beta 2023-07-07 17:45:18 -04:00
Lincoln Stein
10d3bccf32
Mac MPS FP16 fixes (#3641)
This PR is to allow FP16 precision to work on Macs with MPS. In
addition, it centralizes the torch fixes/workarounds required for MPS
into a new backend utility `mps_fixes.py`. This is conditionally
imported in `api_app.py`/`cli_app.py`.

Many MANY thanks to @StAlKeR7779 for patiently working to debug and fix
these issues.
2023-07-07 17:43:23 -04:00
Lincoln Stein
b8e53ca135 fix version number 2023-07-07 17:28:10 -04:00
Lincoln Stein
24f6fecdd5 first 3.0.0 beta release candidate 2023-07-07 17:27:12 -04:00
Lincoln Stein
235c14ca2c
Merge branch 'main' into maryhipp/restore-upload-functionality 2023-07-07 17:17:27 -04:00
blessedcoolant
f32a2f135c Merge branch 'release/invokeai-3-0-alpha' of https://github.com/invoke-ai/InvokeAI into release/invokeai-3-0-alpha 2023-07-08 06:30:04 +12:00
blessedcoolant
f4fe878781 cleanup: No longer used. 2023-07-08 06:27:11 +12:00
Eugene Brodsky
97b2ec58e2
Merge branch 'main' into release/invokeai-3-0-alpha 2023-07-07 14:18:12 -04:00
Mary Hipp
3dc42869f4 prop to hide toggle for advanced settings 2023-07-07 14:03:37 -04:00
Mary Hipp
294336b046 switch wording to embeddings 2023-07-07 13:58:07 -04:00
Mary Hipp
fd51edfc81 remove log 2023-07-07 12:04:41 -04:00
Mary Hipp
fbac11a521 get uploads working again 2023-07-07 12:02:22 -04:00
Mary Hipp
01b27a03a8 Merge branch 'maryhipp/hide-some-things' of https://github.com/invoke-ai/InvokeAI into maryhipp/hide-some-things 2023-07-07 11:45:05 -04:00
Mary Hipp
d9acb0eea6 fix bug 2023-07-07 11:44:58 -04:00
Mary Hipp Rogers
1ed72cdbed
Merge branch 'main' into maryhipp/hide-some-things 2023-07-07 11:34:32 -04:00
Mary Hipp
2933d81118 cleanup 2023-07-07 11:16:23 -04:00
Mary Hipp
888c47d37b add ability to disable lora, ti, dynamic prompts, vae selection 2023-07-07 11:13:42 -04:00
Lincoln Stein
8d88ad3b8d restore ability to launch web server with invokeai --web 2023-07-07 10:07:15 -04:00
Lincoln Stein
56f4712814 fix checkpoint VAE handling in migrate script 2023-07-07 09:34:42 -04:00
psychedelicious
78bcaec4da feat(ui): improve embed button styles 2023-07-07 23:14:31 +10:00
psychedelicious
2cbe98b1b1 fix(ui): resolve merge conflicts 2023-07-07 22:50:22 +10:00
psychedelicious
8457fcf7d3 feat(ui): finalize base model compatibility for lora, ti, vae 2023-07-07 22:50:22 +10:00
Mary Hipp
a9a4081f51 add modelSelected middleware to clear submodels on base_model change 2023-07-07 22:50:22 +10:00
Mary Hipp
b9a1aa38e3 disable submodels that have incompatible base models 2023-07-07 22:50:22 +10:00
Mary Hipp
6356dc335f change model store to object, update main model and vae dropdowns 2023-07-07 22:50:22 +10:00
Lincoln Stein
9f58ed35cf improve user migration experience
- No longer fail root directory probing if invokeai.yaml is missing
  (test is now whether a `models/core` directory exists).
- Migrate script does not overwrite previously-installed models.
- Can run migrate script on an existing 2.3 version directory
  with --from and --to pointing to same 2.3 root.
2023-07-07 08:18:46 -04:00
psychedelicious
a8fc75b6d0 feat(ui): make clipSkip activeLabel "Clip Skip"
we know its active if it displays
2023-07-07 21:42:16 +10:00
blessedcoolant
74557c8b6e fix: Loras breaking with clip skip 2023-07-07 23:27:21 +12:00
blessedcoolant
53cb200f85 fix: Clamp clipskip value when model changes 2023-07-07 19:29:11 +12:00
blessedcoolant
a4dec53b4d fix: Adjust clip skip layer count based on model 2023-07-07 19:05:10 +12:00
psychedelicious
803e1aaa17 feat(ui): update openapi-fetch; fix upload issue
My PR to fix an issue with the handling of formdata in `openapi-fetch` is released. This means we no longer need to patch the package (no patches at all now!).

This PR bumps its version and adds a transformer to our typegen script to handle typing binary form fields correctly as `Blob`.

Also regens types.
2023-07-07 16:36:42 +10:00
blessedcoolant
7aa918677e Merge branch 'main' into feat/clip_skip 2023-07-07 16:21:53 +12:00
blessedcoolant
c6d6b33e3c feat: Reset clipSkip when advanced options is turned off 2023-07-07 16:21:16 +12:00
Lincoln Stein
54f3686e3b merge with main, fix conflicts 2023-07-06 15:21:45 -04:00
Lincoln Stein
e9352227f3 add merge api 2023-07-06 15:12:34 -04:00
blessedcoolant
1ac787f3c1 feat: Change Clip Skip to Slider & Add Collapse Active Text 2023-07-07 06:37:07 +12:00
blessedcoolant
bc5371eeee
Merge branch 'main' into feat/clip_skip 2023-07-07 06:03:39 +12:00
blessedcoolant
ce7803231b feat: Add Clip Skip To Linear UI 2023-07-07 05:57:39 +12:00
Lincoln Stein
e573a533ae remove redundant import 2023-07-06 13:24:58 -04:00
Lincoln Stein
581be42c75
Merge branch 'main' into lstein/model-manager-router-api 2023-07-06 13:20:36 -04:00
Lincoln Stein
90c66aab3d merge with upstream 2023-07-06 13:17:02 -04:00
Lincoln Stein
3e925fbf34 model merging API ready for testing 2023-07-06 13:15:15 -04:00
Lincoln Stein
ec7c2f07c6 model merge backend, CLI and TUI working 2023-07-06 12:21:42 -04:00
Mary Hipp Rogers
d5f90b1a02
Improved loading for UI (#3667)
* load images on gallery render

* wait for models to be loaded before you can invoke

---------

Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-06 14:48:42 +00:00
Sergey Borisov
a9e77675a8 Move clip skip to separate node 2023-07-06 17:39:49 +03:00
blessedcoolant
b229fe19aa
Merge branch 'main' into lstein/configure-max-cache-size 2023-07-07 01:52:12 +12:00
Sergey Borisov
04b57c408f Add clip skip option to prompt node 2023-07-06 16:09:40 +03:00
blessedcoolant
c2eb6c33b9
Merge branch 'main' into lstein/more-model-loading-fixes 2023-07-07 01:00:02 +12:00
psychedelicious
94e38e9769 feat(ui): remove delete image button in gallery
it was really easy to accidentally click, just commented out, easy to add back or add a setting for it in the future
2023-07-06 22:35:50 +10:00
Mary Hipp
984121d682 only show delete icon if big enough 2023-07-06 22:35:50 +10:00
blessedcoolant
6f1268e2b1
Merge branch 'main' into lstein/more-model-loading-fixes 2023-07-07 00:32:22 +12:00
psychedelicious
a901a37433 feat(ui): improve no loaded loras UI 2023-07-06 22:26:54 +10:00
psychedelicious
e09c07a97d fix(ui): fix board auto-add 2023-07-06 22:25:05 +10:00
psychedelicious
87feae959d feat(ui): improve no loaded embeddings UI 2023-07-06 22:24:50 +10:00
psychedelicious
c21245f590 fix(api): make list models params querys, make path /, remove defaults
The list models route should just be the base route path, and should use query parameters as opposed to path parameters (which cannot be optional)

Removed defaults for update model route - for the purposes of the API, we should always be explicit with this
2023-07-06 15:34:50 +10:00
psychedelicious
fbd6b25b4d feat(ui): improve ux on TI autcomplete
- cursor reinserts at the end of the trigger
- `enter` closes the select
- popover styling
2023-07-06 14:56:37 +10:00
psychedelicious
2415dc1235 feat(ui): refactor embedding ui; now is autocomplete 2023-07-06 13:40:13 +10:00
Lincoln Stein
8f5fcb188c
Merge branch 'main' into lstein/model-manager-router-api 2023-07-05 23:16:43 -04:00
Lincoln Stein
f7daa6e71d all methods now return OPENAPI_MODEL_CONFIGS; convert uses PUT 2023-07-05 23:13:01 -04:00
Lincoln Stein
3691b55565 fix autoimport crash 2023-07-05 21:53:08 -04:00
Lincoln Stein
fbad839d23 add missing .js files 2023-07-05 21:09:13 -04:00
Lincoln Stein
f610045a14
Merge branch 'main' into mps-fp16-fixes 2023-07-05 21:01:48 -04:00