psychedelicious
b630dbdf20
feat(ui): move socket event handling out of redux
...
Download events and invocation status events (including progress images) are very frequent. There's no real need for these to pass through redux. Handling them outside redux is a significant performance win - far fewer store subscription calls, far fewer trips through middleware.
All event handling is moved outside middleware. Cleanup of unused actions and listeners to follow.
2024-08-30 22:18:49 +10:00
Mary Hipp
3e569c8312
feat(ui): add fields for CLIP embed models and Flux VAE models in workflows
2024-08-29 11:52:51 -04:00
Brandon Rising
101de8c25d
Update t5 encoder formats to accurately reflect the quantization strategy and data type
2024-08-26 20:17:50 -04:00
Mary Hipp
269388c9f4
feat(ui): create new field for t5 encoder models in nodes
2024-08-26 20:17:50 -04:00
Brandon Rising
8ba6e6b1f8
Add t5 encoders and clip embeds to the model manager
2024-08-26 20:17:50 -04:00
Brandon Rising
5f59a828f9
Setup flux model loading in the UI
2024-08-26 20:17:50 -04:00
Ryan Dick
c1c8e55e8e
Fix static check errors.
2024-07-03 16:28:21 -04:00
Ryan Dick
29c8ddfb88
WIP - A bunch of boilerplate to support Spandrel Image-to-Image models throughout the model manager and the frontend.
2024-07-03 16:28:21 -04:00
Mary Hipp
29eb3c8b62
lint fix
2024-06-28 10:36:05 +10:00
Mary Hipp
68c0aa898f
feat(ui): add ability to archive/unarchive boards, add toggle to gallery settings to show/hide archived boards in list
2024-06-28 10:36:05 +10:00
psychedelicious
038a482ef0
feat(ui): rework visibility conditions for image viewer
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
a983f27aad
fix(ui): update types
2024-05-30 12:03:38 +10:00
psychedelicious
5a4d10467b
feat(ui): use updated types
2024-05-30 12:03:38 +10:00
psychedelicious
a66b3497e0
feat(ui): port all toasts to use new util
2024-05-22 09:40:46 +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
8062a47d16
fix(ui): use new field type cardinality throughout app
...
Update business logic and tests.
2024-05-20 11:28:33 +10:00
psychedelicious
cea1874e00
perf(ui): memoize WorkflowName selectors
2024-05-19 20:14:01 +10:00
psychedelicious
89b0e9e4de
feat(ui): use connection validationResults directly in components
2024-05-19 20:14:01 +10:00
psychedelicious
26d0d55d97
fix(ui): set nodeDragThreshold to prevent spurious position change events
2024-05-19 20:14:01 +10:00
psychedelicious
059c5586a4
perf(ui): ignore all no-op node and edge changes
2024-05-19 20:14:01 +10:00
psychedelicious
0b5696c5d4
feat(ui): remove nodeExclusivelySelected action
2024-05-19 20:14:01 +10:00
psychedelicious
a51142674a
tidy(ui): more succinct syntax for edge and node updates
2024-05-19 20:14:01 +10:00
psychedelicious
b8b671c0db
feat(ui): remove selectionDeleted action
2024-05-19 20:14:01 +10:00
psychedelicious
cbe32b647a
feat(ui): remove selectedAll action
2024-05-19 20:14:01 +10:00
psychedelicious
e38d75c3dc
feat(ui): get rid of nodeAdded
2024-05-19 20:14:01 +10:00
psychedelicious
21fab9785a
feat(ui): tweak edge styling
2024-05-19 20:14:01 +10:00
psychedelicious
e480844042
fix(ui): edge styling
2024-05-19 20:14:01 +10:00
psychedelicious
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
psychedelicious
a80e3448f5
feat(ui): rework pendingConnection
2024-05-19 20:14:01 +10:00
psychedelicious
3605b6b1a3
fix(ui): handling for in-progress edge updates during conection validation
2024-05-19 20:14:01 +10:00
psychedelicious
3fcb2720d7
tests(ui): add tests for consolidated connection validation
2024-05-19 20:14:01 +10:00
psychedelicious
6b4e464d17
fix(ui): rework edge update logic
2024-05-19 20:14:01 +10:00
psychedelicious
9f7841a04b
tidy(ui): clean up addnodepopover hotkeys
2024-05-19 20:14:01 +10:00
psychedelicious
6658897210
tidy(ui): tidy connection validation functions and logic
2024-05-19 20:14:01 +10:00
psychedelicious
af7b194bec
chore(ui): lint
2024-05-19 20:14:01 +10:00
psychedelicious
a012bb6e07
feat(ui): add ModelIdentifierField field type
...
This new field type accepts _any_ model. A field renderer lets the user select any available model.
2024-05-19 20:14:01 +10:00
psychedelicious
5d60c3c8e1
fix(ui): jank when editing field title
2024-05-18 08:46:40 +10:00
psychedelicious
4e21d01c7f
feat(ui): dim field name when connected
2024-05-18 08:46:40 +10:00
psychedelicious
32dff2c4e3
feat(ui): copy/paste input edges when copying node
...
- Copy edges to selected nodes on copy
- If pasted with `ctrl/meta-shift-v`, also paste the input edges
2024-05-17 23:12:29 +10:00
psychedelicious
ad8778df6c
feat(ui): extract node execution state from nodesSlice
...
This state is ephemeral and not undoable.
2024-05-17 13:24:23 +10:00
psychedelicious
a8b042177d
feat(ui): connection validation for collection items types
2024-05-17 13:24:23 +10:00
psychedelicious
78cb4d75ad
fix(ui): use elevateEdgesOnSelect
so last-selected edge is the interactable one when updating edges
2024-05-17 13:24:23 +10:00
psychedelicious
a18bbac262
fix(ui): jank interaction between edge update and autoconnect
2024-05-17 13:24:23 +10:00
psychedelicious
9ff5596963
feat(ui): hide values for connected fields
2024-05-17 13:24:23 +10:00
psychedelicious
8ea596b1e9
fix(ui): janky editable field title
...
- Do not allow whitespace-only field titles
- Make only preview text trigger editable
- Tooltip over the preview, not the whole "row"
2024-05-17 13:24:23 +10:00
psychedelicious
e3a143eaed
fix(ui): fix jank w/ stale connections
2024-05-17 13:24:23 +10:00
psychedelicious
c359ab6d9b
fix(ui): fix dependency tracking for copy/paste hotkeys
2024-05-17 13:24:23 +10:00
psychedelicious
dbfaa07e03
feat(ui): add checks for undo/redo actions
2024-05-17 13:24:23 +10:00