-
Notifications
You must be signed in to change notification settings - Fork 184
fix(protocol-designer): remove updatePatchPathField
#18622
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
Conversation
Here, we remove the `updatePatchPathField` from `dependentFieldsUpdateMoveLiquid`. Closes AUTH-1987
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## chore_release-pd-8.5.0 #18622 +/- ##
==========================================================
- Coverage 25.89% 25.48% -0.42%
==========================================================
Files 3256 3238 -18
Lines 281350 280952 -398
Branches 28562 28669 +107
==========================================================
- Hits 72869 71611 -1258
- Misses 208454 209312 +858
- Partials 27 29 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
thanks for the description! do you mind making a ticket for this? probably a ticket in this epic would be best for now.
|
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.
🦖
Will do! I also noticed there's some logic in |
Overview
Here, we remove the
updatePatchPathField
fromdependentFieldsUpdateMoveLiquid
.Context
In the times of single-page step form PD, we wired up a patch during form updates that would reset the path from
multiAspirate
ormultiDispense
tosingle
if advanced settings were configured such that multiAspirate or multiDispense are not possible. Here's an example:multiDispense
pathIn this scenario, without air gap (or disposal volume), we can comfortably aspirate 280µl, and dispense 140µl into each of our 2 destinations. However, with air gap, we can no longer accommodate both samples-worth of volume with air gap— this total volume would be 140 + 140 + 30 = 310µl > 300µl tip volume. So, previously, when this air gap was configured such that the tip volume was exceeded and
multiDispense
was not possible, the path would flip back tosingle
.The trouble is that in our new step form design, air gap configuration comes on page 3 of the step form, while the path is configured on page 1! A user would select
multiDispense
on page 1, add an air gap on page 3, save, and not realize the path has flipped back tosingle
.After speaking with the API team, we resolved to remove the patch such that the form always carries the user's selected path regardless of the tip's capacity, and determine the if the form's path is valid for its corresponding step generation command creator (
single
->transfer
,multiAspirate
->consolidate
, ormultiDispense
->distribute
) inmoveLiquidFormToArgs
(see:checkedPath
). This is to ensure we don't encounter errors in step generation indistribute
orconsolidate
if multi-dispense or -aspiration, respectively, or is not possible. The downside is that we generate the Python API methodtransfer_with_liquid_class
rather thandistribute_with_liquid_class
orconsolidate_with_liquid_class
in this scenario, but we determined it is the least of all evils at this stage of 8.5.0 development.In a post-release followup, I will refactor
distribute
andconsolidate
command creator logic to allow non multi-aspiration/dispense behavior so that the most accurate Python is emitted.Closes AUTH-1987
Changelog
getDisabledPathMap
implementation inPathField
Risk assessment
lowish