psychedelicious
fde8fc7575
perf(ui): optimistic updates for getImageDTO query cache
2024-06-27 13:48:40 +10:00
psychedelicious
6dcdc87eb1
fix(ui): control adapter image preview
2024-06-27 13:48:40 +10:00
Mary Hipp
93ffcb642e
lint fix
2024-06-27 13:48:40 +10:00
Mary Hipp
4c914ef2e8
use correct query params for boardIdSelected listener
2024-06-27 13:48:40 +10:00
Mary Hipp
c0ad5bc4a4
fix when deleting first image in list
2024-06-27 13:48:40 +10:00
Mary Hipp
8c58a180de
GG another fix
2024-06-27 13:48:40 +10:00
Mary Hipp
715dd983b0
appease the knip
2024-06-27 13:48:40 +10:00
Mary Hipp
84ffd36071
lint fix
2024-06-27 13:48:40 +10:00
Mary Hipp
9f30f1bfec
fix circular dep
2024-06-27 13:48:40 +10:00
Mary Hipp
bdff5c4e87
only show selected when greater than 0
2024-06-27 13:48:40 +10:00
Mary Hipp
afb0651f91
clear selection when board or gallery view changes
2024-06-27 13:48:40 +10:00
Mary Hipp
66e25628c3
fix neg pages
2024-06-27 13:48:40 +10:00
Mary Hipp
3a531a3c88
remove rest of cache, add bulk select UI
2024-06-27 13:48:40 +10:00
Mary Hipp
f01df49128
lint fix
2024-06-27 13:48:40 +10:00
Mary Hipp
7bbe236107
implmenet custom sort to replace images adapter logic
2024-06-27 13:48:40 +10:00
psychedelicious
719c066ac4
feat(ui): more efficient board totals fetching
...
We only need to show the totals in the tooltip. Tooltips accpet a component for the tooltip label. The component isn't rendered until the tooltip is triggered.
Move the board total fetching into a tooltip component for the boards. Now we only fire these requests when the user mouses over the board
2024-06-27 13:48:40 +10:00
psychedelicious
689dc30f87
feat(ui): tweak pagination buttons
...
- Fix off-by-one error when going to last page
- Update component to have minimal/no layout shift
2024-06-27 13:48:40 +10:00
psychedelicious
1f22f6ae02
feat(ui): iterate on dynamic gallery limit
...
- Simplify the gallery layout
- Set an initial gallery limit to load _some_ images immediately.
- Refactor the resize observer to use the actual rendered image component to calculate the number of images per row/col. This prevents inaccuracies caused by image padding that could result in the wrong number of images.
- Debounce the limit update to not thrash teh API
- Use absolute positioning trick to ensure the gallery container is always exactly the right size
- Minimum of `imagesPerRow` images loaded at all times
2024-06-27 13:48:40 +10:00
psychedelicious
9c931d9ca0
fix(ui): gallery content overflow
...
This is one of those unexpected CSS quirks. Flex containers need min-width or min-height for their children to not overflow. Add `minH={0}` to gallery container.
2024-06-27 13:48:40 +10:00
Mary Hipp
e0a241fa4f
wip change limit based on size of gallery
2024-06-27 13:48:40 +10:00
Mary Hipp
6a4b4ee340
trying to invalidate all the tags
2024-06-27 13:48:40 +10:00
Mary Hipp
488bf21925
fix single pagers
2024-06-27 13:48:40 +10:00
Mary Hipp
c9c39c02b6
handle generations coming in, fix pagination to use total from list query so it updates as that changes
2024-06-27 13:48:40 +10:00
Mary Hipp
5101dc4bef
some cleanup, add page buttons
2024-06-27 13:48:40 +10:00
Mary Hipp
98c77a3ed1
pull in spencers work
2024-06-27 13:48:40 +10:00
psychedelicious
f002bca2fa
feat(ui): handle new model_install_download_started
event
...
When a model install is initiated from outside the client, we now trigger the model manager tab's model install list to update.
- Handle new `model_install_download_started` event
- Handle `model_install_download_complete` event (this event is not new but was never handled)
- Update optimistic updates/cache invalidation logic to efficiently update the model install list
2024-06-17 10:07:10 +10:00
psychedelicious
56771de856
feat(ui): add redux actions for model_install_download_started
event
2024-06-17 09:52:46 +10:00
psychedelicious
c11478a94a
chore(ui): typegen
2024-06-17 09:51:18 +10:00
psychedelicious
1bc98abc76
docs(ui): explain model install events
2024-06-17 09:33:46 +10:00
chainchompa
328f160e88
refetch model installs when a new model install starts
2024-06-14 17:09:07 -04:00
psychedelicious
6d067e56f2
fix(ui): on page load, if CA processed image no longer exists, re-process it
2024-06-07 10:32:28 +10:00
psychedelicious
1c5c3cdbd6
tidy(ui): organize control layers konva logic
...
- More comments, docstrings
- Move things into saner, less-coupled locations
2024-06-06 07:45:13 +10:00
psychedelicious
3db69af220
refactor(ui): generalize stage event handlers
...
Create intermediary nanostores for values required by the event handlers. This allows the event handlers to be purely imperative, with no reactivity: instead of recreating/setting the handlers when a dependent piece of state changes, we use nanostores' imperative API to access dependent state.
For example, some handlers depend on brush size. If we used the standard declarative `useSelector` API, we'd need to recreate the event handler callback each time the brush size changed. This can be costly.
An intermediate `$brushSize` nanostore is set in a `useLayoutEffect()`, which responds to changes to the redux store. Then, in the event handler, we use the imperative API to access the brush size: `$brushSize.get()`.
This change allows the event handler logic to be shared with the pending canvas v2, and also more easily tested. It's a noticeable perf improvement, too, especially when changing brush size.
2024-06-06 07:45:13 +10:00
psychedelicious
1823e446ac
fix(ui): conditionally render CL preview
...
This fixes an issue where it sometimes gets out of sync, and fixes some konva errors.
2024-06-06 07:45:13 +10:00
psychedelicious
311e44ad19
tidy(ui): clean up control layers renderers, docstrings
2024-06-06 07:45:13 +10:00
jstnlowe
848ca79da8
Changed translated labels to static suffixes, cleanup.
2024-06-05 14:45:43 +10:00
jstnlowe
9cba0dfac9
Providing fileName string directly to DataViewer as suggested
2024-06-05 14:45:43 +10:00
jstnlowe
37b1f21bcf
... and the workflow
2024-06-05 14:45:43 +10:00
jstnlowe
b2e005f6b5
Just realized we might want the same change made for the Graph JSON
2024-06-05 14:45:43 +10:00
jstnlowe
52aac954c0
Prefixed JSON filenames with the image UUID #6469
2024-06-05 14:45:43 +10:00
hugoalh
669d92d8db
translationBot(ui): update translation (Chinese (Traditional))
...
Currently translated at 14.1% (179 of 1261 strings)
Co-authored-by: hugoalh <hugoalh@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hant/
Translation: InvokeAI/Web UI
2024-06-05 00:08:03 +10:00
Ettore Atalan
2903060154
translationBot(ui): update translation (German)
...
Currently translated at 67.0% (834 of 1243 strings)
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-06-05 00:08:03 +10:00
gallegonovato
4af8699a00
translationBot(ui): update translation (Spanish)
...
Currently translated at 34.3% (427 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-06-05 00:08:03 +10:00
Bruno Castillejo
71fedd1a07
translationBot(ui): update translation (Spanish)
...
Currently translated at 34.3% (427 of 1243 strings)
Co-authored-by: Bruno Castillejo <soybrunocastillejo@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/
Translation: InvokeAI/Web UI
2024-06-05 00:08:03 +10:00
Riccardo Giovanetti
6bb1189c88
translationBot(ui): update translation (Italian)
...
Currently translated at 98.5% (1243 of 1261 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1243 of 1261 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1225 of 1243 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1225 of 1243 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-06-05 00:08:03 +10:00
Васянатор
c7546bc82e
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1261 of 1261 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1243 of 1243 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-06-05 00:08:03 +10:00
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
psychedelicious
e75f98317f
fix(ui): notes node text not selectable
2024-05-21 10:06:25 +10:00
psychedelicious
1249d4a6e3
fix(ui): crash when using a notes node
2024-05-21 10:06:09 +10:00
steffylo
32277193b6
fix(ui): retain denoise strength and opacity when changing image
2024-05-20 18:27:51 +10:00
psychedelicious
620ee2875e
fix(ui): store hidden
state of edges in workflows
...
This prevents a minor visual bug where collapsed edges between collapsed nodes didn't display correctly on first load of a workflow.
2024-05-20 11:36:47 +10:00