2cf0d61b3e
Merge branch 'main' into feat/batch-graphs
2023-08-17 13:33:17 +10:00
cc3c2756bd
feat(backend): rename batch changes variable
...
`updateSession` -> `changes`
2023-08-17 13:32:32 +10:00
67cf594bb3
feat(backend): add missing types to batch_manager_storage.py
2023-08-17 13:29:19 +10:00
c5b963f1a6
fix(backend): typo
...
`relavent` -> `relevant`
2023-08-17 12:47:58 +10:00
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
7e4beab4ff
feat(backend): surface BatchSessionNodeFoundException
...
Catch this exception in the router and return an appropriate `HTTPException`.
2023-08-17 12:45:32 +10:00
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
1f355d5810
feat(backend): update batch_manager_storage.py
docstrings
2023-08-17 12:31:51 +10:00
df7370f9d9
chore(backend): remove unused code
2023-08-17 12:16:34 +10:00
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
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
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
f246b236dd
fix(api): fix start_batch
route responses
2023-08-17 11:51:14 +10:00
e373bfca54
fix several broken links in the installation index
2023-08-16 17:54:39 -04:00
f7277a8b21
Run python black
2023-08-16 15:44:52 -04:00
796ee1246b
Add a batch validation test
2023-08-16 15:42:45 -04:00
29fceb960d
Fix batch_manager test
2023-08-16 15:33:15 -04:00
796ff34c8a
Testing out Spencer's batch data structure
2023-08-16 15:21:11 -04:00
d6a5c2dbe3
Fix tests
2023-08-16 14:35:49 -04:00
ef8dc2e8c5
Merge branch 'main' into feat/batch-graphs
2023-08-16 14:03:34 -04:00
a7ba142ad9
feat(ui): set min zoom on nodes to 0.1
2023-08-16 23:04:36 +10:00
0d36bab6cc
fix(ui): do not rerender top panel buttons
2023-08-16 23:04:36 +10:00
c2e7f62701
fix(ui): do not rerender edges
2023-08-16 23:04:36 +10:00
1f194e3688
chore(ui): lint
2023-08-16 23:04:36 +10:00
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
f7c92e1eff
fix(ui): disable awkward resize animation for <Flow />
2023-08-16 23:04:36 +10:00
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
43b30355e4
feat: make primitive node titles consistent
2023-08-16 23:04:36 +10:00
314891a125
Merge branch 'main' into feat/batch-graphs
2023-08-15 22:42:49 -04:00
611e241ca7
chore(ui): regen types
2023-08-16 12:07:34 +10:00
6df4af2c79
chore: lint
2023-08-16 12:07:34 +10:00
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
5b1099193d
fix(ui): restore reset button in node image component
2023-08-16 12:07:34 +10:00
230131646f
feat(ui): use imageDTOs
instead of images
in starring queries
2023-08-16 12:07:34 +10:00
8b1ec2685f
chore: black
2023-08-16 12:07:34 +10:00
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
315a056686
feat(ui): show Star All
if selection is a mix of starred and unstarred
2023-08-16 12:07:34 +10:00
80b0c5eab4
change from pin to star
2023-08-16 12:07:34 +10:00
08dc265e09
add listener to update selection list with change in star status
2023-08-16 12:07:34 +10:00
029a95550e
rename pin to star, add multiselect and remove single image update api
2023-08-16 12:07:34 +10:00
ee6a26a97d
update list images endpoint to sort by pinnedness and then created_at
2023-08-16 12:07:34 +10:00
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
767a612746
(ui) WIP trying to get all cache scenarios working smoothly, fix assets
2023-08-16 12:07:34 +10:00
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
37be827e17
(ui) hook up toggle pin mutation with context menu for single image
2023-08-16 12:07:34 +10:00
04a9894e77
(api) add ability to pin and unpin images
2023-08-16 12:07:34 +10:00
2d3094f988
Run python black
2023-08-15 21:51:45 -04:00
abf09fc8fa
Switch sqlite clients to only use one connection
2023-08-15 21:46:24 -04:00
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
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