Skip to content
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

feat(app): Support failed calibrations in the calibration wizard #12092

Merged
merged 9 commits into from
Feb 4, 2023

Conversation

ewagoner
Copy link
Contributor

@ewagoner ewagoner commented Feb 2, 2023

Overview

This PR handles how the calibration wizard responds to various permutations of failed calibration health checks with the deck, pipette tip length, and pipette offset.

It closes RAUT-97, RAUT-108, and RAUT-112.

Test Plan

  • Created taskList fixtures for all combinations of failures
  • Wrote tests ensuring that real failures produce test plans that match the fixtures
  • Wrote component tests to ensure correct warning UI was in place
  • Manually went through calibration flow and intentionally introduced calibration failures to trigger the changes

Changelog

  • Added test fixtures for all combinations of bad calibrations and tests that use them
  • Add alert-circle icons to title and footer of bad tasklist items
  • Add 'Calibration recommended' footers to markedBad tasklist fixtures
  • Add 'Calibration recommended' footers to tasks marked bad and add tests for same
  • Add optional markedBad flag to deckCalibrationData

Review requests

The three tickets spell out the following specific combinations of failures:

  • TLC and POC is found to be bad after a calibration health check
  • all calibrations are recommended except TLC
  • all calibrations need to be re-done after a failed calibration health check

Risk assessment

The purpose of the work is to easily guide the user through recalibrating just the items that have failed their health checks. If I haven't properly pushed those failures through the task list component and thus in to the wizard, the user will not know about those failures and will have to work harder than they should to correct them.

I am not pushing failure flags to other parts of the system, so the rest of the code should be rather isolated from the changes I have made here.

@codecov
Copy link

codecov bot commented Feb 2, 2023

Codecov Report

Merging #12092 (761bf88) into edge (27a1e2a) will increase coverage by 0.07%.
The diff coverage is 93.33%.

Impacted file tree graph

@@            Coverage Diff             @@
##             edge   #12092      +/-   ##
==========================================
+ Coverage   73.97%   74.04%   +0.07%     
==========================================
  Files        2198     2198              
  Lines       60912    61003      +91     
  Branches     6477     6512      +35     
==========================================
+ Hits        45058    45169     +111     
+ Misses      14317    14293      -24     
- Partials     1537     1541       +4     
Flag Coverage Δ
app 72.72% <93.33%> (+0.30%) ⬆️

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

Impacted Files Coverage Δ
.../organisms/Devices/hooks/useCalibrationTaskList.ts 94.49% <90.90%> (-0.70%) ⬇️
.../organisms/Devices/hooks/useDeckCalibrationData.ts 90.90% <100.00%> (+0.90%) ⬆️
app/src/organisms/TaskList/index.tsx 90.62% <100.00%> (+37.39%) ⬆️
...c/pages/OnDeviceDisplay/RobotSettingsDashboard.tsx 64.28% <0.00%> (-10.72%) ⬇️
...isms/Devices/HistoricalProtocolRunOverflowMenu.tsx 90.16% <0.00%> (+5.16%) ⬆️
...ngsCalibration/CalibrationDetails/OverflowMenu.tsx 84.12% <0.00%> (+8.41%) ⬆️
app/src/organisms/CalibrationTaskList/index.tsx 91.66% <0.00%> (+16.66%) ⬆️

@ewagoner
Copy link
Contributor Author

ewagoner commented Feb 2, 2023

Images for RAUT-108

Screenshot 2023-02-02 at 2 04 25 PM
Screenshot 2023-02-02 at 2 05 08 PM
Screenshot 2023-02-02 at 2 05 40 PM
Screenshot 2023-02-02 at 2 06 00 PM
Screenshot 2023-02-02 at 2 06 25 PM

@ewagoner
Copy link
Contributor Author

ewagoner commented Feb 2, 2023

Images for RAUT-97

Screenshot 2023-02-02 at 3 26 32 PM
Screenshot 2023-02-02 at 3 26 53 PM
Screenshot 2023-02-02 at 3 27 12 PM

