10
10
import * as React from 'react' ;
11
11
import { Component , Suspense } from 'react' ;
12
12
import Store from 'react-devtools-shared/src/devtools/store' ;
13
+ import UnsupportedBridgeOperationView from './UnsupportedBridgeOperationView' ;
13
14
import ErrorView from './ErrorView' ;
14
15
import SearchingGitHubIssues from './SearchingGitHubIssues' ;
15
16
import SuspendingErrorView from './SuspendingErrorView' ;
16
17
import TimeoutView from './TimeoutView' ;
18
+ import UnsupportedBridgeOperationError from 'react-devtools-shared/src/UnsupportedBridgeOperationError' ;
17
19
import TimeoutError from 'react-devtools-shared/src/TimeoutError' ;
18
20
import { logEvent } from 'react-devtools-shared/src/Logger' ;
19
21
@@ -30,6 +32,7 @@ type State = {|
30
32
componentStack : string | null ,
31
33
errorMessage : string | null ,
32
34
hasError : boolean ,
35
+ isUnsupportedBridgeOperationError : boolean ,
33
36
isTimeout : boolean ,
34
37
| } ;
35
38
@@ -39,6 +42,7 @@ const InitialState: State = {
39
42
componentStack : null ,
40
43
errorMessage : null ,
41
44
hasError : false ,
45
+ isUnsupportedBridgeOperationError : false ,
42
46
isTimeout : false ,
43
47
} ;
44
48
@@ -54,6 +58,8 @@ export default class ErrorBoundary extends Component<Props, State> {
54
58
: null ;
55
59
56
60
const isTimeout = error instanceof TimeoutError ;
61
+ const isUnsupportedBridgeOperationError =
62
+ error instanceof UnsupportedBridgeOperationError ;
57
63
58
64
const callStack =
59
65
typeof error === 'object' &&
@@ -69,6 +75,7 @@ export default class ErrorBoundary extends Component<Props, State> {
69
75
callStack ,
70
76
errorMessage,
71
77
hasError : true ,
78
+ isUnsupportedBridgeOperationError ,
72
79
isTimeout,
73
80
} ;
74
81
}
@@ -102,6 +109,7 @@ export default class ErrorBoundary extends Component<Props, State> {
102
109
componentStack,
103
110
errorMessage,
104
111
hasError,
112
+ isUnsupportedBridgeOperationError,
105
113
isTimeout,
106
114
} = this . state ;
107
115
@@ -117,6 +125,14 @@ export default class ErrorBoundary extends Component<Props, State> {
117
125
errorMessage = { errorMessage }
118
126
/>
119
127
) ;
128
+ } else if ( isUnsupportedBridgeOperationError ) {
129
+ return (
130
+ < UnsupportedBridgeOperationView
131
+ callStack = { callStack }
132
+ componentStack = { componentStack }
133
+ errorMessage = { errorMessage }
134
+ />
135
+ ) ;
120
136
} else {
121
137
return (
122
138
< ErrorView
@@ -125,7 +141,10 @@ export default class ErrorBoundary extends Component<Props, State> {
125
141
dismissError = {
126
142
canDismissProp || canDismissState ? this . _dismissError : null
127
143
}
128
- errorMessage = { errorMessage } >
144
+ errorMessage = { errorMessage }
145
+ isUnsupportedBridgeOperationError = {
146
+ isUnsupportedBridgeOperationError
147
+ } >
129
148
< Suspense fallback = { < SearchingGitHubIssues /> } >
130
149
< SuspendingErrorView
131
150
callStack = { callStack }
0 commit comments