psychedelicious
fa1ebd9d2f
fix(ui): do not switch between images when focused on a tab element
...
Arrow keys should only navigate between tabs, not gallery images.
2025-04-03 07:40:10 +11:00
psychedelicious
eed5d02069
fix(ui): handling for invalid edges when loading workflows
...
Previously, reactflow appears to have handled an edge case when using its `applyChanges` utility. If a change was provided without an item, it would skip that change. For example, an "add edge" change that somehow passed `null` as the edge, instead of a valid edge.
In our workflow loading and validation logic, invalid edges were removed from the array using `delete edges[i]`. This left "holes" in the array of edges. We then asked `reactflow` to add these edges to state. When it encountered one of the "holes", it skipped over it.
In a recent release (unsure which, somewhere between the latest v11 and ~v12.4) this seems to have changed. It no longer skips over the "holes" and instead trusts the data. This can cause a couple issues:
- Error when loading the workflow if `reactflow` attempt to do anything with the nonexistent edge.
- If somehow the workflow makes it into state with "holes" in the array of edges, all sorts of other stuff breaks when our code does anything with the nonexistent edge.
Two-part fix:
- Update the invalid edge handling to not use `delete edges[i]`. Instead, as we check each edge, we add invalid ones to a set. Then, after all the checks are finished, filter out the invalid edges. The resultant edges array has no holes.
- Simplify the logic around setting nodes and edges in redux. Previously we were using `reactflow`'s `applyChanges` utils, but this does literally nothing except take extra CPU cycles. We can simply set the loaded nodes and edges directly in redux. Perhaps we were using `applyChanges` because it addressed the "holes" issue? Not sure. But we don't need it now.
Closes #7868
2025-04-03 07:37:49 +11:00
psychedelicious
3650d91045
chore(ui): bump @xyflow/react to latest
2025-04-03 07:37:49 +11:00
Mary Hipp
a5851ca31c
fix from leftover testing
2025-03-31 12:45:53 -04:00
Mary Hipp
77bf5c15bb
GET presigned URLs directly instead of trying to use redirects
2025-03-31 12:45:53 -04:00
psychedelicious
96fb5f6881
feat(ui): disable denoising strength when selected models flux fill
2025-03-31 11:31:02 +11:00
Mary Hipp
3f58c68c09
fix tag invalidation
2025-03-28 10:52:27 -04:00
Mary Hipp
e50c7e5947
restore multiple key
2025-03-28 10:52:27 -04:00
Mary Hipp
4a83700fe4
if clientSideUploading is enabled, handle bulk uploads using that flow
2025-03-28 10:52:27 -04:00
psychedelicious
c6f96613fc
chore(ui): typegen
2025-03-28 08:14:06 +11:00
psychedelicious
5c5fff9ecb
chore(ui): update whatsnew
2025-03-27 08:08:44 +11:00
psychedelicious
92f0c28d6c
fix(ui): correctly render whitespace in strings in string generator previews
...
This is a visual issue - the underlying strings are not trimmed.
Closes #7830
2025-03-26 13:52:31 +11:00
psychedelicious
c1b475c585
feat(ui): add getRuntimeConfig query and show it all in the about modal
2025-03-26 11:39:21 +11:00
psychedelicious
ec44e68cbf
chore(ui): typegen
2025-03-26 11:39:21 +11:00
psychedelicious
2c71b0e873
fix(ui): long node titles overflow
2025-03-26 10:24:46 +11:00
Linos
6312e6aa8f
translationBot(ui): update translation (Vietnamese)
...
Currently translated at 100.0% (1832 of 1832 strings)
Co-authored-by: Linos <linos.coding@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/vi/
Translation: InvokeAI/Web UI
2025-03-25 08:00:45 +11:00
Riccardo Giovanetti
6435f11bae
translationBot(ui): update translation (Italian)
...
Currently translated at 98.7% (1815 of 1838 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.7% (1809 of 1832 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
2025-03-25 08:00:45 +11:00
psychedelicious
1c69b9b1fa
fix(ui): restore display: flex to image viewer and node editor
...
This was inadventently removed in #7786 and caused some minor layout overflow.
2025-03-25 07:44:07 +11:00
psychedelicious
731970ff88
fix(ui): use expanded mask for paste-back when inpainting
2025-03-25 00:03:13 +11:00
psychedelicious
038bac1614
feat(ui): make it clearer that we are doing scale before processing in graph builders
2025-03-25 00:03:13 +11:00
psychedelicious
75d793f1c4
fix(ui): siglip model translation key
2025-03-24 13:26:38 +11:00
psychedelicious
2b086917e0
chore(ui): lint
2025-03-24 13:24:13 +11:00
psychedelicious
a9f2738086
feat(ui): layout improvements for string field collection input
2025-03-24 13:24:13 +11:00
psychedelicious
3a56799ea5
tidy(ui): remove unused code
2025-03-24 13:24:13 +11:00
psychedelicious
3162ce94dc
tidy(ui): use settings for node field settings instead of config
...
Non-functional naming change to clarify the logic
2025-03-24 13:24:13 +11:00
psychedelicious
c0dc6ac4e1
fix(ui): issue where string drop-down options are not removed when changing component to a different type
2025-03-24 13:24:13 +11:00
psychedelicious
fed1995525
chore(ui): lint
2025-03-24 13:24:13 +11:00
psychedelicious
5006e23456
feat(ui): added reset options button
2025-03-24 13:24:13 +11:00
psychedelicious
2f063bddda
fix(ui): restore field-node overlay
...
Accidentally removed it
2025-03-24 13:24:13 +11:00
psychedelicious
23a26422fd
feat(ui): support for custom string field dropdowns in builder
2025-03-24 13:24:13 +11:00
psychedelicious
434f195a96
feat(ui): add empty string placeholder to string fields
2025-03-24 13:24:13 +11:00
psychedelicious
6a4c2d692c
chore(ui): typegen
2025-03-24 12:45:46 +11:00
psychedelicious
a629102c87
chore(ui): update whatsnew
2025-03-21 13:09:27 +11:00
Hosted Weblate
2110feb01c
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
2025-03-21 12:55:07 +11:00
Riku
f3e1821957
translationBot(ui): update translation (German)
...
Currently translated at 67.0% (1224 of 1826 strings)
Co-authored-by: Riku <riku.block@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2025-03-21 12:55:07 +11:00
Linos
bbcf93089a
translationBot(ui): update translation (Vietnamese)
...
Currently translated at 100.0% (1827 of 1827 strings)
translationBot(ui): update translation (Vietnamese)
Currently translated at 100.0% (1826 of 1826 strings)
translationBot(ui): update translation (Vietnamese)
Currently translated at 100.0% (1825 of 1825 strings)
Co-authored-by: Linos <linos.coding@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/vi/
Translation: InvokeAI/Web UI
2025-03-21 12:55:07 +11:00
Riccardo Giovanetti
66f41aa307
translationBot(ui): update translation (Italian)
...
Currently translated at 98.7% (1804 of 1827 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.7% (1803 of 1825 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
2025-03-21 12:55:07 +11:00
psychedelicious
8a709766b3
feat(ui): better error for unknown fields in builder view mode
2025-03-21 12:51:12 +11:00
psychedelicious
efaa20a7a1
feat(ui): better labels for missing/unexpected fields
2025-03-21 12:51:12 +11:00
psychedelicious
3e4c808b23
refactor(ui): organise useInputFieldTemplate hooks again & add useInputFieldTemplateSafe
2025-03-21 12:51:12 +11:00
psychedelicious
00e3931af4
chore(ui): "useInputFieldLabel" -> "useInputFieldLabelSafe"
...
Also update docstrings
2025-03-21 12:51:12 +11:00
psychedelicious
08bea07f8b
chore(ui): "useInputFieldDescription" -> "useInputFieldDescriptionSafe"
...
Also update docstrings
2025-03-21 12:51:12 +11:00
psychedelicious
166d2f0e39
chore(ui): "useInputFieldTemplate" -> "useInputFieldTemplateOrThrow"
2025-03-21 12:51:12 +11:00
psychedelicious
21f346717a
docs(ui): add docstring to useInputFieldTemplate
2025-03-21 12:51:12 +11:00
psychedelicious
f966fb8b9c
docs(ui): add docstring to useInputFieldDescription
2025-03-21 12:51:12 +11:00
psychedelicious
c2b20a5387
feat(ui): hide guidance when FLUX Fill model selected
2025-03-21 10:24:03 +11:00
psychedelicious
bed9089fe6
refactor(ui): just always set guidance to 30 when using FLUX Fill
2025-03-21 10:24:03 +11:00
psychedelicious
d34a4f765c
feat(ui): better error for FLUX Fill + t2i/i2i incompatibility
2025-03-21 10:24:03 +11:00
psychedelicious
efe4708b8b
feat(ui): better error message/warning for FLUX Fill w/ Control LoRA
2025-03-21 10:24:03 +11:00
psychedelicious
7cb1f61a9e
feat(ui): bump FLUX guidance up to 30 if it's too low during graph building
2025-03-21 10:24:03 +11:00