Sergey Borisov
5aaaaf64a1
Fix ckpt conversion
2023-06-23 17:29:54 +03:00
StAlKeR7779
9140e2c0f2
Merge branch 'main' into fix/vae_conversion
2023-06-23 15:03:59 +03:00
Lincoln Stein
a910403003
correctly migrate models that have relative paths
2023-06-22 21:10:31 -04:00
Lincoln Stein
c7b7e087e4
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-23 01:45:05 +01:00
Lincoln Stein
d65c833b90
migration now integrated into invokeai-configure
2023-06-22 16:44:55 -04:00
Lincoln Stein
33b04f6386
migration script working well
2023-06-22 15:47:12 -04:00
psychedelicious
339e7ce213
feat(ui): initial implementation of model loading
...
- Update model listing code to use `rtk-query`
- Update all graph generation to use new `pipeline_model_loader` node
2023-06-22 17:48:57 +10:00
psychedelicious
2a178f5a25
chore(ui): regen api client
2023-06-22 17:48:13 +10:00
psychedelicious
1bc170727b
tidy(nodes): rename sd_model_loader
to pipeline_model_loader
...
this is more accurate bc it can do eg kandinsky also
2023-06-22 17:47:58 +10:00
psychedelicious
3722cdf5d6
chore(ui): regen api client
2023-06-22 17:36:20 +10:00
psychedelicious
42a59aa147
feat(nodes): add sd_model_loader
node
...
Loads any pipeline model.
Also introduced is `PipelineModelField`, which includes a model name and base model.
2023-06-22 17:36:05 +10:00
psychedelicious
b937b7da01
feat(models): update model manager service & route to return list of models
2023-06-22 17:34:12 +10:00
Sergey Borisov
21245a0fb2
Set model type to const value in openapi schema, add model format enums to model schema(as they not not referenced in case of Literal definition)
2023-06-22 16:51:53 +10:00
Sergey Borisov
da566b59e8
Update model format field to use enums
2023-06-22 16:51:53 +10:00
Sergey Borisov
e4dc9c5a04
Rename format to model_format(still named format when work with config)
2023-06-22 16:51:53 +10:00
Sergey Borisov
aceadacad4
Remove default model logic
2023-06-22 16:51:53 +10:00
blessedcoolant
d3dec59cc3
tweal: UI colors
2023-06-22 16:51:53 +10:00
blessedcoolant
6c98700740
fix: Adjust the Schedular select width
...
So the long names do not get cut off.
2023-06-22 16:51:53 +10:00
blessedcoolant
c4c3c96062
Revert "feat: Port Schedulers to Mantine"
...
This reverts commit e0c105f413
.
2023-06-22 16:51:35 +10:00
blessedcoolant
6256be480c
fix: Remove type from Model type name
2023-06-22 16:48:35 +10:00
blessedcoolant
7033071934
fix: Unserialization key issue
2023-06-22 16:48:35 +10:00
blessedcoolant
e48528bbef
revert: getModels to receivedModels
2023-06-22 16:48:35 +10:00
blessedcoolant
6bdf68dd4c
feat: Port Schedulers to Mantine
2023-06-22 16:48:35 +10:00
blessedcoolant
0c3616229e
cleanup: Updated model slice names to be more descriptive
...
Basically updated all slices to be more descriptive in their names. Did so in order to make sure theres good naming scheme available for secondary models.
2023-06-22 16:43:14 +10:00
blessedcoolant
604cc1adcd
wip: Move Model Selector to own file
2023-06-22 16:43:14 +10:00
blessedcoolant
4847212d5b
feat: Enable 2.x Model Generation in Linear UI
2023-06-22 16:43:14 +10:00
blessedcoolant
727293d722
fix: 2.1 models breaking generation
...
Co-Authored-By: StAlKeR7779 <7768370+StAlKeR7779@users.noreply.github.com>
2023-06-22 16:42:59 +10:00
blessedcoolant
d2f3500e1b
chore: Rebuild API - base_model and type added
2023-06-22 16:42:59 +10:00
Sergey Borisov
ef83a2fffe
Add name, base_mode, type fields to model info
2023-06-22 16:42:51 +10:00
blessedcoolant
f8d7477c7a
wip: Add 2.x Models to the Model List
2023-06-22 16:42:51 +10:00
blessedcoolant
e374211313
chore: Rebuild API with new Model API names
2023-06-22 16:41:31 +10:00
Sergey Borisov
01d17601b8
Generate config names for openapi
2023-06-22 16:41:19 +10:00
blessedcoolant
bf0d5f4cfc
fix: Update missing name types to new names
2023-06-22 16:41:02 +10:00
blessedcoolant
663f4935f5
chore: Rebuild API
2023-06-22 16:41:02 +10:00
blessedcoolant
9838dda1b7
chore: Update model config type names
2023-06-22 16:40:40 +10:00
psychedelicious
2d889e133d
chore(ui): regen api client
2023-06-22 16:25:49 +10:00
psychedelicious
6779f1a5ad
fix(db): update models for boards w/ nullable deleted_at
2023-06-22 16:25:49 +10:00
psychedelicious
19a6e5dad8
chore(ui): regen api client
2023-06-22 16:25:49 +10:00
psychedelicious
285195bf72
feat(api): add get_board
route
2023-06-22 16:25:49 +10:00
psychedelicious
10008859a4
tidy(ui): remove all refs to boards thunks
2023-06-22 16:25:49 +10:00
psychedelicious
3c04340f3f
tidy(ui): tidy up update image board modal
2023-06-22 16:25:49 +10:00
psychedelicious
79f0c4d3c4
feat(ui): add remove from board to image context menu
2023-06-22 16:25:49 +10:00
psychedelicious
37d4e05838
fix(ui): fix board's image list not updating when image removed from board
2023-06-22 16:25:49 +10:00
psychedelicious
a00ad6ac03
feat(ui): dropping image on All Images
board removes it from board
2023-06-22 16:25:49 +10:00
psychedelicious
2ffead000c
tidy(ui): remove console.log()
2023-06-22 16:25:49 +10:00
psychedelicious
922319cb84
fix(ui): fix first added board doesn't show until refresh
...
Had incorrect `invalidatesTags` array for the mutation.
2023-06-22 16:25:49 +10:00
psychedelicious
6ee0e197bb
feat(db): add deleted_at
to board_images
2023-06-22 16:25:49 +10:00
psychedelicious
d3e6f0130c
fix(ui): fix issue with gallery not letting you load more images
...
To determine whether the Load More button should work, we need to keep track of how many images are left to load for a given board or category.
The Assets tab doesn't work, though. Need to figure out a better way to handle this.
2023-06-22 16:25:49 +10:00
psychedelicious
421c23d3ea
fix(ui): fix gallery image fetching for board categories
2023-06-22 16:25:49 +10:00
psychedelicious
4545f3209f
fix(ui): fix bug with image deletion not removing image from gallery
2023-06-22 16:25:49 +10:00
psychedelicious
e2ee8102c2
tidy(db): tidy image_record_storage.py
2023-06-22 16:25:49 +10:00
psychedelicious
083a0fc4cf
tidy(ui): remove references to boardsAdapter
2023-06-22 16:25:49 +10:00
psychedelicious
26b75b85f7
fix(ui): if deleting selected board, deselect it
2023-06-22 16:25:49 +10:00
psychedelicious
f560a462a0
feat(ui): rudimentary categorized gallery image fetching
2023-06-22 16:25:49 +10:00
psychedelicious
d501986610
chore(ui): regen api client
2023-06-22 16:25:49 +10:00
psychedelicious
67a75f6895
feat(api, db): support board_id
filter on images service get_many()
2023-06-22 16:25:49 +10:00
psychedelicious
3c032c0767
feat(ui): only auto-add image to board if is not intermediate
2023-06-22 16:25:49 +10:00
psychedelicious
abd6561140
feat(ui): just fetch all boards instead of paginating them
2023-06-22 16:25:49 +10:00
psychedelicious
bd533426fc
feat(ui): first pass at boards styling
2023-06-22 16:25:49 +10:00
psychedelicious
2489d5459f
chore(ui): regen api client
2023-06-22 16:25:49 +10:00
psychedelicious
ac477cf5d6
fix(ui): improve image deletion handling
2023-06-22 16:25:49 +10:00
psychedelicious
be3bdae847
fix: resolve rebase conflicts
2023-06-22 16:25:49 +10:00
psychedelicious
3e0ee838cf
fix(ui): add initial image dimensions to state
...
We need to access the initial image dimensions during the creation of the `ImageToImage` graph to determine if we need to resize the image.
Because the `initialImage` is now just an image name, we need to either store (easy) or dynamically retrieve its dimensions during graph creation (a bit less easy).
Took the easiest path. May need to revise this in the future.
2023-06-22 16:25:49 +10:00
psychedelicious
8d3bec57d5
feat(ui): store only image name in parameters
...
Images that are used as parameters (e.g. init image, canvas images) are stored as full `ImageDTO` objects in state, separate from and duplicating any object representing those same objects in the `imagesSlice`.
We cannot store only image names as parameters, then pull the full `ImageDTO` from `imagesSlice`, because if an image is not on a loaded page, it doesn't exist in `imagesSlice`. For example, if you scroll down a few pages in the gallery and send that image to canvas, on reloading the app, the canvas will be unable to load that image.
We solved this temporarily by storing the full `ImageDTO` object wherever it was needed, but this is both inefficient and allows for stale `ImageDTO`s across the app.
One other possible solution was to just fetch the `ImageDTO` for all images at startup, and insert them into the `imagesSlice`, but then we run into an issue where we are displaying images in the gallery totally out of context.
For example, if an image from several pages into the gallery was sent to canvas, and the user refreshes, we'd display the first 20 images in gallery. Then to populate the canvas, we'd fetch that image we sent to canvas and add it to `imagesSlice`. Now we'd have 21 images in the gallery: 1 to 20 and whichever image we sent to canvas. Weird.
Using `rtk-query` solves this by allowing us to very easily fetch individual images in the components that need them, and not directly interact with `imagesSlice`.
This commit changes all references to images-as-parameters to store only the name of the image, and not the full `ImageDTO` object. Then, we use an `rtk-query` generated `useGetImageDTOQuery()` hook in each of those components to fetch the image.
We can use cache invalidation when we mutate any image to trigger automated re-running of the query and all the images are automatically kept up to date.
This also obviates the need for the convoluted URL fetching scheme for images that are used as parameters. The `imagesSlice` still need this handling unfortunately.
2023-06-22 16:25:49 +10:00
psychedelicious
cfda128e06
feat(ui): wip boards via rtk-query
2023-06-22 16:25:49 +10:00
psychedelicious
661a94b3de
feat(db): add get_all()
method for boards
...
This is needed to show the full list of boards in the update boards modal.
2023-06-22 16:25:49 +10:00
psychedelicious
9ef64016c7
feat(db): sort board by created_at
2023-06-22 16:25:49 +10:00
psychedelicious
21f0d0b0c1
fix(db): fix deserialize_board_record()
...
It was not adding `cover_image_name`
2023-06-22 16:25:49 +10:00
psychedelicious
8bce234542
feat(db): update image-board relationships on add
...
Functionally, `add_image_to_board()` now moves images between boards.
2023-06-22 16:25:49 +10:00
psychedelicious
daadf6ebfd
feat(ui): add board image count badge
2023-06-22 16:25:49 +10:00
Mary Hipp
fe10a9f747
render cover image based on URL in image entities
2023-06-22 16:25:49 +10:00
Mary Hipp
7a2d3f628a
add boardToAddTo state so that result can be added to board when generation is complete
2023-06-22 16:25:49 +10:00
Mary Hipp
4defb92105
handle long board names
2023-06-22 16:25:49 +10:00
Mary Hipp
f9f3c91a83
drag and drop to move image to board, a bit of board list UI
2023-06-22 16:25:49 +10:00
maryhipp
95b9c8e505
return cover_image_name since urls change, override one from db for now
2023-06-22 16:25:49 +10:00
psychedelicious
49a02c157b
feat(ui): fix UpdateImageBoardModal select
2023-06-22 16:25:49 +10:00
psychedelicious
d604d986f9
feat(db, api): update get_board_for_image & service dependencies
...
- previously was `get_boards_for_image`, returning a list of `BoardDTO`, now returns a single `board_id`
2023-06-22 16:25:49 +10:00
psychedelicious
70cc037a9c
fix(ui): do not persist boards
2023-06-22 16:25:49 +10:00
psychedelicious
e4893e4031
fix(db): return board records from CRUD methods
2023-06-22 16:25:49 +10:00
maryhipp
4a0a718b96
foiled by a comma
2023-06-22 16:25:49 +10:00
maryhipp
ca8f1a7828
(api) use most recently generated image for cover photo
2023-06-22 16:25:49 +10:00
Mary Hipp
2e41af2109
[half-baked] adding image to board modal
2023-06-22 16:25:49 +10:00
Mary Hipp
bd29e5e655
UI tweaks
2023-06-22 16:25:49 +10:00
Mary Hipp
dcfee2e1e4
add searching to boards list
2023-06-22 16:25:49 +10:00
Mary Hipp
8aac683319
can delete and rename boards
2023-06-22 16:25:49 +10:00
psychedelicious
d306a84447
feat(ui): rough out boards UI
2023-06-22 16:25:49 +10:00
psychedelicious
5865ecd530
feat(db): add FK for boards.cover_image_name
2023-06-22 16:25:49 +10:00
psychedelicious
e1f9685b02
feat(db): add index for boards
2023-06-22 16:25:49 +10:00
psychedelicious
498bf0d0ba
feat(db): add indices for board_images
2023-06-22 16:25:49 +10:00
psychedelicious
163ef2c941
feat(ui): remove refs to BoardRecord in UI
...
UI should only work w/ BoardDTO
2023-06-22 16:25:49 +10:00
psychedelicious
48193b7fa7
chore(ui): regen api client
2023-06-22 16:25:49 +10:00
psychedelicious
dd1b3c9f35
fix(api): update API models to use BoardDTOs
2023-06-22 16:25:49 +10:00
psychedelicious
4b32322a58
feat(nodes): make board <> images a one-to-many relationship
...
we can extend this to many-to-many in the future if desired.
2023-06-22 16:25:49 +10:00
Mary Hipp
e06c43adc8
lint fix
2023-06-22 16:25:49 +10:00
Mary Hipp
c009f46b00
regenerate api schema
2023-06-22 16:25:49 +10:00
maryhipp
748016bdab
routes working
2023-06-22 16:25:49 +10:00
psychedelicious
72e9ced889
feat(nodes): add boards and board_images services
2023-06-22 16:25:49 +10:00
maryhipp
3833304f57
[WIP] board list endpoint w cover photos
2023-06-22 16:25:49 +10:00
maryhipp
4bfaae6617
fix type
2023-06-22 16:25:49 +10:00
maryhipp
499a174832
some more
2023-06-22 16:25:49 +10:00