-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(app): App support for new lid commands and fix lid error boundary trigger #17386
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm unable to test it, but the fix makes sense given the stack trace. Thank you!
@@ -287,7 +287,7 @@ export function getFailedCmdRelevantLabware( | |||
const failedLWURI = runRecord?.data.labware.find( | |||
labware => labware.id === recentRelevantFailedLabwareCmd?.params.labwareId | |||
)?.definitionUri | |||
if (failedLWURI != null) { | |||
if (failedLWURI != null && Object.keys(lwDefsByURI).includes(failedLWURI)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That will do it!
(commandType === 'loadLabware' || | ||
commandType === 'loadLid' || | ||
commandType === 'loadLidStack') && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe not in this PR, but could we add a TODO for adding some sort of constant to shared data that contains a list of all possible load commands, and then implement that in the app?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, definitely - we won't want to reference all three of these everywhere we search for loadLabware
(we'll want to exclude these from LPC, for example) but it would be good to have this as a type
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sweet, thank you!
Works as expected, I tested it on a flex with both the ODD and Desktop app. |
fix EXEC-1042, RABR-712
Overview
This PR adds the new
loadLid
andloadLidStack
commands to the typescript command schema, makes a few necessary utils aware that labware can be loaded through these commands, and adds some null protection where we were hitting an error boundary in the recovery flow due to missing labwareTest Plan and Hands on Testing
On this branch, run a protocol that loads a lid, trigger a stall/collision, and see that you no longer hit an error boundary
I tested this out on desktop and it works as expected! Error recover is now launched and you can address the gripper failure
Changelog
loadLid
andloadLidStack
commands to the typescript command schemaReview requests
Look over code changes and test this out if you can
Risk assessment
Low