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
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
2c71b0e873
fix(ui): long node titles overflow
2025-03-26 10:24:46 +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
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
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
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
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
psychedelicious
d208b99a47
feat(ui): pass the full model config throughout validation logic
2025-03-21 10:24:03 +11:00
psychedelicious
0cb00fbe53
refactor(ui): use new compositing nodes for inpaint/outpaint graphs
2025-03-21 10:24:03 +11:00
psychedelicious
a7e8ed3bc2
feat(ui): add FLUX Fill graph builder util
2025-03-21 10:24:03 +11:00
psychedelicious
5d13f0ba15
tidy(ui): remove recommended flag from workflow (believe was for testing purposes)
2025-03-20 08:50:01 -04:00
psychedelicious
633b9afa46
fix(ui): recommended star stretches tag list layout
2025-03-20 08:50:01 -04:00
psychedelicious
f1889b259d
tidy(ui): split browse workflows button into own component
2025-03-20 08:50:01 -04:00
psychedelicious
ed21d0b57e
tidy(ui): remove noop useEffect
2025-03-20 08:50:01 -04:00
Mary Hipp
063d07fd41
switch to using recommended with star insteaed of auto-selecting
2025-03-20 15:43:57 +11:00
Mary Hipp
c78eac624e
update workflow tag/categories so that we can pass in 1+ selected tags to start with
2025-03-20 15:43:57 +11:00
Mary Hipp
05de3b7a84
workflow library UI updates: scrollbar to make obvious its overflowing, move deselecet all tags to be next to browse button
2025-03-20 15:43:57 +11:00
Billy
2a09604baf
Formatting
2025-03-18 11:53:06 +11:00
Billy
fc82775d7a
WIP - model selection for LLaVA
2025-03-18 11:53:06 +11:00
psychedelicious
d65ec0e250
feat(ui): configurable form field constraints (WIP3)
2025-03-17 10:47:01 +11:00
psychedelicious
7fdde5e84a
tests(ui): fix constrainNumber
2025-03-17 10:47:01 +11:00
psychedelicious
895956bcfe
chore(ui): lint
2025-03-17 10:47:01 +11:00
psychedelicious
f27d26cfa2
feat(ui): configurable form field constraints (WIP2)
2025-03-17 10:47:01 +11:00
psychedelicious
965bcba6c2
feat(ui): configurable form field constraints (WIP)
2025-03-17 10:47:01 +11:00
psychedelicious
c9f2460ff2
fix(ui): generator widget should stretch to fill when added to builder
2025-03-17 10:41:59 +11:00
psychedelicious
5abbbf4b5b
feat(ui): allow pasting images on workflows tab when workflows not focused
2025-03-17 10:37:27 +11:00
joshistoast
53bdaba7b6
style: 🚨 linting
2025-03-17 10:34:49 +11:00
joshistoast
dda69950a7
refactor(ui): ♻️ apply memoization, system style objects, and data attribute to region highlight wrapper
2025-03-17 10:34:49 +11:00
joshistoast
02b91e8e7b
feat: ✨ highlight focused regions
...
adds a region wrapper with a highlight effect when that region is focused, this behavior can be toggled as a setting
2025-03-17 10:34:49 +11:00
psychedelicious
63b94a8ff3
feat(ui): add sd3.5 default workflows tag
2025-03-17 10:32:19 +11:00