psychedelicious
c5b963f1a6
fix(backend): typo
...
`relavent` -> `relevant`
2023-08-17 12:47:58 +10:00
psychedelicious
4d2dd6bb10
feat(backend): rename BatchManager.process
to _process
...
Just to make it clear that this is not a method on the ABC.
2023-08-17 12:47:05 +10:00
psychedelicious
7e4beab4ff
feat(backend): surface BatchSessionNodeFoundException
...
Catch this exception in the router and return an appropriate `HTTPException`.
2023-08-17 12:45:32 +10:00
psychedelicious
e16b5f7cdc
feat(backend): deserialize batch session directly
...
If the values from the `session_dict` are invalid, the model instantiation will fail, or if we end up with an invalid `batch_id`, the app will not run. So I think just parsing the dict directly is equivalent.
Also the LSP analyser is pleased now - no red squigglies.
2023-08-17 12:37:03 +10:00
psychedelicious
1f355d5810
feat(backend): update batch_manager_storage.py
docstrings
2023-08-17 12:31:51 +10:00
psychedelicious
df7370f9d9
chore(backend): remove unused code
2023-08-17 12:16:34 +10:00
psychedelicious
5bec64d65b
fix(backend): fix typings in batch_manager.py
...
- `batch_indicies` is `tuple[int]` not `list[int]`
- explicit `None` return values
2023-08-17 12:07:20 +10:00
psychedelicious
8cf9bd47b2
chore(backend): remove unnecessary batch validation function
...
The `Batch` model is fully validated by pydantic on instantiation; we do not need any validation logic for it.
2023-08-17 11:59:47 +10:00
psychedelicious
c91621b46c
fix(backend): BatchProcess.batch_id
is required
...
Providing a `default_factory` is enough for pydantic to know to create the attribute on instantiation if it's not already provided. We can then make make the typing just `str`.
2023-08-17 11:58:29 +10:00
psychedelicious
f246b236dd
fix(api): fix start_batch
route responses
2023-08-17 11:51:14 +10:00
Brandon Rising
f7277a8b21
Run python black
2023-08-16 15:44:52 -04:00
Brandon Rising
796ee1246b
Add a batch validation test
2023-08-16 15:42:45 -04:00
Brandon Rising
29fceb960d
Fix batch_manager test
2023-08-16 15:33:15 -04:00
Brandon Rising
796ff34c8a
Testing out Spencer's batch data structure
2023-08-16 15:21:11 -04:00
Brandon Rising
d6a5c2dbe3
Fix tests
2023-08-16 14:35:49 -04:00
Brandon
ef8dc2e8c5
Merge branch 'main' into feat/batch-graphs
2023-08-16 14:03:34 -04:00
psychedelicious
a7ba142ad9
feat(ui): set min zoom on nodes to 0.1
2023-08-16 23:04:36 +10:00
psychedelicious
0d36bab6cc
fix(ui): do not rerender top panel buttons
2023-08-16 23:04:36 +10:00
psychedelicious
c2e7f62701
fix(ui): do not rerender edges
2023-08-16 23:04:36 +10:00
psychedelicious
1f194e3688
chore(ui): lint
2023-08-16 23:04:36 +10:00
psychedelicious
f9b8b5cff2
fix(ui): improve node rendering performance
...
Previously the editor was using prop-drilling node data and templates to get values deep into nodes. This ended up causing very noticeable performance degradation. For example, any text entry fields were super laggy.
Refactor the whole thing to use memoized selectors via hooks. The hooks are mostly very narrow, returning only the data needed.
Data objects are never passed down, only node id and field name - sometimes the field kind ('input' or 'output').
The end result is a *much* smoother node editor with very minimal rerenders.
2023-08-16 23:04:36 +10:00
psychedelicious
f7c92e1eff
fix(ui): disable awkward resize animation for <Flow />
2023-08-16 23:04:36 +10:00
psychedelicious
70b8c3dfea
fix(ui): fix context menu on workflow editor
...
There is a tricky mouse event interaction between chakra's `useOutsideClick()` hook (used by chakra `<Menu />`) and reactflow. The hook doesn't work when you click the main reactflow area.
To get around this, I've used a dirty hack, copy-pasting the simple context menu component we use, and extending it slightly to respond to a global `contextMenusClosed` redux action.
2023-08-16 23:04:36 +10:00
psychedelicious
43b30355e4
feat: make primitive node titles consistent
2023-08-16 23:04:36 +10:00
Brandon
314891a125
Merge branch 'main' into feat/batch-graphs
2023-08-15 22:42:49 -04:00
psychedelicious
611e241ca7
chore(ui): regen types
2023-08-16 12:07:34 +10:00
psychedelicious
6df4af2c79
chore: lint
2023-08-16 12:07:34 +10:00
psychedelicious
0f8606914e
feat(ui): remove shouldShowDeleteButton
...
- remove this state entirely
- use `state.hotkeys.shift` directly to hide and show the icon on gallery
- also formatting
2023-08-16 12:07:34 +10:00
psychedelicious
5b1099193d
fix(ui): restore reset button in node image component
2023-08-16 12:07:34 +10:00
psychedelicious
230131646f
feat(ui): use imageDTOs
instead of images
in starring queries
2023-08-16 12:07:34 +10:00
psychedelicious
8b1ec2685f
chore: black
2023-08-16 12:07:34 +10:00
psychedelicious
60c2c877d7
fix: add response model for star/unstar routes
...
- also implement pessimistic updates for starring, only changing the images that were successfully updated by backend
- some autoformat changes crept in
2023-08-16 12:07:34 +10:00
psychedelicious
315a056686
feat(ui): show Star All
if selection is a mix of starred and unstarred
2023-08-16 12:07:34 +10:00
maryhipp
80b0c5eab4
change from pin to star
2023-08-16 12:07:34 +10:00
Mary Hipp
08dc265e09
add listener to update selection list with change in star status
2023-08-16 12:07:34 +10:00
Mary Hipp
029a95550e
rename pin to star, add multiselect and remove single image update api
2023-08-16 12:07:34 +10:00
maryhipp
ee6a26a97d
update list images endpoint to sort by pinnedness and then created_at
2023-08-16 12:07:34 +10:00
Mary Hipp
a512fdc0f6
update IAIDndImage to use children for icons, add UI for shift+delete to delete images from gallery
2023-08-16 12:07:34 +10:00
Mary Hipp
767a612746
(ui) WIP trying to get all cache scenarios working smoothly, fix assets
2023-08-16 12:07:34 +10:00
Mary Hipp
0a71d6baa1
(ui) update cache to render pinned images alongside unpinned correctly, as well as changes in pinnedness
2023-08-16 12:07:34 +10:00
Mary Hipp
37be827e17
(ui) hook up toggle pin mutation with context menu for single image
2023-08-16 12:07:34 +10:00
maryhipp
04a9894e77
(api) add ability to pin and unpin images
2023-08-16 12:07:34 +10:00
Brandon Rising
2d3094f988
Run python black
2023-08-15 21:51:45 -04:00
Brandon Rising
abf09fc8fa
Switch sqlite clients to only use one connection
2023-08-15 21:46:24 -04:00
psychedelicious
2b7dd3e236
feat: add missing primitive collections
...
- add missing primitive collections
- remove `Seed` and `LoRAField` (they don't exist)
2023-08-16 09:54:38 +10:00
psychedelicious
fa884134d9
feat: rename ui_type_hint
to ui_type
...
Just a bit more succinct while not losing any clarity.
2023-08-16 09:54:38 +10:00
blessedcoolant
18006cab9a
chore: Regen frontend types
2023-08-16 09:54:38 +10:00
psychedelicious
75ea716c13
feat(ui): hide node footer if there is nothing to display
2023-08-16 09:54:38 +10:00
blessedcoolant
d5f7027597
feat: Save Mask option for Canvas
2023-08-16 09:54:38 +10:00
blessedcoolant
b1ad777f5a
fix: Outpainting being broken due to field name change
2023-08-16 09:54:38 +10:00