Commit Graph

1561 Commits

Author SHA1 Message Date
psychedelicious
8a14c5db00 feat(ui): wip controlnet layout 2023-07-15 19:56:45 +10:00
psychedelicious
77ad3c959b feat(ui): tweak slider styles 2023-07-15 19:56:45 +10:00
psychedelicious
952a7a8674 feat(ui): do not autoprocess if user just disabled autoconfig 2023-07-15 19:56:45 +10:00
psychedelicious
7b6d91c69f feat(ui): control net UI weights 0 to 2 2023-07-15 19:56:44 +10:00
psychedelicious
8f66d826a5 feat(ui): refactor controlnet UI components to use local memoized selectors
makes them more portable and easier to reason about
2023-07-15 19:56:44 +10:00
psychedelicious
0d41346417 feat(ui): fix controlNet models
- update controlnet state to use object format for model
- update model-parsing helper functions to log errors
- update nodes components, types and state
- remove controlnets from state when models are loaded and the controlnet's model is not available
2023-07-15 19:56:44 +10:00
Mary Hipp
76dc47e88d remove frontend constants, use backend response for controlnet models. add disabled state if base model is not compatible. clear control net model if main base model changes. add logic to guess processor and move it up in UI 2023-07-15 19:56:44 +10:00
psychedelicious
5ac114576f feat(ui): add controlnet field to nodes 2023-07-15 19:56:44 +10:00
psychedelicious
96c9db6d2e chore(ui): typegen 2023-07-15 19:56:44 +10:00
blessedcoolant
9769b48661 feat: Add Custom location support for model conversion 2023-07-15 19:17:16 +12:00
blessedcoolant
8c8eddcc60 feat: Handle toasts for Model Delete 2023-07-15 18:48:18 +12:00
blessedcoolant
79ca0d0d02 feat: Allow user to pick where to saved merged model 2023-07-15 17:33:44 +12:00
blessedcoolant
690331b8c0 chore: Regen Schema 2023-07-15 17:33:09 +12:00
Mary Hipp
194434dbfa restore scrollbar 2023-07-15 12:25:28 +10:00
psychedelicious
8cb19578c2 fix(ui): fix crash on LoRA remove / weight change 2023-07-15 11:09:18 +10:00
Lincoln Stein
a45f7ce355 add --list-models command 2023-07-14 19:52:47 -04:00
Lincoln Stein
eb9d74653d set default models for realesrgan, controlnet and text inversion 2023-07-14 19:03:41 -04:00
blessedcoolant
48561908b1
Merge branch 'main' into fix/nodes/fix-mouse-interactions 2023-07-15 04:13:46 +12:00
psychedelicious
f6752965b7 fix(ui): allow decimals in number inputs
still some jank but eh
2023-07-15 01:05:10 +10:00
psychedelicious
30e45eaf47 feat(ui): hold shift to make nodes draggable from anywhere 2023-07-15 00:45:26 +10:00
psychedelicious
0257b4a611 fix(ui): fix mouse interactions 2023-07-15 00:13:45 +10:00
blessedcoolant
3c7cf72423 fix: Clean up merge models submit handler 2023-07-15 01:29:51 +12:00
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
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
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
Mary Hipp
d6c914eedc detect if user has patchmatch enabled 2023-07-13 23:26:52 +10: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
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
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
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
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
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
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
Lincoln Stein
75c5ce46bc merged SDXLModelLoader into ModelLoader invocation 2023-07-11 16:33:08 -04:00
blessedcoolant
b6b22dc799 feat: Update Reload Schema button 2023-07-12 07:50:11 +12:00
Lincoln Stein
fabcf276ac rebuild front end 2023-07-11 14:45:46 -04: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
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
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
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
2f3190ad6c merge with main 2023-07-09 13:28:05 -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
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
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
blessedcoolant
5fb24197cd fix: Rearrange Model Select to take full width 2023-07-09 07:23:31 +12:00
Lincoln Stein
3616ac8754 model installer calls invokeai-configure if something wrong with root 2023-07-08 12:45:23 -04: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
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
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
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
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
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
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
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
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
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
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
fbad839d23 add missing .js files 2023-07-05 21:09:13 -04:00
Lincoln Stein
bf25818d76 rebuild front end; bump version 2023-07-05 20:33:28 -04:00
Lincoln Stein
cfa3b2419c partial implementation of merge 2023-07-05 20:25:47 -04:00
Lincoln Stein
83d3a043da merge latest changes from main 2023-07-05 19:15:53 -04:00
Lincoln Stein
71dad6d404
Merge branch 'main' into ti-ui 2023-07-05 16:57:31 -04:00
Lincoln Stein
c21bd806f0 default LoRA weight to 0.75 2023-07-05 16:54:23 -04:00
Lincoln Stein
90ae8ce26a prevent model install crash "torch needs to be restarted with spawn" 2023-07-05 16:18:20 -04:00
Lincoln Stein
ad5d90aca8 prevent model install crash "torch needs to be restarted with spawn" 2023-07-05 15:38:07 -04:00
Mary Hipp Rogers
ea81ce9489
close modal when user clicks cancel (#3656)
* close modal when user clicks cancel

* close modal when delete image context cleared

---------

Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-05 17:12:27 +00:00
Lincoln Stein
bd82c4ace0 model installer confirms deletion of models 2023-07-05 09:57:23 -04:00
blessedcoolant
e4d92da3a9 fix: Make space for icons in prompt box 2023-07-06 01:48:50 +12:00
blessedcoolant
9204b72383 feat: Make Embedding Picker a mini toggle 2023-07-06 01:45:00 +12:00
Lincoln Stein
9edf78dd2e merge with main 2023-07-05 09:12:54 -04:00
blessedcoolant
a556bf45bb Merge branch 'main' into ti-ui 2023-07-05 23:42:48 +12:00
blessedcoolant
8c9266359d feat: Add Embedding Select To Linear UI 2023-07-05 23:41:15 +12:00
psychedelicious
596c791844 fix(ui): fix prompt resize & style resizer 2023-07-05 21:02:31 +10:00
psychedelicious
2a7dee17be fix(ui): fix dnd on nodes
I had broken this earlier today
2023-07-05 19:06:40 +10:00
blessedcoolant
1c7166d2c6
Merge branch 'main' into fix/ui/delete-image-select 2023-07-05 20:57:34 +12:00
psychedelicious
9ebab013c1 fix(ui): deleting image selects first image 2023-07-05 18:21:46 +10:00
psychedelicious
e41e8606b5 feat(ui): improve accordion ux
- Accordions now may be opened or closed regardless of whether or not their contents are enabled or active
- Accordions have a short text indicator alerting the user if their contents are enabled, either a simple `Enabled` or, for accordions like LoRA or ControlNet, `X Active` if any are active
2023-07-05 17:33:03 +10:00
blessedcoolant
1fb317243d fix: Change Lora weight bounds to -1 to 2 2023-07-05 18:12:45 +12:00
blessedcoolant
1a29a3fe39 feat: Add Lora to Canvas 2023-07-05 16:39:28 +12:00
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
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
bd5a764988 Remove 'automatic' from VAE Loader in Nodes 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
Lincoln Stein
b17406a985
Merge branch 'main' into lstein/improve-model-install-stability 2023-07-03 12:37:02 -04:00
Lincoln Stein
877b187a1b Merge branch 'lstein/restore-3.9-compatibility' into release/invokeai-3-0-alpha 2023-07-03 11:01:34 -04:00
psychedelicious
c33f0ae055 feat(ui): hide batch ui pending logic implementation 2023-07-04 00:26:58 +10:00
psychedelicious
90aa97edd4 feat(ui): add multi-select and batch capabilities
This introduces the core functionality for batch operations on images and multiple selection in the gallery/batch manager.

A number of other substantial changes are included:
- `imagesSlice` is consolidated into `gallerySlice`, allowing for simpler selection of filtered images
- `batchSlice` is added to manage the batch
- The wonky context pattern for image deletion has been changed, much simpler now using a `imageDeletionSlice` and redux listeners; this needs to be implemented still for the other image modals
- Minimum gallery size in px implemented as a hook
- Many style fixes & several bug fixes

TODO:
- The UI and UX need to be figured out, especially for controlnet
- Batch processing is not hooked up; generation does not do anything with batch
- Routes to support batch image operations, specifically delete and add/remove to/from boards
2023-07-04 00:18:27 +10:00
Lincoln Stein
8c93c8dda8 add web dist files to enable network pip install 2023-07-02 22:02:53 -04:00
Lincoln Stein
2b67509061 bump version; rebuild frontend 2023-07-02 13:02:31 -04:00
Lincoln Stein
fa1f9939cc adjust invokeai-configure TUI vertical height to show NEXT button on Mac 2023-07-02 09:44:16 -04:00
blessedcoolant
f399b36ae6 fix: Progress Bar being broken 2023-07-02 18:49:24 +12:00
mickr777
a6334750cb
Update InvokeButton.tsx 2023-07-02 15:07:01 +10:00
mickr777
45a551125d
Update NodeInvokeButton.tsx 2023-07-02 15:06:32 +10:00
mickr777
72d64513d0
add borderBottomRadius: '5px', 2023-07-02 15:05:32 +10:00
psychedelicious
0e50005643 fix(ui): show skeletons only for currently loading images 2023-07-02 11:55:51 +10:00
Mary Hipp
19c632e793 remove width 2023-07-02 11:55:51 +10:00
Mary Hipp
85a4d37883 remove long loading state, introduce loading to gallery and model list 2023-07-02 11:55:51 +10:00
Lincoln Stein
f1fb1c9a60 Merge branch 'lstein/fix-update-script' into release/invokeai-3-0-alpha 2023-07-01 20:13:04 -04:00
Lincoln Stein
f7d8ae20a6 rolled back changes to package.json 2023-07-01 20:07:14 -04:00
Lincoln Stein
9724143ab7 rolled back changes to package.json 2023-07-01 20:05:00 -04:00
Lincoln Stein
ecc5b6eec5 change single to double quotes so that pip install works on windows 2023-07-01 19:56:18 -04:00
Lincoln Stein
4ac9be115e rebuild frontend 2023-07-01 14:48:23 -04:00
Lincoln Stein
f1928d2588 prevent crashes on malformed models 2023-07-01 14:32:58 -04:00
psychedelicious
f46c50f69a feat(ui): gallery minSize tweak
- Set min size for floating gallery panel
- Correct the default pinned width (it cannot be less than the min width and this was sometimes happening during window resize)
2023-07-01 20:27:52 +10:00
psychedelicious
3aa6a7e7df feat(ui): minimum gallery size
Add `useMinimumPanelSize()` hook to provide minimum resizable panel sizes (in pixels).

The library we are using for the gallery panel uses percentages only. To provide a minimum size in pixels, we need to do some math to calculate the percentage of window size that corresponds to the desired min width in pixels.
2023-07-01 18:29:55 +10:00
Mary Hipp Rogers
d0834cfa19
export new ColorModeButton component (#3614)
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-06-30 09:07:36 -04:00
blessedcoolant
9a123ed662
Merge branch 'main' into fix/ui/fix-canvas-crash 2023-06-30 23:31:42 +12:00
psychedelicious
d6cfbe982f feat(ui): tweak light mode colors, buttons pop 2023-06-30 13:15:58 +10:00
psychedelicious
30464f4fe1 fix(ui): fix canvas crash by rolling back swagger-parser
The node polyfills needed to run the `swagger-parser` library (used to dereference the OpenAPI schema) cause the canvas tab to immediately crash when the package build is used in another react application.

I'm sure this is fixable but it's not clear what is causing the issue and troubleshooting is very time consuming.

Selectively rolling back the implementation of `swagger-parser`.
2023-06-30 12:24:28 +10:00
blessedcoolant
295444c730 cleanup: Minor theme related cleanup 2023-06-30 06:09:14 +12:00
blessedcoolant
fb015332f2 feat: Add tooltips to color mode switcher 2023-06-30 06:05:08 +12:00
blessedcoolant
6e917dcbb0 chore: More colors to own files + small color tweaks 2023-06-30 06:04:42 +12:00
psychedelicious
032c7e68d0 feat(ui): remove themes, add hand-crafted dark and light modes
Themes are very fun but due to the differences in perceived saturation and lightness across the
the color spectrum, it's impossible to have have multiple themes that look great without hand-
crafting *every* shade for *every* theme. We've ended up with 4 OK themes (well, 3, because the
light theme was pretty bad).

I've removed the themes and added color mode support. There is now a single dark and light mode,
each with their own color palette and the classic grey / purple / yellow invoke colors that
@blessedcoolant first designed.

I've re-styled almost everything except the model manager and lightbox, which I keep forgetting
to work on.

One new concept is the Chakra `layerStyle`. This lets us define "layers" - think body, first layer,
second layer, etc - that can be applied on various components. By defining layers, we can be more
consistent about the z-axis and its relationship to color and lightness.
2023-06-30 03:24:36 +10:00
Mary Hipp
723d68e496 add image usage for board images and listener to handle actual deletion 2023-06-29 21:14:53 +10:00
Mary Hipp
ba67e57a7e (wip) delete images along with board 2023-06-29 21:14:53 +10:00
psychedelicious
4308d593c3 fix(ui): improve IDE TS performance by not resolving JSON
The TS Language Server slows down immensely with our translation JSON, which is used to provide kinda-type-safe translation keys. I say "kinda", because you don't get autocomplete - you only get red squigglies when the key is incorrect.

To improve the performance, we can opt out of this process entirely, at the cost of no red squigglies for translation keys. Hopefully we can resolve this in the future.

It's not clear why this became an issue only recently (like past couple weeks). We've tried rolling back the app dependencies, VSCode extensions, VSCode itself, and the TS version to before the time when the issue started, but nothing seems to improve the performance.

1. Disable `resolveJsonModule` in `tsconfig.json`
2. Ignore TS in `i18n.ts` when importing the JSON
3. Comment out the custom types in `i18.d.ts` entirely

It's possible that only `3` is needed to fix the issue.

I've tested building the app and running the build - it works fine, and translation works fine.
2023-06-28 23:55:44 -04:00
Brandon Rising
8f6b3660c5 Set use-credentials on commercial deployment if authToken is set on canvas image calls, comment out the UpdateImageUrls on connect listener 2023-06-29 13:55:03 +10:00