fix(app): fix blocking LPC on the flex when the protocol does not involve a tip pick up #18214
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 RQA-4159
Overview
useLPCDisabledReason
is responsible for blocking LPC due to LPC-external reasons. Some of these reasons are OT-2/Flex specific, and depend on arobotName
, which is an optional prop. This optional prop was not passed to the hook for the ODD LPC entry point, which defaults the hook to treating Flexes as OT-2s on the ODD.To fix (see d25ee1b), we just pass the
robotName
prop. While I did consider marking the prop as non-optional, which seems like the correct thing to do, the blast radius seems a little too great given that we render quite different copy depending on whether this name is supplied or not, and I don't think where we are in the release cycle lends itself to making a larger change.Upon further investigation (30481e9), it appears that the desktop app was missing some calibration/module specific blocking reasons. The original prop names lend themselves to thinking they only apply to the ODD, but I don't see why this is the case after reviewing how the props are used. My guess is there used to be some existing discrepancies in how desktop vs. ODD setup used to occur that are no longer relevant. I think keeping the two apps consistent in their disabled reasons warrants this change, but I'm open to discussion on this point.
42c9609 is just a simple refactor: relocate a util since it's not ODD specific anymore.
Current Behavior
Screen.Recording.2025-04-30.at.2.31.08.PM.mov
Fixed Behavior
Screen.Recording.2025-04-30.at.2.30.31.PM.mov
Test Plan and Hands on Testing
useLPCDisabledReason
, ensuring that correct props are passed in all places.Changelog
Review requests
Risk assessment
lowish