feat(app): Wire up door status affordances for gripper error flows #16487
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.
Closes EXEC-723
Overview
This PR closes out the gripper flows by adding the expected gripper behavior given the door status. These affordances include proper jaw release while the door is open, ensuring the door is closed before z-homing the gripper, implicitly z-homing the gripper if the door is already closed after releasing labware.
There's some minor refactoring here as well. Copy for gripper flows was recently updated, so some views are refactored to handle different copy depending on the
selectedRecoveryOption
.The major challenge here is thinking through all the permutations of gripper/door state behavior. One of the trickier aspects is implicitly executing
fixit
commands, since most commands up to this point are directly tied to a CTA. We have a semi-pattern for thisuseInitialPipette
. If we do more implicitfixit
command behavior, it will probably be worth spending the time to think through how to elucidate this implicit behavior a bit better, since the control flow is dense.There is one follow-up ticket to this: EXEC-773
Screen.Recording.2024-10-14.at.4.39.04.PM.mov
Test Plan and Hands on Testing
Changelog