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 1986803: Add error boundary around each horizontal tab route (used in DetailsPage) #9659
Conversation
@jerolimov: This pull request references Bugzilla bug 1986803, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Bugzilla (gamore@redhat.com), skipping review request. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@jerolimov: This pull request references Bugzilla bug 1986803, which is valid. 3 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Bugzilla (gamore@redhat.com), skipping review request. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
||
import { K8sResourceKind, K8sResourceCommon } from '../../module/k8s'; | ||
import { referenceForModel, referenceFor } from '../../module/k8s/k8s'; | ||
import { ErrorBoundaryFallback } from '../error'; | ||
import { EmptyBox, LoadingBox, StatusBox } from './status-box'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Arranging as per the lint rules for imports, this import should be at the last i think
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Rearrange is now done by eslint.
import * as React from 'react'; | ||
import * as classNames from 'classnames'; | ||
import { History, Location } from 'history'; | ||
import * as _ from 'lodash-es'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I did not notice before. Lint does not seem to throw an error in this package, but lodash-es
is a restricted import since webpack already uses lodash-es
. can we change the import to lodash
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed in slack, the public package uses 213x lodash-es and only 14 times lodash. So I think we should not fix / change this individual import at the moment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay. we can change this later if we sanitize according to lint later.
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jerolimov, nemesis09 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/retest |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
@jerolimov: All pull requests linked via external trackers have merged: Bugzilla bug 1986803 has been moved to the MODIFIED state. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Fixes:
https://issues.redhat.com/browse/ODC-6204
https://bugzilla.redhat.com/show_bug.cgi?id=1986803
Analysis / Root cause:
When one of the tabs on a DetailsPage crashes, the complete console content area shows an error page. Switching between the tabs is not possible anymore.
Solution Description:
Wrap each route component with an
ErrorBoundary
.Screen shots / Gifs for design review:
Without error boundary (before):
With error boundary (with this PR):
Unit test coverage report:
Unchanged
Test setup:
Produce a crash on a single tab of the DetailsPage component. For example on the environment page of a BuildConfig. This specific case is fixed in #9653. Otherwise you need to find another crash..
Browser conformance: