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

fix(app): mag block with staging area location conflict, handle no configurable modules #15043

Merged
merged 31 commits into from
Apr 30, 2024

Conversation

b-cooper
Copy link
Contributor

@b-cooper b-cooper commented Apr 29, 2024

Overview

Add special-case affordances for the magnetic block with staging area slot fixture in the protocol
setup for run experience on the ODD and desktop. Show different modals depending on the presence of
matching but configured modules in the ChooseModuleToConfigure conflict resolution experience on ODD
and desktop

Closes PLAT-298, Closes PLAT-293, Closes PLAT-294
Closes RQA-2670

Review requests

  • Start protocol setup with a protocol that specs the mag block in a slot adjacent to a column 4 slot that is also used in the protocol. Confirm ODD and desktop setup items render properly and location conflict modal resolves as expected

  • Start protocol setup for a protocol that uses a module that is not currently configured or attached.

    • Confirm that ODD and desktop location conflict prompts to plug in and turn on module with new grey loading state and no button
  • Start protocol setup for a protocol that uses a module that is configured into a different location than the protocol expects.

    • Confirm the the ODD location conflict provides button to cancel run and exit to the Protocol List page
    • Confirm the desktop location conflict provides button to navigate back to the device detail page and repair deck config manually

Risk assessment

low

… fixture name

At the beginning of the module calibration flow, the user is asked to locate the module on the deck.
This integrated the deck configurator component directly into this location selction step of the
module calibration wizard. the selected location will now be saved directly to deck configuration.

Closes RQA-2603
…g protocol setup on ODD

Resolve location conflicts in the on device display's protocol setup flow by updating deck
configuration accordingly.

Closes PLAT-287
…nfigurable modules

Add special-case affordances for the magnetic block with staging area slot fixture in the protocol
setup for run experience on the ODD and desktop. Show different modals depending on the presence of
matching but configured modules in the ChooseModuleToConfigure conflict resolution experience on ODD
and desktop

Closes PLAT-298, Closes PLAT-293, Closes PLAT-294
@b-cooper b-cooper requested a review from a team as a code owner April 29, 2024 22:25
@b-cooper b-cooper requested review from smb2268, brenthagen and CaseyBatten and removed request for a team April 29, 2024 22:25
@@ -65,6 +68,9 @@ export type ProtocolHardware =
| ProtocolFixture

const DECK_CONFIG_REFETCH_INTERVAL = 5000
const USB_MODULE_ADDRESSABLE_AREAS = FLEX_MODULE_ADDRESSABLE_AREAS.filter(
Copy link
Contributor

Choose a reason for hiding this comment

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

can use FLEX_USB_MODULE_ADDRESSABLE_AREAS constant directly?

}
function NoUnconfiguredModules(props: NoUnconfiguredModulesProps): JSX.Element {
const { moduleDisplayName, displaySlotName, isOnDevice, robotName } = props
const configuredModuleMatches = ['feer']
Copy link
Contributor

Choose a reason for hiding this comment

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

is this WIP?

slot: displaySlotName,
})}
</StyledText>
{loadingBlock}
Copy link
Contributor

Choose a reason for hiding this comment

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

is no exit button on this version intentional?

Screen Shot 2024-04-30 at 3 35 56 PM

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's correct, the exit button in the top left is the only action the user can take in this case (other than plugging in a module of the specified model)

Comment on lines +243 to +247
).filter(
loadedModule =>
// filter out magnetic block which is already handled by the required fixture details
getModuleType(loadedModule.params.model) !== MAGNETIC_BLOCK_TYPE
)
Copy link
Contributor

Choose a reason for hiding this comment

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

need to filter out the other modules also, they are rendering twice in the RobotConfigurationDetails list

Screen Shot 2024-04-30 at 3 57 49 PM

Copy link
Contributor

@brenthagen brenthagen Apr 30, 2024

Choose a reason for hiding this comment

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

or maybe filter all modules out of requiredFixtureDetails instead

Comment on lines 102 to 107
if (
protocolHardware.cutoutFixtureId ===
STAGING_AREA_SLOT_WITH_MAGNETIC_BLOCK_V1_FIXTURE
) {
displayFixtureId = STAGING_AREA_RIGHT_SLOT_FIXTURE
}
Copy link
Contributor

Choose a reason for hiding this comment

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

discussed IRL, don't want to assign STAGING_AREA_RIGHT_SLOT_FIXTURE here

Copy link
Contributor

@brenthagen brenthagen left a comment

Choose a reason for hiding this comment

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

LGTM !

@b-cooper b-cooper merged commit 2e66d54 into edge Apr 30, 2024
38 checks passed
@b-cooper b-cooper deleted the app_resolve-module-fixture-conflict-on-odd branch April 30, 2024 21:43
Carlos-fernandez pushed a commit that referenced this pull request May 20, 2024
…nfigurable modules (#15043)

Add special-case affordances for the magnetic block with staging area
slot fixture in the protocol
setup for run experience on the ODD and desktop. Show different modals
depending on the presence of
matching but configured modules in the ChooseModuleToConfigure conflict
resolution experience on ODD
and desktop

Closes [PLAT-298](https://opentrons.atlassian.net/browse/PLAT-298),
Closes [PLAT-293](https://opentrons.atlassian.net/browse/PLAT-293),
Closes [PLAT-294](https://opentrons.atlassian.net/browse/PLAT-294),
Closes [RQA-2670](https://opentrons.atlassian.net/browse/RQA-2670)
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.

2 participants