Skip to content

chore(mono): Merge chore_release-8.4.0-alpha.8 into edge #18222

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

Merged
merged 9 commits into from
May 1, 2025

Conversation

mjhuff
Copy link
Contributor

@mjhuff mjhuff commented May 1, 2025

Overview

Incremental mergeback into edge on the alpha.8 cut.

Most of these conflicts were ER related. The rest were straightforward.

Conflicts in the following:

app/src/organisms/ErrorRecoveryFlows/constants.ts
components/src/hardware-sim/ProtocolDeck/utils/getLabwareInfoByLiquidId.ts
app/src/organisms/Desktop/Devices/HistoricalProtocolRunDrawer.tsx
app/src/pages/ODD/ProtocolSetup/index.tsx
app/src/organisms/Desktop/Devices/ProtocolRun/ProtocolRunSetup.tsx
app/src/pages/ODD/ProtocolSetup/__tests__/ProtocolSetup.test.tsx
protocol_engine/state/test_geometry_view.py
app/src/organisms/ErrorRecoveryFlows/hooks/__tests__/useRecoveryToasts.test.tsx 
app/src/organisms/ErrorRecoveryFlows/hooks/useRecoveryToasts.ts
app/src/organisms/ODD/ProtocolSetup/ProtocolSetupInstruments/utils.ts

Review requests

If explictly tagged as a reviewer, a quick once-over would be nice!

smb2268 and others added 9 commits April 28, 2025 09:14
Closes RQA-4156

When LPCing a labware in a module slot, the "Prepare deck for LPC" view's deck map currently renders the actively LPC'd labware above all modules and not just the module of interest.

To fix, we only render the LPC'd labware above the module with an id that matches the location-specific module id.
We altered modules to not be eventually loaded on deck slots on the
Flex, so we could better support the stacker providing two addressable
areas per module. This had an unexpected knock-on effect of making
get_ancestor_slot() not a good fallback if we ran out of depth to check
in get_labware_grip_point(), and protocols that called that
function (e.g. by calling move_labware) on a location that consisted of
a stack of more than one labware on a module (so, moving something on to
or off of a labware on an adapter on a module) would give you a deck
configuration conflict, since get_ancestor_slot would request a slot but
the module is there instead.

There is a larger fix for this - geometry needs to be more broadly
overhauled to work on location sequences throughout - but for now we can
make duals of the recursive pointer-chasing symbolic geometry resolvers
that work based on the "everything ends up on an addressable area"
assumption.

Particularly notable is modules - there was some very weird stuff in
here to make code that was intended for the OT-2 and geometry from the
module defs continue to work on Flex and geometry that is based on the
deck def addressable area coordinates, which was causing a lot of
complexity in get_labware_grip_point(). By changing the module
get_nominal_position() (or really making a new one) that returns the
offset of a child labware _from the nearest addressable area_ (i.e.
0-vec on the flex) instead of from the underlying deck slot, we can
eliminate a whole lot of logic.

Also, we can eliminate a call to one of these altered and possibly
problematic
functions in the gripper tip error checking by just poking through and
doing the
underlying math. I thought this was going to be more necessary when I
was
looking at this first, because I thought I was going to change
`get_labware_grip_point()`
more than I ended up doing, but I still think it's a good idea to not
call it there.

## review requests
- does this seem safe and adequately covered for regression?

## testing
- [ ] set up a protocol that loads a labware on a labware on a module,
and try and
gripper move something to and from it. this needs a fake labware that
allows
       stacking.

Closes RQA-4153

---------

Co-authored-by: Max Marrone <max@opentrons.com>
Avoid some previous uncommanded raises in Z while executing resin tip
commands.

These were caused by some unnecessarily high motions and because the
seal command didn't set the pipette locations tate update, so the
subsequent motions would run as-if moving between labware, raising the z
stage up to clear labware in between.

There was also an issue that required a slight refactor in `drop_tip`.
Our drop-tip functionality tries to position the pipette such that the
tip is somewhat inside the target well. This is based on multipliers
that are specific to the pipette and the tips, since we don't support
custom tips - we get to tune them in for ours. Well, these aren't our
tips, and to the system they're not really tips at all: we forbid using
tips as labware, and that's what resin tips are, so they can't be tips.
This added up to making the drop-tip (or, unseal in this case)
functionality drop the tips from way above the labware and they'd go
everywhere.

