psychedelicious
3863bd9da3
fix(ui): fix workflow loading
...
- Different handling for loading from library vs external
- Fix bug where only nodes and edges loaded
2023-12-03 20:13:44 +11:00
psychedelicious
4b2e3aa54d
fix(ui): remove commented out property
2023-12-03 19:56:15 +11:00
psychedelicious
d699efa5bc
feat(ui): use custom hook in current image buttons
...
Already in use elsewhere, forgot to use it here.
2023-12-03 19:54:23 +11:00
psychedelicious
b9a1374b8f
feat(backend): workflow_records.get_many arg "filter_text" -> "query"
2023-12-03 19:22:16 +11:00
psychedelicious
411ea75861
fix(backend): revert unrelated service organisational changes
2023-12-03 19:03:29 +11:00
psychedelicious
375c9a1c20
fix: tidy up unused files, unrelated changes
2023-12-03 19:00:01 +11:00
psychedelicious
907340b1e1
docs: update default workflows README
2023-12-03 18:54:42 +11:00
psychedelicious
0f32d260b7
feat(ui): split out workflow redux state
...
The `nodes` slice is a rather complicated slice. Removing `workflow` makes it a bit more reasonable.
Also helps to flatten state out a bit.
2023-12-02 23:06:34 +11:00
psychedelicious
92bc04dc87
feat(ui): tweak reset workflow editor translations
2023-12-02 21:49:50 +11:00
psychedelicious
929b1f4a41
fix(db): fix mis-ordered db cleanup step
...
It was happening before pruning queue items - should happen afterwards, else you have to restart the app again to free disk space made available by the pruning.
2023-12-02 21:40:01 +11:00
psychedelicious
6d7b4b8e8a
feat(ui): clean up workflow library hooks
2023-12-02 21:01:18 +11:00
psychedelicious
f268ea4e39
fix(workflow_records): typo
2023-12-02 19:54:15 +11:00
psychedelicious
78face3481
feat(ui): refine workflow list UI
2023-12-02 19:52:17 +11:00
psychedelicious
5a0e8261bf
feat(workflows): update default workflows
...
- Update TextToImage_SD15
- Add TextToImage_SDXL
- Add README
2023-12-02 19:51:55 +11:00
psychedelicious
0447fa2dcb
Merge remote-tracking branch 'origin/main' into feat/workflow-saving
2023-12-02 13:55:19 +11:00
psychedelicious
fb9b471150
feat(backend): move logic to clear latents to method
2023-12-01 17:44:07 -08:00
psychedelicious
3f0e0af177
feat(backend): only log pruned queue items / db freed space if > 0
2023-12-01 17:44:07 -08:00
psychedelicious
0228aba06f
feat(backend): display freed space when cleaning DB
2023-12-01 17:44:07 -08:00
psychedelicious
1fd6666682
feat(backend): clear latents files on startup
...
Adds logic to `DiskLatentsStorage.start()` to empty the latents folder on startup.
Adds start and stop methods to `ForwardCacheLatentsStorage`. This is required for `DiskLatentsStorage.start()` to be called, due to how this particular service breaks the direct DI pattern, wrapping the underlying storage with a cache.
2023-12-01 17:44:07 -08:00
psychedelicious
4fd163698c
feat: simplify default workflows
...
- Rename "system" -> "default"
- Simplify syncing logic
- Update UI to match
2023-12-02 11:41:05 +11:00
Riccardo Giovanetti
cff6600ded
translationBot(ui): update translation (Italian)
...
Currently translated at 94.4% (1248 of 1321 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2023-12-02 07:45:14 +11:00
psychedelicious
224438a108
fix: merge conflicts
2023-12-01 23:05:52 +11:00
psychedelicious
81d2d5abae
Merge remote-tracking branch 'origin/main' into feat/workflow-saving
2023-12-01 23:03:01 +11:00
psychedelicious
734e871e8f
feat(backend): sync system workflows to db
2023-12-01 22:45:17 +11:00
psychedelicious
b0350e9bc8
feat: workflow library - system graphs - wip
2023-12-01 19:36:38 +11:00
Lincoln Stein
5a3f1f2b22
fix ruff github format errors
2023-12-01 01:59:26 -05:00
Lincoln Stein
f95ce1870c
fix ruff format check
2023-12-01 01:46:12 -05:00
Lincoln Stein
0719a46372
add support for SDXL textual inversion/embeddings
2023-12-01 01:28:28 -05:00
psychedelicious
0a25efd054
feat: workflow library WIP
...
- Save to library
- Duplicate
- Filter/sort
- UI/queries
2023-12-01 15:24:22 +11:00
psychedelicious
a8ef4e5be8
fix(ui): fix types and storage prefix
2023-12-01 09:11:48 +11:00
Mary Hipp
e6fe2540b8
dynamically create indexedDB store using unique store key if available
2023-12-01 09:11:48 +11:00
psychedelicious
aadcde3edd
feat(ui): use IndexedDB for persistence
...
IndexedDB has a much larger storage limit than LocalStorage, and is widely supported.
Implemented as a custom storage driver for `redux-remember` via `idb-keyval`. `idb-keyval` is a simple wrapper for IndexedDB that allows it to be used easily as a key-value store.
The logic to clear persisted storage has been updated throughout the app.
2023-12-01 09:11:48 +11:00
Ryan Dick
984e609c61
(minor) Tweak field ordering and field names for tiling nodes.
2023-11-30 07:53:27 -08:00
Ryan Dick
57e70aaf50
Change input field ordering of CropLatentsCoreInvocation to match ImageCropInvocation.
2023-11-30 07:53:27 -08:00
Ryan Dick
bfdef120d1
Re-organize merge_tiles_with_linear_blending(...) to merge rows horizontally first and then vertically. This change achieves slightly more natural blending on the corners where 4 tiles overlap.
2023-11-30 07:53:27 -08:00
Ryan Dick
32da359ba5
Infer a tight-fitting output image size from the passed tiles in MergeTilesToImageInvocation.
2023-11-30 07:53:27 -08:00
Ryan Dick
b19ed36b43
Add width and height fields to TileToPropertiesInvocation output to avoid having to calculate them with math nodes.
2023-11-30 07:53:27 -08:00
Ryan Dick
e5a212b5c8
Update tiling nodes to use width-before-height field ordering convention.
2023-11-30 07:53:27 -08:00
Ryan Dick
9b863fb9bc
Rename CropLatentsInvocation -> CropLatentsCoreInvocation to prevent conflict with custom node. And other minor tidying.
2023-11-30 07:53:27 -08:00
Ryan Dick
7cab51745b
Improve documentation of CropLatentsInvocation.
2023-11-30 07:53:27 -08:00
Ryan Dick
18c6ff427e
Use LATENT_SCALE_FACTOR = 8 constant in CropLatentsInvocation.
2023-11-30 07:53:27 -08:00
Ryan Dick
843f2d71d6
Copy CropLatentsInvocation from 74647fa9c1/images_to_grids.py (L1117C1-L1167C80)
.
2023-11-30 07:53:27 -08:00
Ryan Dick
67540c9ee0
(minor) Add 'Invocation' suffix to all tiling node classes.
2023-11-30 07:53:27 -08:00
Ryan Dick
7f816c9243
Tidy up tiles invocations, add documentation.
2023-11-30 07:53:27 -08:00
Ryan Dick
76b888de17
Add unit tests for merge_tiles_with_linear_blending(...).
2023-11-30 07:53:27 -08:00
Ryan Dick
65a16be299
Add unit tests for calc_tiles_with_overlap(...) and fix a bug in its implementation.
2023-11-30 07:53:27 -08:00
Ryan Dick
29eade4880
Add nodes for tile splitting and merging. The main motivation for these nodes is for use in tiled upscaling workflows.
2023-11-30 07:53:27 -08:00
Hosted Weblate
86fd1d5b22
translationBot(ui): update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2023-12-01 00:40:48 +11:00
psychedelicious
909b78a1cb
fix(ui): fix missing images not handled
...
- Reset init image, control adapter images, and node image fields when their selected image fails to load
- Only do this if the app is connected via socket (this indicates that the image is "really" gone, and there isn't just a transient network issue)
It's possible for image parameters/nodes/states to have reference a deleted image. For example, a resize image node might have an image set on it, and the workflow saved. The workflow contains a hard reference to that image.
The image is deleted and the workflow loaded again later. The deleted image is still in that workflow, but the app doesn't detect that. The result is that the workflow/graph appears to be valid, but will fail on invoke.
This creates a really confusing user experience, where when somebody shares a workflow with an image baked into it, and another person opens it, everything *looks* ok, but the workflow fails with a mysterious error about a missing image.
The problem affects node images, control adapter images and the img2img init image. Resetting the image when it fails to load *and* socket is connected resolves this in a simple way.
The problem also affects canvas images, but we have handle that by displaying an error fallback image, so no change is made there.
2023-12-01 00:35:06 +11:00
psychedelicious
2f81f9fb22
fix(ui): add missing star image translation key
2023-12-01 00:33:04 +11:00