-
Notifications
You must be signed in to change notification settings - Fork 180
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): quick transfer uses C2 for aspirate and dispense if labware is the same #16087
Conversation
49d22ec
to
080c7bb
Compare
const destinationLabwareId = Object.keys(robotState.labware).find( | ||
key => robotState.labware[key].slot === 'D2' |
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.
nit
const destinationLabwareId = Object.keys(robotState.labware).find( | |
key => robotState.labware[key].slot === 'D2' | |
const destinationLabwareId = Object.keys(robotState.labware).find( | |
labwareId => robotState.labware[labwareId].slot === 'D2' |
entity.labwareDefURI === getLabwareDefURI(quickTransferState.source) | ||
|
||
const sourceLabwareId = Object.keys(robotState.labware).find( | ||
key => robotState.labware[key].slot === 'C2' |
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.
same here
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.
logic makes sense to me, left some comments to make it more clear for people who don't immediately know the shape of robotState
.
fix RQA-3073
Overview
If you choose to load two of the same labware in C2 and D2 for quick transfer, both labware were getting loaded in the protocol but the labware in C2 was being used for both aspiration and dispense. This is because of the way I was grabbing the labware entities in
generateQuickTransferArgs
. This PR fixes that discrepancy by grabbing the entity by labware location as opposed to labwareUri which will match for identical labwareTest Plan and Hands on Testing
Go through QT and select two of the same labware for source and destination (do not choose the "source labware" option for destination)
Create a transfer, and examine the file logged in dev tools. The ID used for the
loadLabware
command for slot D2 will now match the ID used for thedispense
commandChangelog
sourceLabwareEntity
anddestLabwareEntity
ingenerateQuickTransferArgs
to first grab the labware id that corresponds to the correct location from the robot stateReview requests
Look over code, I've tested this out
Risk assessment
Low