fix(app): use containers and instruments to set RPC pipette tip rack list #5147
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.
overview
This works PR works around a "bug" from the RPC API in PAPIv1 (Existing expected bahavior? Who really knows?) that was discovered by an internal user.
A pipette may be reported to the app to use no tip racks even if a tip rack object used in the protocol reports usage by that same pipette. E.g. the session can come back with:
This appears to happen if one constructs the pipettes without using the
tip_racks
argument of the constructor in PAPIv1. To work around this issue, the app will now build the tip rack usage list from both the RPC instruments and the RPC containers, instead of just the instruments.changelog
review requests
To test, upload a Protocol API v1 protocol that does not use the
tip_racks
argument of the pipette constructors, but makes variouspick_up_tip
andreturn_tip
callsThe added functionality is covered by unit tests, but is a very old, un-typed part of the app's source code.