5553588147
fix(ui): ensure invocation edges have a type
2024-05-20 11:36:47 +10:00
1c29b3bd85
feat(ui): updated field type translations
2024-05-20 11:28:33 +10:00
e88b807a13
docs(ui): update field type docs & comments
2024-05-20 11:28:33 +10:00
9e55ef3d4b
fix(ui): workflow migration field type
...
At some point, I made a mistake and imported the wrong types to some files for the old v1 and v2 workflow schema migration data.
The relevant zod schemas and inferred types have been restored.
This change doesn't alter runtime behaviour. Only type annotations.
2024-05-20 11:28:33 +10:00
8062a47d16
fix(ui): use new field type cardinality throughout app
...
Update business logic and tests.
2024-05-20 11:28:33 +10:00
dba8c43ecb
feat(ui): explicit field type cardinality
...
Replace the `isCollection` and `isCollectionOrScalar` flags with a single enum value `cardinality`. Valid values are `SINGLE`, `COLLECTION` and `SINGLE_OR_COLLECTION`.
Why:
- The two flags were mutually exclusive, but this wasn't enforce. You could create a field type that had both `isCollection` and `isCollectionOrScalar` set to true, whuch makes no sense.
- There was no explicit declaration for scalar/single types.
- Checking if a type had only a single flag was tedious.
Thanks to a change a couple months back in which the workflows schema was revised, field types are internal implementation details. Changes to them are non-breaking.
2024-05-20 11:28:33 +10:00
8ebf2ddf15
fix(ui): fix t2i adapter dimensions error message
...
It now indicates the correct dimension of 64 (SD1.5) or 32 (SDXL) - before was hardcoded to 64.
2024-05-20 11:23:14 +10:00
f4625c2671
feat(ui): add canvas objects to metadat a for all canvas graphs
2024-05-20 10:32:59 +10:00
c94742bde6
feat(ui): add canvas objects to metadata when saving canvas to gallery
2024-05-20 10:32:59 +10:00
a34faf0bd8
chore(ui): typegen
2024-05-20 10:32:59 +10:00
ba8bed6870
fix(ui): edge case resulting in no node templates when loading workflow, causing failure
...
Depending on the user behaviour and network conditions, it's possible that we could try to load a workflow before the invocation templates are available.
Fix is simple:
- Use the RTKQ query hook for openAPI schema in App.tsx
- Disable the load workflow buttons until w have templates parsed
2024-05-19 07:34:00 -07:00
ca186bca61
fix(ui): missed node execution state for progress images
2024-05-19 20:14:01 +10:00
e2f109807c
fix(ui): delete edges when their source or target no longer exists
2024-05-19 20:14:01 +10:00
cea1874e00
perf(ui): memoize WorkflowName selectors
2024-05-19 20:14:01 +10:00
89b0e9e4de
feat(ui): use connection validationResults directly in components
2024-05-19 20:14:01 +10:00
26d0d55d97
fix(ui): set nodeDragThreshold to prevent spurious position change events
2024-05-19 20:14:01 +10:00
059c5586a4
perf(ui): ignore all no-op node and edge changes
2024-05-19 20:14:01 +10:00
9ed5698aa8
fix(ui): do not remove exposed fields when updating workflows
2024-05-19 20:14:01 +10:00
0b5696c5d4
feat(ui): remove nodeExclusivelySelected action
2024-05-19 20:14:01 +10:00
a51142674a
tidy(ui): more succinct syntax for edge and node updates
2024-05-19 20:14:01 +10:00
b8b671c0db
feat(ui): remove selectionDeleted action
2024-05-19 20:14:01 +10:00
7cceafe0dd
feat(ui): remove selectionPasted action
2024-05-19 20:14:01 +10:00
cbe32b647a
feat(ui): remove selectedAll action
2024-05-19 20:14:01 +10:00
9a8e0842bb
feat(ui): remove nodeReplaced action
2024-05-19 20:14:01 +10:00
1d7671298f
fix(ui): group edge selection actions
2024-05-19 20:14:01 +10:00
e38d75c3dc
feat(ui): get rid of nodeAdded
2024-05-19 20:14:01 +10:00
21fab9785a
feat(ui): tweak edge styling
2024-05-19 20:14:01 +10:00
b3429553bb
fix(ui): collapsed edges selected state
2024-05-19 20:14:01 +10:00
e480844042
fix(ui): edge styling
2024-05-19 20:14:01 +10:00
26029108f7
feat(ui): rework node and edge mutation logic
...
Remove our DIY'd reducers, consolidating all node and edge mutations to use `edgesChanged` and `nodesChanged`, which are called by reactflow. This makes the API for manipulating nodes and edges less tangly and error-prone.
2024-05-19 20:14:01 +10:00
504ac82077
fix(ui): duplicated edges when updating edge with lazy connect
2024-05-19 20:14:01 +10:00
6b11740dda
chore(ui): knip
2024-05-19 20:14:01 +10:00
a80e3448f5
feat(ui): rework pendingConnection
2024-05-19 20:14:01 +10:00
4bda174eb9
tests(ui): coverage for getCollectItemType
2024-05-19 20:14:01 +10:00
b1e28c2f2c
tests(ui): coverage for getFirstValidConnection
2024-05-19 20:14:01 +10:00
83000a4190
feat(ui): rework getFirstValidConnection with new helpers
2024-05-19 20:14:01 +10:00
c98205d0d7
tests(ui): candidate fields, getFirstValidConnection (wip)
2024-05-19 20:14:01 +10:00
ce2ad5903c
feat(ui): extract logic for finding candidate fields to own function
2024-05-19 20:14:01 +10:00
fe3980a369
tests(ui): add buildNode convenience wrapper for buildInvocationNode
2024-05-19 20:14:01 +10:00
ea97ae5ae8
tidy(ui): extraneous vars in makeConnectionErrorSelector
2024-05-19 20:14:01 +10:00
3605b6b1a3
fix(ui): handling for in-progress edge updates during conection validation
2024-05-19 20:14:01 +10:00
fc31dddbf7
feat(ui): use new validateConnection
2024-05-19 20:14:01 +10:00
6ad01d824d
feat(ui): add strict mode to validateConnection
2024-05-19 20:14:01 +10:00
78f9f3ee95
feat(ui): better types for validateConnection
2024-05-19 20:14:01 +10:00
972398d203
tests(ui): add iterate to test schema
2024-05-19 20:14:01 +10:00
857889d1fa
tests(ui): coverage for getCollectItemType
2024-05-19 20:14:01 +10:00
8074a802d6
tests(ui): coverage for validateConnectionTypes
2024-05-19 20:14:01 +10:00
059d5a682c
tidy(ui): validateConnection code clarity
2024-05-19 20:14:01 +10:00
00c2d8f95d
tidy(ui): areTypesEqual var names
2024-05-19 20:14:01 +10:00
04a596179b
tests(ui): finish test cases for validateConnection
2024-05-19 20:14:01 +10:00