-
Notifications
You must be signed in to change notification settings - Fork 183
fix(components): Fix module positioning in more deck maps #18874
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
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## edge #18874 +/- ##
===========================================
+ Coverage 23.82% 56.51% +32.69%
===========================================
Files 3329 3329
Lines 287227 287340 +113
Branches 35927 36607 +680
===========================================
+ Hits 68420 162404 +93984
+ Misses 218781 124730 -94051
- Partials 26 206 +180
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
{/* | ||
todo(mm, 2025-07-10): This <Module> and <ModuleLabel> positioning is not | ||
quite right, most obviously for the Thermocycler on a Flex. We aren't | ||
passing a targetSlotId and targetDeckId down to <Module>, which means | ||
it isn't applying slot-specific adjustments. | ||
*/} |
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.
@jerader Heads up for this.
I tried to fix this here, but fixing the positioning of <Module>
leaves the <ModuleLabel>
behind so then the <ModuleLabel>
looks misaligned, and it wasn't immediately clear how that could be solved. We could pass targetSlotId
and targetDeckId
to <ModuleLabel>
too, and have <ModuleLabel>
duplicate <Module>
's math for applying slot-specific transforms, I guess? Kind of a bummer.
In other contexts, I've been exploring extracting the positioning transform logic into separate components. If we did that here, we could have something like:
<AlignModuleToSlot deckDef=... moduleDef=... slotId=...>
<Module moduleDef=... /* no slotId or deckId needed */ />
<ModuleLabel ... /* no slotId or deckId needed */ />
</AlignModuleToSlot>
But that was a bit much for me to attempt right here and 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.
Looks good, one comment to consider.
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.
Perfect, thanks
Overview
Exactly the same thing as #18871 / EXEC-1645, just in different places.
Test Plan and Hands on Testing
Checked the protocol details page to make sure its deck map has the Thermocycler positioned correctly now.
Audited all uses of
<Module>
to see if there are any other places I missed. Found one in protocol-designer, see comments.Review requests
See comments.
Risk assessment
Medium. Fixing the positioning of
<Module>
means it's possible that things that were previously aligned to the incorrect positioning of<Module>
will now be misaligned and look wrong.