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
psychedelicious
aae4fa3cca
perf(ui): reduce animations which slow down reactflow
2025-02-17 09:28:13 +11:00
psychedelicious
109adc5a93
perf(ui): fix issue w/ add node cmdk component
2025-02-17 09:28:13 +11:00
psychedelicious
acb7ef8837
perf(ui): slightly more efficient gallery pagination componsts
2025-02-17 09:28:13 +11:00
psychedelicious
3c5e829c72
feat(ui): use new more efficient RTK upsert methods
2025-02-17 09:28:13 +11:00
psychedelicious
10d9e75391
fix(ui): rtk upgrade TS issues
2025-02-17 09:28:13 +11:00
psychedelicious
b6a892a673
chore(ui): bump @reduxjs/toolkit to latest
2025-02-17 09:28:13 +11:00
psychedelicious
479d5cc362
perf(ui): isolate a lot of root-level hooks in a memoized component
2025-02-17 09:28:13 +11:00
psychedelicious
01e4fd100f
perf(ui): optimized invocation node component structure
2025-02-17 09:28:13 +11:00
psychedelicious
8ecf9fb7e3
perf(ui): connection line issue on chrome
2025-02-17 09:28:13 +11:00
psychedelicious
436d5ee0c6
chore(ui): lint
2025-02-17 09:28:13 +11:00
psychedelicious
0671fec844
perf(ui): workflow editor misc
...
- Optimize component and hook structure for input fields to reduce rerenders of component tree
- Remove memoization on some selectors where it serves no purpose (bc the object will have a stable identity until it changes, at which point we need to re-render anyways)
- Shift the connection error selector logic around to rely more on the stable identity of pending connection objects
2025-02-17 09:28:13 +11:00
psychedelicious
f6c4682b99
fix(ui): builder alpha status alert not visible when many elements added
2025-02-14 15:33:02 +11:00
psychedelicious
b3288ed64e
chore: bump version to v5.7.0a1
2025-02-14 15:33:02 +11:00
psychedelicious
f3dfb1b6ea
chore(ui): knip
2025-02-14 14:50:56 +11:00
psychedelicious
65a37ca4ff
feat(ui): give vertical dividers a min height
2025-02-14 14:50:56 +11:00
psychedelicious
9adbe31fec
tweak(ui): form element edit mode styling
2025-02-14 14:50:56 +11:00
psychedelicious
0a2925f02b
feat(ui): add warning about alpha status of builder
2025-02-14 14:50:56 +11:00
psychedelicious
877dcc73c3
feat(ui): check image access for image collections when loading workflows
2025-02-14 14:50:56 +11:00
psychedelicious
aec2136323
fix(ui): force refetch when checking image access to ensure stale RTK query cache isn't use
2025-02-14 14:50:56 +11:00
psychedelicious
8ef5c54ffe
feat(ui): add delete button to missing image placeholder for image collection fields
2025-02-14 14:50:56 +11:00
psychedelicious
6faed4f1ec
fix(ui): remove images from node image collections when deleted
2025-02-14 14:50:56 +11:00
psychedelicious
aa71db4d31
tidy(ui): remove nonfunctional conditionals
2025-02-14 14:50:56 +11:00
psychedelicious
6407ab4a2e
tweak(ui): builder padding
2025-02-14 14:50:56 +11:00
psychedelicious
a91b0f25cb
feat(ui): consolidate row/column dnd draggables into container
2025-02-14 14:50:56 +11:00
psychedelicious
ef664863b5
feat(ui): remove separate flag for form vs workflow edit mode
2025-02-14 14:50:56 +11:00
psychedelicious
bf8ba1bb37
feat(ui): text and heading element default content is empty string
2025-02-14 14:50:56 +11:00
psychedelicious
54747bd521
feat(ui): remove element id from edit mode header
2025-02-14 14:50:56 +11:00
psychedelicious
d040a6953f
tweak(ui): styling for edit mode
2025-02-14 14:50:56 +11:00
psychedelicious
828497cf89
feat(ui): remove node field reset button from edit mode header
2025-02-14 14:50:56 +11:00
psychedelicious
28950a4891
fix(ui): ignore dropping on self
2025-02-14 14:50:56 +11:00