Commit Graph

1486 Commits

Author SHA1 Message Date
blessedcoolant
0795d8764f
Merge branch 'main' into fix/post-model-sync 2023-07-20 20:16:14 +12:00
blessedcoolant
82eb1f1075 feat: Add Sync Models to UI 2023-07-20 18:50:43 +12:00
psychedelicious
187cf906fa
ui: enhance intermediates clear, enhance board auto-add (#3851)
* feat(ui): enhance clear intermediates feature

- retrieve the # of intermediates using a new query (just uses list images endpoint w/ limit of 0)
- display the count in the UI
- add types for clearIntermediates mutation
- minor styling and verbiage changes

* feat(ui): remove unused settings option for guides

* feat(ui): use solid badge variant

consistent with the rest of the usage of badges

* feat(ui): update board ctx menu, add board auto-add

- add context menu to system boards - only open is select board. did this so that you dont think its broken when you click it
- add auto-add board. you can right click a user board to enable it for auto-add, or use the gallery settings popover to select it. the invoke button has a tooltip on a short delay to remind you that you have auto-add enabled
- made useBoardName hook, provide it a board id and it gets your the board name
- removed `boardIdToAdTo` state & logic, updated workflows to auto-switch and auto-add on image generation

* fix(ui): clear controlnet when clearing intermediates

* feat: Make Add Board icon a button

* feat(db, api): clear intermediates now clears all of them

* feat(ui): make reset webui text subtext style

* feat(ui): board name change submits on blur

---------

Co-authored-by: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com>
2023-07-20 17:44:22 +12:00
blessedcoolant
6e36c275c9
feat: Add Setting Switch Component (#3847) 2023-07-20 14:17:51 +12:00
blessedcoolant
f6d5e93020
fix: Model List not scrolling through checkpoints (#3849) 2023-07-20 14:16:32 +12:00
Lincoln Stein
495df9fd1b bump version to 3.0.0rc1 2023-07-19 12:36:39 -04:00
Mary Hipp Rogers
0073fc8619
add toggle for isNodesEnabled in settings (#3839)
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 16:08:28 +00:00
psychedelicious
0724eb9e0a
feat(ui): another go at gallery (#3791)
* feat(ui): migrate listImages to RTK query using createEntityAdapter

- see comments in `endpoints/images.ts` for explanation of the caching
- so far, only manually updating `all` images when new image is generated. no other manual cache updates are implemented, but will be needed.
- fixed some weirdness with loading state components (like the spinners in gallery)
- added `useThumbnailFallback` for `IAIDndImage`, this displays the tiny webp thumbnail while the full-size images load
- comment out some old thunk related stuff in gallerySlice, which is no longer needed

* feat(ui): add manual cache updates for board changes (wip)

- update RTK Query caches when adding/removing single image to/from board
- work more on migrating all image-related operations to RTK Query

* update AddImagesToBoardContext so that it works when user uses context menu + modal

* handle case where no image is selected

* get assets working for main list and boards - dnd only

* feat(ui): migrate image uploads to RTK Query

- minor refactor of `ImageUploader` and `useImageUploadButton` hooks, simplify some logic
- style filesystem upload overlay to match existing UI
- replace all old `imageUploaded` thunks with `uploadImage` RTK Query calls, update associated logic including canvas related uploads
- simplify `PostUploadAction`s that only need to display user input

* feat(ui): remove `receivedPageOfImages` thunks

* feat(ui): remove `receivedImageUrls` thunk

* feat(ui): finish removing all images thunks

stuff now broken:
- image usage
- delete board images
- on first load, no image selected

* feat(ui): simplify `updateImage` cache manipulation

- we don't actually ever change categories, so we can remove a lot of logic

* feat(ui): simplify canvas autosave

- instead of using a network request to set the canvas generation as not intermediate, we can just do that in the graph

* feat(ui): simplify & handle edge cases in cache updates

* feat(db, api): support `board_id='none'` for `get_many` images queries

This allows us to get all images that are not on a board.

* chore(ui): regen types

* feat(ui): add `All Assets`, `No Board` boards

Restructure boards:
- `all images` is all images
- `all assets` is all assets
- `no board` is all images/assets without a board set
- user boards may have images and assets

Update caching logic
- much simpler without every board having sub-views of images and assets
- update drag and drop operations for all possible interactions

* chore(ui): regen types

* feat(ui): move download to top of context menu

* feat(ui): improve drop overlay styles

* fix(ui): fix image not selected on first load

- listen for first load of all images board, then select the first image

* feat(ui): refactor board deletion

api changes:
- add route to list all image names for a board. this is required to handle board + image deletion. we need to know every image in the board to determine the image usage across the app. this is fetched only when the delete board and images modal is opened so it's as efficient as it can be.
- update the delete board route to respond with a list of deleted `board_images` and `images`, as image names. this is needed to perform accurate clientside state & cache updates after deleting.

db changes:
- remove unused `board_images` service method to get paginated images dtos for a board. this is now done thru the list images endpoint & images service. needs a small logic change on `images.delete_images_on_board`

ui changes:
- simplify the delete board modal - no context, just minor prop drilling. this is feasible for boards only because the components that need to trigger and manipulate the modal are very close together in the tree
- add cache updates for `deleteBoard` & `deleteBoardAndImages` mutations
- the only thing we cannot do directly is on `deleteBoardAndImages`, update the `No Board` board. we'd need to insert image dtos that we may not have loaded. instead, i am just invalidating the tags for that `listImages` cache. so when you `deleteBoardAndImages`, the `No Board` will re-fetch the initial image limit. i think this is more efficient than e.g. fetching all image dtos to insert then inserting them.
- handle image usage for `deleteBoardAndImages`
- update all (i think/hope) the little bits and pieces in the UI to accomodate these changes

* fix(ui): fix board selection logic

* feat(ui): add delete board modal loading state

* fix(ui): use thumbnails for board cover images

* fix(ui): fix race condition with board selection

when selecting a board that doesn't have any images loaded, we need to wait until the images haveloaded before selecting the first image.

this logic is debounced to ~1000ms.

* feat(ui): name 'No Board' correctly, change icon

* fix(ui): do not cache listAllImageNames query

if we cache it, we can end up with stale image usage during deletion.

we could of course manually update the cache as we are doing elsewhere. but because this is a relatively infrequent network request, i'd like to trade increased cache mgmt complexity here for increased resource usage.

* feat(ui): reduce drag preview opacity, remove border

* fix(ui): fix incorrect queryArg used in `deleteImage` and `updateImage` cache updates

* fix(ui): fix doubled open in new tab

* fix(ui): fix new generations not getting added to 'No Board'

* fix(ui): fix board id not changing on new image when autosave enabled

* fix(ui): context menu when selection is 0

need to revise how context menu is triggered later, when we approach multi select

* fix(ui): fix deleting does not update counts for all images and all assets

* fix(ui): fix all assets board name in boards list collapse button

* fix(ui): ensure we never go under 0 for total board count

* fix(ui): fix text overflow on board names

---------

Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 12:06:38 -04:00
Mary Hipp
055f5b2d4b clear canvas alongside intermediates 2023-07-19 11:39:24 -04:00
Mary Hipp Rogers
9f00e055ac
Maryhipp/clear intermediates (#3820)
* new route to clear intermediates

* UI to clear intermediates from settings modal

* cleanup

* PR feedback

---------

Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-07-19 10:55:29 -04:00
mickr777
23f0c7035c
Tweaks to Image Progress Node (#3833)
* Update nodesSlice.ts

* Update ProgressImageNode.tsx

* remove unused code

* Remove Fixed Ratio

I was causing issues

* fix: Progress Image Node Size

---------

Co-authored-by: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com>
2023-07-19 20:54:50 +12:00
Lincoln Stein
2fbf245c3d Merge branch 'main' into release/invokeai-3-0-beta
-- this adds the upscaling support
2023-07-18 21:17:15 -04:00
Lincoln Stein
e943913f58 Merge branch 'main' into release/invokeai-3-0-beta 2023-07-18 20:42:10 -04:00
Lincoln Stein
893e199677
Merge branch 'main' into feat/ui/upscale 2023-07-18 19:18:55 -04:00
Mary Hipp
4b678f2416 add toggle to not show version on logo 2023-07-18 16:16:35 -04:00
Lincoln Stein
3773bfbc74 add yarn.lock back in 2023-07-18 13:05:53 -04:00
Lincoln Stein
efcb3a9d08 documentation fixes 2023-07-18 12:45:47 -04:00
Lincoln Stein
3fa7170566 tell user that they can import a model URL in the Import Models UI 2023-07-18 11:31:31 -04:00
Lincoln Stein
b0fb4950ed rebuild front end 2023-07-18 08:12:41 -04:00
psychedelicious
42c440c73f
Merge branch 'main' into feat/ui/upscale 2023-07-18 22:08:02 +10:00
Lincoln Stein
65df821233
Merge branch 'main' into release/invokeai-3-0-beta 2023-07-18 08:04:59 -04:00
blessedcoolant
bd4eaa455a fix: Update text to Badge in ModelListItem 2023-07-18 23:58:07 +12:00
blessedcoolant
1cab89fe8c Merge branch 'main' into style-fixes 2023-07-18 23:47:05 +12:00
psychedelicious
1c1a72f4c4 feat(ui): hide sdxl from linear UI 2023-07-18 21:44:24 +10:00
Lincoln Stein
9c3c393b84 merge with main 2023-07-18 07:00:55 -04:00
blessedcoolant
5d635c7221 cleanup: Remove console hotkey from modal (no console anymore) 2023-07-18 22:27:36 +12:00
blessedcoolant
e6bfc382a5 cleanup: Removed unused hotkeys from hotkeys modal 2023-07-18 22:25:26 +12:00
blessedcoolant
f970e3792f fix: Snap to grid hotkey not working 2023-07-18 22:20:45 +12:00
blessedcoolant
3ffca5490e fix: Brush opacity hotkeys not working 2023-07-18 22:20:28 +12:00
blessedcoolant
f803d5cf1e fix: Shift O and Shift G not resizing the canvas correctly 2023-07-18 21:00:43 +12:00
blessedcoolant
ab2343da51 fix: Hotkeys 'g' and 'o' not resizing the canvas 2023-07-18 20:51:08 +12:00
blessedcoolant
4975b1a704 style: Minor updates to the visual look of the nodes 2023-07-18 20:35:20 +12:00
blessedcoolant
e1b756658a style: Minor update to Add Node Menu
So there's clear differentiation between the node title and desc
2023-07-18 20:34:58 +12:00
blessedcoolant
d17450bbe6 feat: Add base model label to Model Item 2023-07-18 20:00:22 +12:00
blessedcoolant
64d676219b fix: Settings Modal colors in Light Mode 2023-07-18 19:49:33 +12:00
psychedelicious
416afd2781 chore(ui): regen types 2023-07-18 15:04:43 +10:00
psychedelicious
afa84a149c feat(ui): restore ad-hoc upscaling
- remove face restoration entirely
- add dropdown for ESRGAN model select
- add ad-hoc upscaling graph and workflow
2023-07-18 14:57:47 +10:00
psychedelicious
be659364c2 chore(ui): regen types 2023-07-18 14:55:39 +10:00
blessedcoolant
6e40b543cd
Merge branch 'main' into minimapcontrol 2023-07-18 16:25:49 +12:00
blessedcoolant
3d1ad86e8a chore: Clean Schema before final merge 2023-07-18 15:18:31 +12:00
mickr777
6c03d9f8f2
Spelling mistake 2023-07-18 13:13:31 +10:00
mickr777
9e01a13d63
Add translation entries to right file 2023-07-18 13:09:26 +10:00
mickr777
e74eac5c91
revert en.json 2023-07-18 13:08:31 +10:00
mickr777
47617b8f63
Spelling Mistake 2023-07-18 12:58:42 +10:00
mickr777
9c2a2b313e
Add entries for the viewportcontrols tool tips 2023-07-18 12:58:00 +10:00
mickr777
32662c5ee8
Add tool tips 2023-07-18 12:56:34 +10:00
blessedcoolant
c16325a244 feat: Disable convert button on SDXL and Refiner Checkpoints 2023-07-18 14:37:20 +12:00
blessedcoolant
7221a238b3 fix: Fix Add Scan Auto Checkpoint logic 2023-07-18 14:36:56 +12:00
blessedcoolant
84275a3f12 Merge branch 'main' into sdxl-support 2023-07-18 14:17:09 +12:00
blessedcoolant
d45ff7e100 fix: Model Manager scan Auto Add not detecting checkpoint correctly 2023-07-18 14:14:44 +12:00
mickr777
9dbffadc6e
Update nodesSlice.ts 2023-07-18 12:11:13 +10:00
mickr777
11882173e3
Update ViewportControls.tsx 2023-07-18 12:10:57 +10:00
mickr777
990f34aa15
Update MinimapPanel.tsx 2023-07-18 12:10:42 +10:00
blessedcoolant
5b7eef3d43 merge: Make Model Manager work with SDXL stuff 2023-07-18 14:01:56 +12:00
blessedcoolant
13da881953 Merge branch 'main' into sdxl-support 2023-07-18 13:34:07 +12:00
blessedcoolant
ec3c15ead0 Merge branch 'main' into mm-ui 2023-07-18 12:58:57 +12:00
blessedcoolant
a137f7fe7b
Merge branch 'main' into feat/model-events 2023-07-18 12:55:02 +12:00
blessedcoolant
7c3eb06a71 fix: Scan again not refetching the model list 2023-07-18 12:44:16 +12:00
blessedcoolant
715e3217d0 feat: Improve Scanned / Model Lists layout
- Now inside ScrollArea
- Now displays installed models
2023-07-18 12:14:35 +12:00
blessedcoolant
72c1a8db08 fix: Diffusers Model edit form not closing on Scan Add 2023-07-18 11:58:04 +12:00
blessedcoolant
337399ff7c fix: Add API tags for Scanned Models 2023-07-18 11:57:45 +12:00
mickr777
7ec1be80ad
Merge branch 'main' into HideLegend2 2023-07-18 08:14:34 +10:00
Lincoln Stein
6ae10798b0
Merge branch 'main' into feat/model-events 2023-07-17 17:15:12 -04:00
Lincoln Stein
65ed43afb9 resolve conflicts with main 2023-07-17 17:10:57 -04:00
Lincoln Stein
3f8e978543 remove yarn.lock from repo 2023-07-17 17:09:51 -04:00
psychedelicious
c82ae74610 feat(ui): consolidate imagecontextmenu and send to menu
Both support the same actions:
- Open in new tab
- Copy image (if supported by browser)
- Use prompt
- Use seed
- Use all
- Send to img2img
- Send to canvas
- Change board
- Download image
- Delete
2023-07-17 16:43:24 -04:00
psychedelicious
380aa1d7b5 feat(ui): fix copy image, add context menu to IAIDndImage
- restore copy image functionality* in image context menu, current image buttons
- give IAIDndImage the same context menu

* copying image to clipboard is not possible on Firefox unless the user enables a setting which is disabled by default. if the browser does not support copying an image, the copy functionality is disabled.
2023-07-17 16:43:24 -04:00
psychedelicious
81ccbc5c6a feat(ui): improve context menu feel
- faster animation
- do not handle context menu events inside context menu (fixes issue where the context menu appears to not fire)
2023-07-17 16:43:24 -04:00
blessedcoolant
0712294c17 fix: Model Manager light mode color fixes 2023-07-18 00:29:20 +12:00
blessedcoolant
e039771d07 fix: Incorrect type on SDXL Model Loader 2023-07-17 21:47:41 +12:00
blessedcoolant
cfdaa30d44 feat: Scan models add to differentiate between ckpt and diffusers 2023-07-17 19:40:08 +12:00
psychedelicious
3e2a948007
Merge branch 'main' into feat/model-events 2023-07-17 17:36:20 +10:00
psychedelicious
af9e8fefce feat(ui): socket event timestamps have ms precision 2023-07-17 17:35:20 +10:00
blessedcoolant
f398fe4136 fix: Merge models not respecting save directory 2023-07-17 17:59:05 +12:00
blessedcoolant
41e7b008fb feat: Add search to Scanned Models 2023-07-17 17:32:34 +12:00
blessedcoolant
98e6a56714 fix: Model Manager jank / bugs / refinement 2023-07-17 17:09:41 +12:00
blessedcoolant
cbd5be73d2 feat: Add Scan Models Advanced Add 2023-07-17 16:44:01 +12:00
blessedcoolant
38e6e3b36b feat: Add Quick Add To Scan Model 2023-07-17 16:07:38 +12:00
blessedcoolant
540f40c293 fix: Better file and component naming for Add Models 2023-07-17 13:58:11 +12:00
blessedcoolant
641b90cc3f chore: regen types 2023-07-17 13:50:35 +12:00
blessedcoolant
aebd595607 Merge branch 'main' into mm-ui 2023-07-17 13:49:25 +12:00
mickr777
ce58c41553
Merge branch 'main' into HideLegend2 2023-07-17 10:35:22 +10:00
mickr777
9b55eea673
Silly prettier 2023-07-17 10:31:25 +10:00
mickr777
d9a853857c
Change icon to FaInfo 2023-07-17 10:11:18 +10:00
mickr777
036e5d7292
Update nodesSlice.ts 2023-07-17 08:43:45 +10:00
mickr777
b4e09d4143
Update TopRightPanel.tsx 2023-07-17 08:43:05 +10:00
mickr777
bc3aab93f1
Update ViewportControls.tsx 2023-07-17 08:42:31 +10:00
blessedcoolant
dabd2bf301 fix: Readd model name to edit forms
Will be needed when we implement changing name and base model type.
2023-07-16 16:15:53 +12:00
blessedcoolant
92029e69c6 feat: Update Checkpoint Model Edit to use config picker 2023-07-16 15:48:44 +12:00
blessedcoolant
5351171d0e cleanup: Scan Models component (to begin anew) 2023-07-16 15:29:25 +12:00
blessedcoolant
5b047baeb0 fix: Mantine Required icon being on new line 2023-07-16 15:29:01 +12:00
blessedcoolant
d93d42af4a feat: Add Manual Checkpoint / Safetensor Models 2023-07-16 15:21:49 +12:00
Lincoln Stein
b767b5d44c user must adjust terminal size on Windows 2023-07-15 23:19:50 -04:00
blessedcoolant
421fcb761b feat: Manual Add Diffusers Model 2023-07-16 14:20:27 +12:00
blessedcoolant
2e0370d845 feat: Extract BaseModel and ModelVariant Select's
For reusability
2023-07-16 14:07:26 +12:00
Lincoln Stein
72c891bbac remove conhost from windows install process 2023-07-15 21:48:04 -04:00
Lincoln Stein
39e66ec934 rebuild front end 2023-07-15 20:32:22 -04:00
Lincoln Stein
ccbfa5d862 resolve conflicts 2023-07-15 19:47:50 -04:00
Lincoln Stein
6b0a158ffa Merge branch 'main' into lstein/default-model-install 2023-07-15 18:23:34 -04:00
psychedelicious
c487166d9c feat(ui): add listeners for model load events
- currently only exposed as DEBUG-level logs
2023-07-16 02:26:30 +10:00