Skip to content

Conversation

@jerader
Copy link
Collaborator

@jerader jerader commented Dec 9, 2025

… moving to shuttle

closes EXEC-2122

Overview

wow, you can now move labware to the shuttle in a move step and you cannot pipette into labware in the shuttle in a transfer and mix step

Test Plan and Hands on Testing

test that you can move in and out of the shuttle and that you cannot pipette into a labware on the shuttle for transfer and mix steps

Changelog

add logic to the dropdown menu options to account for labware in shuttle and add lgoic to the add button step

Risk assessment

low

@jerader jerader requested review from ddcc4 and ncdiehl11 December 9, 2025 21:47
@codecov
Copy link

codecov bot commented Dec 9, 2025

Codecov Report

❌ Patch coverage is 31.81818% with 15 lines in your changes missing coverage. Please review.
✅ Project coverage is 25.64%. Comparing base (7512850) to head (cd1f76d).
⚠️ Report is 26 commits behind head on edge.

Files with missing lines Patch % Lines
protocol-designer/src/pages/Designer/utils.ts 0.00% 9 Missing ⚠️
...igner/src/top-selectors/labware-locations/index.ts 0.00% 5 Missing ⚠️
.../Designer/ProtocolSteps/Timeline/AddStepButton.tsx 87.50% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             edge   #20337      +/-   ##
==========================================
+ Coverage   25.58%   25.64%   +0.06%     
==========================================
  Files        3640     3641       +1     
  Lines      303120   303794     +674     
  Branches    42327    42612     +285     
==========================================
+ Hits        77552    77922     +370     
- Misses     225544   225848     +304     
  Partials       24       24              
Flag Coverage Δ
protocol-designer 19.38% <31.81%> (+0.03%) ⬆️

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

Files with missing lines Coverage Δ
.../Designer/ProtocolSteps/Timeline/AddStepButton.tsx 72.22% <87.50%> (+0.54%) ⬆️
...igner/src/top-selectors/labware-locations/index.ts 8.77% <0.00%> (-0.12%) ⬇️
protocol-designer/src/pages/Designer/utils.ts 52.60% <0.00%> (-1.12%) ⬇️

... and 28 files 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.

!getIsAdapterFromDef(labwareDef) &&
!isLidOnSlot
!isLidOnSlot &&
!isStackerInSlot
Copy link
Collaborator

Choose a reason for hiding this comment

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

What does the boolean value that you're returning mean?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

if the boolean is true, we show the transfer/mix step buttons in the add step overflow menu. if its false, we don't show those buttons

Copy link
Collaborator

Choose a reason for hiding this comment

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

OK, and you want it to work this way because:

  • Let's say there's a well plate in C4.
  • And there's also a Stacker in C4.

You want to say that this well plate is not PresentForLiquidHandling?

What if the well plate is sitting on the shuttle? Is the well plate available for liquid handling in that case?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I guess you want it not to be available, given the PR description.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

yeah, its mainly for if you don't have any labware available to pipette into, the button is filtered out.

@jerader jerader requested a review from ddcc4 December 9, 2025 22:11
const isTopOfStack = fullStackFromLabwares[0] === labwareId
const topId = fullStackFromLabwares[0]
const isOnShuttle = stackerModuleIds.some(stackerModule =>
fullStackFromLabwares.includes(stackerModule.slot)
Copy link
Collaborator

Choose a reason for hiding this comment

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

How does this know it's not on the hopper?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

good call, i should name it more generic, it is filtering for any labware on the flex stacker, not just the shuttle.

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.

3 participants