psychedelicious
9ecafc8706
feat(ui): workflows panel redesign WIP
2025-02-21 12:24:03 +11:00
psychedelicious
871cb54988
feat(ui): panel resize handles have grab icon
2025-02-21 12:24:03 +11:00
psychedelicious
e3069ad336
fix(ui): remove ancient node selection logic that created duplicate node selection actions
2025-02-21 12:24:03 +11:00
psychedelicious
28027702dd
feat(ui): add useZoomToNode hook
2025-02-21 12:24:03 +11:00
psychedelicious
d72840620a
feat(ui): remove extraneous formElementNodeFieldInitialValueChanged action
2025-02-21 12:24:03 +11:00
psychedelicious
4f2de2674e
feat(ui): remove extraneous formContainerChildrenReordered action
2025-02-21 12:24:03 +11:00
psychedelicious
340c9c0697
feat(ui): make builder heading a bit smaller
2025-02-21 12:24:03 +11:00
psychedelicious
f77549dc4f
feat(ui): use constants for reactflow opt-out classNames
2025-02-20 14:25:51 +11:00
psychedelicious
5653352ae8
feat(ui): double click to zoom to node
...
Requires a bit of fanagling to ensure the double click doesn't interfer w/ other stuff
2025-02-20 14:25:51 +11:00
psychedelicious
f1bc2ea962
fix(ui): allow pasting of collapsed edges
2025-02-20 14:25:51 +11:00
psychedelicious
2a9f7b2e38
feat(ui): abstract node/field validation logic, use error color for node title when node has errors
2025-02-20 14:25:51 +11:00
psychedelicious
c379d76844
feat(ui): add "unsafe" version of field instance selector
2025-02-20 14:25:51 +11:00
psychedelicious
6496fcdcbd
feat(ui): make field names draggable, not the whole field name "bar"
2025-02-20 14:25:51 +11:00
psychedelicious
812b8fddd6
feat(ui): slimmer image component
2025-02-20 14:25:51 +11:00
psychedelicious
dc9165dfc1
chore(ui): bump vitest to latest
...
All but the core `vitest` package were updated recently. Tests still ran but the test UI dashboard didn't. After updating, all tests still run, seems fine.
Also tested building in app and package mode.
2025-02-20 09:08:24 +11:00
psychedelicious
59826438f6
fix(ui): failing test cases for form manip utils
2025-02-20 09:08:24 +11:00
psychedelicious
87cd52241d
tests(ui): coverage for form-manipulation.ts
2025-02-20 09:08:24 +11:00
psychedelicious
7506b0e7ae
feat(ui): require parentId when adding form elements
2025-02-20 09:08:24 +11:00
psychedelicious
4b29a2f395
refactor(ui): validateWorkflow takes a single object as arg
2025-02-20 09:08:24 +11:00
psychedelicious
3bcaa42309
tidy(ui): more file/variable organisation
2025-02-20 09:08:24 +11:00
psychedelicious
8e14cdb8b6
feat(ui): make dnd hooks never throw
...
Just log errors.
2025-02-20 09:08:24 +11:00
psychedelicious
9ef6e52ad8
tidy(ui): organize & document builder dnd logic
2025-02-20 09:08:24 +11:00
psychedelicious
148bd70a24
refactor(ui): revert to using single tree for form data
2025-02-20 09:08:24 +11:00
psychedelicious
1461c88c12
lint model
2025-02-20 09:08:24 +11:00
psychedelicious
bcfeae94d2
fix(ui): node title shows text cursor
2025-02-20 09:08:24 +11:00
psychedelicious
40eedfebf7
fix(ui): zoom reset on first interaction
...
Closes #7648
2025-02-20 09:08:24 +11:00
psychedelicious
d0a231d59e
fix(ui): model field types not recognized as such during workflow validation and field styling
2025-02-20 09:08:24 +11:00
Mary Hipp
4bba7de070
fix omnipresent pencil
2025-02-19 09:52:37 -05:00
psychedelicious
e1f2b232c8
feat(ui): color picker improvements
...
- Support transparency w/ color picker. To do this, we need to hide the bg layer before sampling. In testing, this has a negligible performance impact.
- Add an RGBA value readout next to the color picker ring.
2025-02-18 15:38:50 +11:00
psychedelicious
2c5b0195fc
fix(ui): straight lines drawn with shift-click get cut off when canvas moved between clicks
...
Need to opt-out of the clipping logic when using shift-click to not cut off the line.
2025-02-18 15:38:50 +11:00
psychedelicious
56792b2d2c
fix(ui): mask layers not showing up until you zoom
...
Unfortunately I couldn't reliably reproduce the issue, so I'm not 100% sure this fixes it. But I think there is a race condition that results in `updateCompositingRectSize` erroneously seeing the layer has no objects and skipping the update.
To address this, the compositing rect fill/size/pos are all now force-updated when the fill/objects are changed. Theoretically it should be impossible for the issue to occur now.
2025-02-18 15:38:50 +11:00
psychedelicious
d71e8b4980
fix(ui): cursor visibility
...
- Fix an issue where the cursor disappeared when selecting a non-renderable entity. For example, when selecting a reference image layer and certain tools, the cursor would disappear.
- Ensure color picker works no matter what layer types are selected.
The logic for showing/hiding the cursor needed to be rearranged a bit for this fix.
2025-02-18 15:38:50 +11:00
Mary Hipp
ca50f8193c
add AppFeature for retryQueueItem in case we want to easily disable
2025-02-18 09:14:03 +11:00
psychedelicious
7ee636b68b
feat(ui): add retry buttons to queue tab
...
- Add the new HTTP endpoint to the queue client
- Add buttons to the queue items to retry them
2025-02-18 09:14:03 +11:00
psychedelicious
926f69677a
chore(ui): typegen
2025-02-18 09:14:03 +11:00
psychedelicious
675ac348de
feat(app): add retry queue item functionality
...
Retrying a queue item means cloning it, resetting all execution-related state. Retried queue items reference the item they were retried from by id. This relationship is not enforced by any DB constraints.
- Add `retried_from_item_id` to `session_queue` table in DB in a migration.
- Add `retry_items_by_id` method to session queue service. Accepts a list of queue item IDs and clones them (minus execution state). Returns a list of retried items. Items that are not in a canceled or failed state are skipped.
- Add `retry_items_by_id` HTTP endpoint that maps 1-to-1 to the queue service method.
- Add `queue_items_retried` event, which includes the list of retried items.
2025-02-18 09:14:03 +11:00
psychedelicious
62e5b9da18
docs(ui): add comments for recent perf optimizations
2025-02-17 09:28:13 +11:00
psychedelicious
65eabde297
per(ui): move field desc content to own component
2025-02-17 09:28:13 +11:00
psychedelicious
6bebd2bfc8
chore(ui): lint
2025-02-17 09:28:13 +11:00
psychedelicious
cd785ba64b
perf(ui): optimize field handle/title/etc rendering
2025-02-17 09:28:13 +11:00
psychedelicious
726b4637db
perf(ui): optimize workflow editor inspector panel rendering
2025-02-17 09:28:13 +11:00
psychedelicious
b50241fe6a
perf(ui): make field description popver rendering lazy
2025-02-17 09:28:13 +11:00
psychedelicious
5b8735db3b
perf(ui): optimize node update checking
2025-02-17 09:28:13 +11:00
psychedelicious
ce286363d0
perf(ui): optimize checking if a field value is changed by wrapping in single selector
2025-02-17 09:28:13 +11:00
psychedelicious
2fa47cf270
perf(ui): use lazy rendering for builder element settings popovers
2025-02-17 09:28:13 +11:00
psychedelicious
3446486f40
perf(ui): do not use memoized selector for control adapter state
2025-02-17 09:28:13 +11:00
psychedelicious
a0cdcdef57
perf(ui): debounce invoke readiness calculations
2025-02-17 09:28:13 +11:00
psychedelicious
abbb3609c8
fix(ui): race condition that causes non-user-facing error when handling canvas filter cancelations
...
The abortController could be null by the time we attempt to abort it
2025-02-17 09:28:13 +11:00
psychedelicious
700ad78f87
Revert "perf(ui): connection line issue on chrome"
...
This reverts commit 9d482e5fe621c2dbbde18ed17301a12b0e7f2580.
2025-02-17 09:28:13 +11:00
psychedelicious
cfb08f326e
perf(ui): fix issue w/ add node cmdk component (more fixed)
2025-02-17 09:28:13 +11:00