psychedelicious
64523c4b1b
fix(ui): handle concat when recalling prompts
...
This required some minor reworking of of the logic to recall multiple items. I split this into a utility function that includes some special handling for concat.
Closes #6478
2024-06-04 06:01:01 +10:00
psychedelicious
89a764a359
fix(ui): improve model metadata parsing fallback
...
When the model in metadata's key no longer exists, fall back to fetching by name, base and type. This was the intention all along but the logic was never put in place.
2024-06-04 06:01:01 +10:00
psychedelicious
6b24424727
feat(ui): add help icon to compare toolbar
2024-06-02 15:30:00 +10:00
psychedelicious
7153d846a9
feat(ui): add hotkey to cycle compare modes
2024-06-02 15:30:00 +10:00
psychedelicious
9a0b77ad38
feat(ui): add hotkey to swap comparison images
2024-06-02 15:30:00 +10:00
psychedelicious
220d45967e
fix(ui): typo
2024-06-02 15:30:00 +10:00
psychedelicious
038a482ef0
feat(ui): rework visibility conditions for image viewer
2024-06-02 15:30:00 +10:00
psychedelicious
c325ad3432
feat(ui): add hotkey hint to exit compare button
2024-06-02 15:30:00 +10:00
psychedelicious
449bc4dbe5
feat(ui): abstract out and share logic between comparisons
2024-06-02 15:30:00 +10:00
psychedelicious
34d68a3663
feat(ui): hover comparison mode
2024-06-02 15:30:00 +10:00
psychedelicious
8bb9571485
feat(ui): tweak slider divider styling
2024-06-02 15:30:00 +10:00
psychedelicious
08bcc71e99
fix(ui): workflows fit on load
2024-06-02 15:30:00 +10:00
psychedelicious
ff2b2fad83
feat(ui): revise drop zones
...
The main viewer area has two drop zones:
- Select for Viewer
- Select for Compare
These do what you'd imagine they would do.
2024-06-02 15:30:00 +10:00
psychedelicious
0f0a6852f1
fix(ui): make compare image scale with first image when using contain fit
2024-06-02 15:30:00 +10:00
psychedelicious
745140fa6b
feat(ui): "first image"/"second image" -> "viewer image"/"compare image"
2024-06-02 15:30:00 +10:00
psychedelicious
405fc46888
feat(ui): z/esc first exit compare before closing viewer
2024-06-02 15:30:00 +10:00
psychedelicious
ca728ca29f
fix(ui): ignore context menu in slider view
...
It doesn't make sense to allow context menu here, because the context menu will technically be on a div and not an image - there won't be any image options there.
2024-06-02 15:30:00 +10:00
psychedelicious
d0fca53e67
fix(ui): only clear comparison image on alt click of gallery image
...
This logic can't e in the reducer else it applies to dnd events which isn't right
2024-06-02 15:30:00 +10:00
psychedelicious
ad9740d72d
feat(ui): alt-click comparison image exits compare
2024-06-02 15:30:00 +10:00
psychedelicious
1c9c982b63
feat(ui): use appropriate cursor on slider
2024-06-02 15:30:00 +10:00
psychedelicious
3cfd2755c2
fix(ui): when changing viewer state, always clear compare image
2024-06-02 15:30:00 +10:00
psychedelicious
8ea4067f83
feat(ui): rework compare toolbar
2024-06-02 15:30:00 +10:00
psychedelicious
940de6a5c5
fix(ui): allow drop of currently-selected image for compare
2024-06-02 15:30:00 +10:00
psychedelicious
dd74e89127
fix(ui): close context menu on click select for compare
2024-06-02 15:30:00 +10:00
psychedelicious
69da67e920
fix(ui): dnd on board
...
Copy-paste error broke this
2024-06-02 15:30:00 +10:00
psychedelicious
76b1f241d7
fix(ui): useGalleryNavigation callback typing issue
2024-06-02 15:30:00 +10:00
psychedelicious
0e5336d8fa
feat(ui): rework comparison activation, add hotkeys
2024-06-02 15:30:00 +10:00
psychedelicious
3501636018
feat(ui): add fill mode for slider comparison
2024-06-02 15:30:00 +10:00
psychedelicious
e4ce188500
feat(ui): image selection gallery state & tweaks
2024-06-02 15:30:00 +10:00
psychedelicious
e976571fba
build(ui): remove unused dep
2024-06-02 15:30:00 +10:00
psychedelicious
0da36c1238
feat(ui): use IAIDndImage for compare mode
2024-06-02 15:30:00 +10:00
psychedelicious
4ef8cbd9d0
fix(ui): use isValidDrop in imageDropped listener
...
It was possible for a drop event to be invalid but still processed. Fixed by slightly changing the signature of isValidDrop.
2024-06-02 15:30:00 +10:00
psychedelicious
8f8ddd620b
feat(ui): add comparison modes, side-by-side view
2024-06-02 15:30:00 +10:00
psychedelicious
1af53aed60
feat(ui): fix image comparison slider resizing/aspect ratio jank
2024-06-02 15:30:00 +10:00
psychedelicious
7a4bbd092e
feat(ui): revised image comparison slider
...
Should work for any components and image now.
2024-06-02 15:30:00 +10:00
psychedelicious
72bbcb2d94
feat(ui): slider working for all aspect ratios
2024-06-02 15:30:00 +10:00
psychedelicious
c2eef93476
feat(ui): wip slider implementations
2024-06-02 15:30:00 +10:00
psychedelicious
a983f27aad
fix(ui): update types
2024-05-30 12:03:38 +10:00
psychedelicious
7cb32d3d83
chore(ui): typegen
2024-05-30 12:03:38 +10:00
psychedelicious
5a4d10467b
feat(ui): use updated types
2024-05-30 12:03:38 +10:00
psychedelicious
7590f3005e
chore(ui): typegen
2024-05-30 12:03:03 +10:00
psychedelicious
843f82c837
fix(ui): remove overly strict constraints on control adapter weight
2024-05-29 19:01:28 -07:00
psychedelicious
5388f5a817
fix(ui): edit variant for main models only
...
Closes #6444
2024-05-27 11:02:00 +10:00
psychedelicious
27a3eb15f8
feat(ui): update event types
2024-05-27 10:17:02 +10:00
psychedelicious
4b2d57a5e0
chore(ui): typegen
...
Note about the huge diff: I had a different version of pydantic installed at some point, which slightly altered a _ton_ of schema components. This typegen was done on the correct version of pydantic and un-does those alterations, in addition to the intentional changes to event models.
2024-05-27 10:17:02 +10:00
psychedelicious
89dede7bad
feat(ui): simplify client sio redux actions
...
- Add a simple helper to create socket actions in a less error-prone way
- Organize and tidy sio files
2024-05-27 09:06:02 +10:00
psychedelicious
60784a4361
feat(ui): update client for removal of session events
2024-05-27 09:06:02 +10:00
psychedelicious
3d8774d295
chore(ui): typegen
2024-05-27 09:06:02 +10:00
psychedelicious
eaf67b2150
feat(ui): add logging for session events
2024-05-27 09:06:02 +10:00
psychedelicious
39415428de
chore(ui): typegen
2024-05-27 09:06:02 +10:00
psychedelicious
585feccf82
fix(ui): update event handling to match new types
2024-05-27 09:06:02 +10:00
psychedelicious
cbd3b15cae
chore(ui): typegen
2024-05-27 09:06:02 +10:00
psychedelicious
cc56918453
tidy(ui): remove old unused session subscribe actions
2024-05-27 09:06:02 +10:00
psychedelicious
a1d68eb319
fix(ui): denoise percentage
2024-05-27 09:06:02 +10:00
psychedelicious
8b5caa7e57
chore(ui): typegen
2024-05-27 09:06:02 +10:00
psychedelicious
ec4f10aed3
chore(ui): typegen
2024-05-27 09:06:02 +10:00
psychedelicious
18b4f1b72a
feat(ui): add missing socket events
2024-05-27 09:06:02 +10:00
psychedelicious
300725d1dd
fix(ui): correct model load event format
2024-05-27 09:06:02 +10:00
psychedelicious
3abc182b44
chore(ui): tidy after rebase
2024-05-27 09:06:02 +10:00
psychedelicious
8d79ce94aa
feat(ui): update UI to use new events
...
- Use OpenAPI schema for event payload types
- Update all event listeners
- Add missing events / remove old nonexistent events
2024-05-27 09:06:02 +10:00
psychedelicious
975dc14579
chore(ui): typegen
2024-05-27 09:06:02 +10:00
psychedelicious
461e857824
fix(ui): parameter not set translation
2024-05-26 08:21:06 -07:00
psychedelicious
e9b80cf28f
fix(ui): isLocal erroneously hardcoded
2024-05-25 00:05:44 +10:00
psychedelicious
f5a775ae4e
feat(ui): toast on queue item errors, improved error descriptions
...
Show error toasts on queue item error events instead of invocation error events. This allows errors that occurred outside node execution to be surfaced to the user.
The error description component is updated to show the new error message if available. Commercial handling is retained, but local now uses the same component to display the error message itself.
2024-05-24 20:02:24 +10:00
psychedelicious
125e1d7eb4
tidy: remove unnecessary whitespace changes
2024-05-24 20:02:24 +10:00
psychedelicious
2fbe5ecb00
fix(ui): correctly fallback to error message when traceback is empty string
2024-05-24 20:02:24 +10:00
psychedelicious
ba4d27860f
tidy(ui): remove extraneous condition in socketInvocationError
2024-05-24 20:02:24 +10:00
psychedelicious
6fc7614b4a
fix(ui): race condition with progress
...
There's a race condition where a canceled session may emit a progress event or two after it's been canceled, and the progress image isn't cleared out.
To resolve this, the system slice tracks canceled session ids. When a progress event comes in, we check the cancellations and skip setting the progress if canceled.
2024-05-24 20:02:24 +10:00
psychedelicious
aa329ea811
feat(ui): handle enriched events
2024-05-24 20:02:24 +10:00
psychedelicious
1e622a5706
chore(ui): typegen
2024-05-24 20:02:24 +10:00
psychedelicious
f1bb7e86c0
feat(ui): invalidate cache for queue item on status change
...
This query is only subscribed-to in the `QueueItemDetail` component - when is rendered only when the user clicks on a queue item in the queue. Invalidating this tag instead of optimistically updating it won't cause any meaningful change to network traffic.
2024-05-24 08:59:49 +10:00
gallegonovato
c3f28f7a35
translationBot(ui): update translation (Spanish)
...
Currently translated at 30.5% (380 of 1243 strings)
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/
Translation: InvokeAI/Web UI
2024-05-24 08:05:45 +10:00
Hosted Weblate
c900a63842
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
2024-05-24 08:05:45 +10:00
blessedcoolant
861f06c459
Merge branch 'main' into psyche/fix/ui/initial-image-layer
2024-05-24 03:14:18 +05:30
psychedelicious
46a90ca402
fix(ui): initial image layers always ignored
...
Whoops!
2024-05-24 06:40:48 +10:00
psychedelicious
d45c33b446
fix(ui): 'undefined'
being used for metadata on uploaded images
2024-05-24 06:17:07 +10:00
psychedelicious
70487f0c2e
fix(ui): layers are "enabled", not "visible"
2024-05-23 10:14:34 +10:00
psychedelicious
55d7d9cc75
fix(ui): control layers don't disable correctly
...
Closes #6424
2024-05-23 10:14:34 +10:00
Mary Hipp
106674175c
add logo and change text for non-local;
2024-05-23 06:51:13 +10:00
Mary Hipp
dd1d5bdb25
use support URL for non-local
2024-05-23 06:51:13 +10:00
Dennis
6259ac0bec
translationBot(ui): update translation (Dutch)
...
Currently translated at 79.6% (973 of 1222 strings)
Co-authored-by: Dennis <dennis@vanzoerlandt.nl>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/
Translation: InvokeAI/Web UI
2024-05-22 09:51:12 +10:00
Riccardo Giovanetti
ba31f8a9a9
translationBot(ui): update translation (Italian)
...
Currently translated at 98.5% (1210 of 1228 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1206 of 1224 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1204 of 1222 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
2024-05-22 09:51:12 +10:00
psychedelicious
0ba57d6dc5
feat(ui): close starter models toast when a model is installed
2024-05-22 09:40:46 +10:00
psychedelicious
abc133e936
feat(ui): revised invocation error toast handling
...
Only display the session if local. Otherwise, just display the error message.
2024-05-22 09:40:46 +10:00
psychedelicious
57743239d7
feat(ui): add updateDescription
flag to toast API
...
If false, when updating a toast, the description is left alone. The count will still tick up.
2024-05-22 09:40:46 +10:00
psychedelicious
4a394c60cf
feat(ui): add isLocal
flag to config
2024-05-22 09:40:46 +10:00
psychedelicious
624d28a93d
feat(ui): invocation error toasts do not autoclose
2024-05-22 09:40:46 +10:00
psychedelicious
29e1ea59fc
feat(ui): style copy button on ToastWithSessionRefDescription
2024-05-22 09:40:46 +10:00
psychedelicious
2e5d24f272
tidy(ui): remove old comment
2024-05-22 09:40:46 +10:00
psychedelicious
1afa340b1a
fix(ui): show toast when recalling seed
2024-05-22 09:40:46 +10:00
psychedelicious
3b381b5a8c
tidy(ui): remove the ToastID enum
...
With the model install logic cleaned up the enum is less useful
2024-05-22 09:40:46 +10:00
psychedelicious
f2b9684de8
tidy(ui): split install model into helper hook
...
This was duplicated like 7 times or so
2024-05-22 09:40:46 +10:00
psychedelicious
a66b3497e0
feat(ui): port all toasts to use new util
2024-05-22 09:40:46 +10:00
psychedelicious
683ec8e5f2
feat(ui): add stateful toast utility
...
Small wrapper around chakra's toast system simplifies creating and updating toasts. See comments in toast.ts for details.
2024-05-22 09:40:46 +10:00
psychedelicious
f31f0cf733
feat(ui): restore spellcheck on prompt boxes
2024-05-22 08:52:25 +10:00
psychedelicious
38265b3123
docs(ui): update validateWorkflow comments
2024-05-21 05:17:10 -07:00
psychedelicious
caca28286c
tests(ui): add test for resource usage check
2024-05-21 05:17:10 -07:00
psychedelicious
38320a5100
feat(ui): reset missing images, boards and models when loading workflows
...
These fields are reset back to `undefined` if not accessible. A warning toast is showing, and in the JS console, the full warning message is logged.
2024-05-21 05:17:10 -07:00
psychedelicious
9ba47cae20
fix(ui): unable to edit notes node title
2024-05-21 11:27:11 +10:00
psychedelicious
bf4310ca71
fix(ui): errors when node template or field template doesn't exist
...
Some asserts were bubbling up in places where they shouldn't have, causing errors when a node has a field without a matching template, or vice-versa.
To resolve this without sacrificing the runtime safety provided by asserts, a `InvocationFieldCheck` component now wraps all field components. This component renders a fallback when a field doesn't exist, so the inner components can safely use the asserts.
2024-05-21 11:22:08 +10:00