Conversation
…e cloned offsets stale
… legacy labware offsets
This reverts commit 0959769.
…about confirming offsets
…lizing the sorting logic
…ource if there's no conflict
…nd text doesn't overflow
sfoster1
approved these changes
Mar 21, 2025
Member
sfoster1
left a comment
There was a problem hiding this comment.
Love the implementation but can't we get the database ids of offsets from run record?
Contributor
Author
Yea we certainly can! EDIT: Woops, chatting with @SyntaxColoring , it seems like we can't. These are different ids. |
1 task
SyntaxColoring
added a commit
that referenced
this pull request
Mar 21, 2025
…17832) ## Overview The client-side half of EXEC-1342. ## Test Plan and Hands on Testing * [x] I guess at this point we can turn on the feature flag and try this out by entering LPC on one client and changing offsets on another? * Tested with a merge of this PR, #17853, #17817, and #17850. ## Changelog The client was polling `POST /labwareOffsets/searches`. This switches it to only happen when the client receives a notification from the server that offsets have changed, with a polling fallback. I'm entirely cargo-culting the patterns from the existing `useNotify___()` hooks. ## Risk assessment Medium. I don't think we have a good way to integration-test this kind of thing, so there are risks of things like missed updates, or inadvertent polling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes EXEC-1297, EXEC-1307, and EXEC-1306.
Partially closes EXEC-1354
Overview
This PR wires up the redesigned LPC flows to the app, both the desktop and ODD, removing the FF. There may or may not be several bug fixes included given time constraints. Given the size of this PR (sorry), I think it's best to view it commit by commit. Explanations provided for each commit. See Review Requests.
Screen.Recording.2025-03-21.at.1.12.02.PM.mov
Screen.Recording.2025-03-21.at.1.18.56.PM.mov
3e85337 - don't force users to LPC if they have all LS offsets already. I start the work here, and this is fixed when I QA'd it in later commits.
06324f6 - Ignore this commit. The implementation is bad, and I greatly simplify this later. I do make it worse first, though in some follow up commits.
03707c7 - Add selectors that are required for some run setup copy/behavior. These are expanded and fixed in later commits.
0b2dd17 - Quick type fix.
7267cce - Begins adding the scaffolding for applying offsets. I decide to include some fixes for 06324f6 here too for some reason, but it's still broken at this point.
5eb830e - Ignore, after clarifying with Design, we disable the "LPC" button entirely if we don't need to LPC.
7288573 - More selectors for run setup.
04ef356 - If a user decides they want to use the cloned run offsets instead of the database offsets, inject those into the store.
ce9d8ad - Make the LabwareOffsetsTable a shared app component. Just the ODD here, desktop later.
16d227c - Implements the database offsets in quick transfer. No more run scraping.
b83257d - The big one. Removes the feature flag and ensures we only scrape offsets for the OT-2.
a0efcac - test fixing/linting
d002c6b - Greatly improve the component structure of the labware offsets conflict modal, and fixes some ODD copy issues in the modal.
2427475 - Refactor QT a bit. We don't actually need to inject offsets at all, since the user has to confirm offsets, anyway.
7d198f6 - Correct some of the selector counting logic utilized by copy/render behavior.
d37bd91 - Fixes the OT-2 not launching LPC and run setup not popping the setup confirmation modal for the OT-2 if offsets weren't confirmed.
50adb3e - Automatically apply offsets if there's no LPC-able labware.
e7c9fbe - There isn't any Figma-specced loading state in the Designs to handle all the network requests we're doing, but after talking to Design, we'll just show the skeleton on run setup for the ODD until those requests have settled.
6fc3ed7 - Ok, now the offsets timestamp logic is functional and easier to follow. It still gets refined later.
bd73279 - We only want to show one entry for a labwareUri, locationSequence combo, not as many as there are labware.
c372509 - This isn't specced in Figma, but the historical run log needed updating. We now show offsets that have 0,0,0 vector values too, since setting those offsets is a deliberate choice.
caf67dd - Clean up the dispatch logic for the deck config.
0f5ed78 - Woops, looking at a historical run could pop the offsets conflict modal.
126f53a - Fixes some odd bugs by making the code a bit DRYer.
742044f - Added copy support for passing in modules to the old-style of display text.
b243c2c - Fixes a logic issue.
04152e6 - Dispatching the conflict timestamp can update the store's conflict resolution (potentially) given the outcome.
592637d - When users migrate to 8.4, we don't want to make them LPC for default offsets if they have all the location offsets already.
b52ba45 - See ODD video. The launch LPC button shouldn't clip the offsets table, and the vector labels should never overflow.
Test Plan and Hands on Testing
Ran a bunch of different protocols, covering the following test cases:
I do need to add extensive testing, and it's on my TODO list after a few higher priority tickets, see EXEC-1352.
Changelog
Review requests
Risk assessment
11/10. Everyone gets to enjoy the new LPC now!