feat(ui): allow send-image-to-canvas to work when canvas is uninitialized #7905
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Add
useCanvasIsBusySafe()
hook. This is likeuseCanvasIsBusy()
, but when the canvas is not initialized, it gracefully falls back to false instead of raising.Because app tabs are lazy-loaded, the canvas is not initialized until the user visits that tab. If the page loads up on the workflows tab, the canvas will be uninitialized until the user clicks on it.
This graceful fallback behaviour allows actions like sending an image to canvas to work even when the canvas is not yet initialized. These actions are exposed in the image context menu, and previously were hidden when the canvas was not initialized. We can now show these actions and use them even when the canvas is uninitialized.
useCanvasIsBusySafe()
hook<CanvasManagerProviderGate />
in the image context menu (this was hiding the actions when canvas was uninitialized)Related Issues / Discussions
Offline discussion
QA Instructions
On
main
, the canvas actions won't show up. On this branch, they should show up and work.Merge Plan
n/a
Checklist
What's New
copy (if doing a release after this PR)