@ewagoner
Copy link
Contributor Author

ewagoner commented Feb 2, 2023

Images for RAUT-112

Screenshot 2023-02-02 at 3 28 01 PM
Screenshot 2023-02-02 at 3 28 19 PM
Screenshot 2023-02-02 at 12 47 05 PM

@ewagoner ewagoner requested a review from a team February 2, 2023 20:51
@ewagoner ewagoner marked this pull request as ready for review February 2, 2023 20:51
@ewagoner ewagoner requested a review from a team as a code owner February 2, 2023 20:51
@ewagoner ewagoner requested review from TamarZanzouri and b-cooper and removed request for a team February 2, 2023 20:51
Copy link
Contributor

@jgbowser jgbowser left a comment

Choose a reason for hiding this comment

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

This LGTM, I'd wait for a +1 from @b-cooper or another set of eyes though

@b-cooper
Copy link
Contributor

b-cooper commented Feb 3, 2023

It looks like the screenshots here include more warning icons than the designs. Specifically the icons that appear in your screenshots to the left of the sub task headers. The designs don't include those as seen below:
Screen Shot 2023-02-03 at 2 12 15 PM

In addition, your screenshots include a "Calibration Recommended" with icon under the body of the "Deck Calibration" task. In the designs, those are only present on subtasks.

I've circled the two callouts in your screenshots below:

subTaskExtraIcons
deckCalExtraIcon

Other than the extra visuals the logic looks sound here!

@ewagoner
Copy link
Contributor Author

ewagoner commented Feb 3, 2023

D'oh! You're absolutely right. I'll fix both right quick.

@ewagoner
Copy link
Contributor Author

ewagoner commented Feb 3, 2023

Corrections:

Screenshot 2023-02-03 at 4 10 57 PM
Screenshot 2023-02-03 at 4 10 19 PM

@jgbowser jgbowser self-requested a review February 3, 2023 22:53
Copy link
Contributor

@jgbowser jgbowser left a comment

Choose a reason for hiding this comment

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

whoops, yeah good catch Brian. Now it really LGTM

@ewagoner ewagoner merged commit 23c79aa into edge Feb 4, 2023
@ewagoner ewagoner deleted the RAUT-108-add-recalibration-to-wizard branch February 4, 2023 00:36
y3rsh added a commit that referenced this pull request Feb 7, 2023
* edge: (116 commits)
  feat(system-server): add sqlite database and barebones HTTP server (#12085)
  feat(ot3): add enableOT3FirmwareUpdates feature flag to gate firmware update functionality. (#12102)
  feat(app): add bare bones hardware section to protocol details (#12099)
  feat(app): Support failed calibrations in the calibration wizard (#12092)
  refactor(docs): clean up Versioning page (#12084)
  refactor(robot-server): Make run and protocol limits configurable at launch (#12094)
  feat(app): add robotServerVersion to display the current robot software version (#12096)
  fix(hardware): do not track tip motor positions (#12093)
  feat(engine): allow calibrateGripper command to save calibration data (#12046)
  feat(app, api-client, react-api-client): delete POC TLC calibration data from overflow menu (#12075)
  fix(api): actually update OT3 instrument calibration offset in cache instrument (#12089)
  fix(robot-server): correct the data returned from instruments endpoint (#12067)
  feat(api): add thermocycler plate lift to hardware controller (#12068)
  fix(app): reference moduleId from result not params (#12077)
  feat(app): create ODD protocol setup page (#12071)
  refactor(api): Deprecate presses and increment args when using PAPI pick_up_tip (#12079)
  fix(ot3): handle multiple responses for a tip action request (#12083)
  refactor(api): touch tip implementation for PAPIv2 engine core (#12053)
  refactor(app): Remove ssid parameter from OnDeviceRouteParams (#11930)
  fix(api): fix broken test in the api hardware controller (#12080)
  ...
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.

None yet

3 participants