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

Bug 1955737: Fix error modal text for cert/CORS errors #1202

Merged
merged 2 commits into from May 11, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
46 changes: 31 additions & 15 deletions src/app/common/components/ErrorModal.tsx
Expand Up @@ -26,7 +26,7 @@ const ErrorModal: React.FunctionComponent<IProps> = (props) => {
<React.Fragment>
<Title headingLevel={'h1'} size={BaseSizes['2xl']}>
<ErrorCircleOIcon className={styles.errorIconStyles} />
{`Error while fetching ${errorModalObj?.name || 'data'}`}
{`Error`}
</Title>
</React.Fragment>
);
Expand All @@ -39,7 +39,7 @@ const ErrorModal: React.FunctionComponent<IProps> = (props) => {
onClose={() => {
dispatch(errorModalClear());
}}
title={`Error while fetching ${errorModalObj.name || 'data'}`}
title={`Error'}`}
>
<Grid hasGutter>
<form>
Expand All @@ -57,21 +57,37 @@ const ErrorModal: React.FunctionComponent<IProps> = (props) => {
<>
<br />
<div>
A certificate error has occurred, likely caused by using self-signed CA certificates
in one of the clusters. Navigate to the following URL and accept the certificate:
A network error has occurred and we are unable to fetch one or more resources. We
are unable to determine the precise cause due to browser obfuscation, but based on
the content of the error it is likely one of two root issues:
Copy link

@apinnick apinnick May 11, 2021

Choose a reason for hiding this comment

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

I am not sure the use will understand "browser obfuscation" or whether that information would be helpful. You might want to describe possible courses of action without explaining why the cause of the error is unknown.

Suggestion:

"A network error has occurred. The likely cause of the error is one of the following issues:"

<br />
<br />
<a target="_blank" href={certError.failedUrl}>
{certError.failedUrl}
</a>
<br />
<br />
<div />
If an "Unauthorized" message appears after you have accepted the certificate,
navigate to the MTC console and refresh the page.
<div />
To fix this issue permanently, add the certificate to your web browser's trust
store.
<ul>
<li>
* Your cluster API and/or its services are using self-signed certificates and
Copy link

@apinnick apinnick May 11, 2021

Choose a reason for hiding this comment

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

Suggestion:

"The cluster is using self-signed certificates and you have not installed the certificate authority so that it is trusted. To bypass the certificate check, navigate to the following URL to accept the certificate:"

you have not installed the CA as trusted. You can grant an exception within your
browser by visiting the following link and accepting the certificate:
<br />
<br />
<a target="_blank" href={certError.failedUrl}>
{certError.failedUrl}
</a>
<br />
<br />
NOTE: It is recommended if using a self-signed certificate to install the
trusted CA in your browser’s supported store prior to using the Migration
Toolkit.
Copy link

@apinnick apinnick May 11, 2021

Choose a reason for hiding this comment

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

Suggested text:

"The best practice is to install the certificate authority in the browser's trust store."

</li>
<br />
<br />
<li>
* If you are sure that you have already accepted the requisite CAs, it could be
a Cross Origin Resource Sharing rejection. This is something that is configured
in the cluster’s API server settings by the MTC operator and can take up to 10
minutes to propagate across all related services. Please wait and check back in
at a later point in time.

Choose a reason for hiding this comment

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

Suggested text:

"Cross-origin resource sharing has not yet been configured. This process can take up to 10 minutes. Wait for the process to complete and then refresh your browser." (or "log in" or whatever is required)

Copy link
Contributor

Choose a reason for hiding this comment

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

@eriknelson @ibolton336 , rather than "up to 10 minutes", consider:

"This process can take at least 10 minutes."

Because we know it is designed to eventually complete and we have no control over how long that will take, does it make more sense to highlight a [typical] lower-limit (at least 10 min) while leaving the upper-limit unbound?

Copy link
Contributor

Choose a reason for hiding this comment

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

+1 it should be phrased the way @rayfordj described

</li>
</ul>
</div>
</>
)}
Expand Down