By overriding the function that provides the default drop tip location,
we can make this all work properly, and since we don't override it in
any other circumstances, we won't break the non-resin-tip drop.

## review
- good enough?

## testing
- [x] on 8 channel and 96 channel make sure that a straightforward
seal-dispense-unseal routine doesn't move high above the labware

Closes EXEC-1467
@mjhuff mjhuff requested review from TamarZanzouri and a team May 1, 2025 14:32
@mjhuff mjhuff requested review from a team as code owners May 1, 2025 14:32
@mjhuff mjhuff changed the title Chore mergeback 8.4.0 alpha.8 chore(mono): Merge chore_release8.4.0-alpha.8 into edge May 1, 2025
@mjhuff mjhuff changed the title chore(mono): Merge chore_release8.4.0-alpha.8 into edge chore(mono): Merge chore_release-8.4.0-alpha.8 into edge May 1, 2025
Copy link

codecov bot commented May 1, 2025

Codecov Report

Attention: Patch coverage is 26.16822% with 79 lines in your changes missing coverage. Please review.

Project coverage is 57.48%. Comparing base (d9fa3d9) to head (8357de4).
Report is 9 commits behind head on edge.

Files with missing lines Patch % Lines
app/src/local-resources/instruments/utils.ts 9.30% 39 Missing ⚠️
...ms/Desktop/Devices/HistoricalProtocolRunDrawer.tsx 0.00% 13 Missing ⚠️
...s/transformations/getStackedItemsOnStartingDeck.ts 0.00% 10 Missing ⚠️
...arePositionCheck/FlexSetupLPC/LPCSetupFlexBtns.tsx 0.00% 8 Missing ⚠️
...andleLabware/EditOffset/PrepareLabware/LPCDeck.tsx 0.00% 6 Missing ⚠️
...s/Desktop/Devices/ProtocolRun/ProtocolRunSetup.tsx 62.50% 2 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             edge   #18222      +/-   ##
==========================================
- Coverage   57.49%   57.48%   -0.01%     
==========================================
  Files        3043     3043              
  Lines      255239   255276      +37     
  Branches    30503    30516      +13     
==========================================
+ Hits       146742   146751       +9     
- Misses     108311   108338      +27     
- Partials      186      187       +1     
Flag Coverage Δ
app 47.72% <26.16%> (-0.04%) ⬇️
protocol-designer 18.93% <0.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...es/ProtocolRun/SetupLabwarePositionCheck/index.tsx 25.00% <ø> (ø)
app/src/organisms/ErrorRecoveryFlows/constants.ts 100.00% <100.00%> (ø)
...isms/ErrorRecoveryFlows/hooks/useRecoveryToasts.ts 81.35% <100.00%> (+1.23%) ⬆️
...DD/ProtocolSetup/ProtocolSetupInstruments/utils.ts 10.00% <100.00%> (+1.80%) ⬆️
app/src/pages/ODD/ProtocolSetup/index.tsx 72.89% <100.00%> (+0.03%) ⬆️
app/src/resources/runs/useLPCDisabledReason.tsx 94.28% <100.00%> (+1.76%) ⬆️
...sim/ProtocolDeck/utils/getLabwareInfoByLiquidId.ts 100.00% <100.00%> (ø)
...s/Desktop/Devices/ProtocolRun/ProtocolRunSetup.tsx 86.70% <62.50%> (-0.55%) ⬇️
...andleLabware/EditOffset/PrepareLabware/LPCDeck.tsx 7.59% <0.00%> (-0.41%) ⬇️
...arePositionCheck/FlexSetupLPC/LPCSetupFlexBtns.tsx 1.68% <0.00%> (-0.11%) ⬇️
... and 3 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@TamarZanzouri TamarZanzouri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mjhuff mjhuff merged commit 8357de4 into edge May 1, 2025
86 of 87 checks passed
@mjhuff mjhuff deleted the chore_mergeback-8.4.0-alpha.8 branch May 1, 2025 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants