Commit 2de2c20
committed
Set the current fiber to the source of the error during error reporting (#29044)
This lets us expose the component stack to the error reporting that
happens here as `console.error` patching. Now if you just call
`console.error` in the error handlers it'll get the component stack
added to the end by React DevTools.
However, unfortunately this happens a little too late so the Fiber will
be disconnected with its `.return` pointer set to null already. So it'll
be too late to extract a parent component stack from but you can at
least get the stack from source to error boundary. To work around this I
manually add the parent component stack in our default handlers when
owner stacks are off. We could potentially fix this but you can also
just include it yourself if you're calling `console.error` and it's not
a problem for owner stacks.
This is not a problem for owner stacks because we'll still have those
and so for those just calling `console.error` just works. However, the
main feature is that by letting React add them, we can switch to using
native error stacks when available.
DiffTrain build for [2e540e2](2e540e2)1 parent 89d5de9 commit 2de2c20
File tree
12 files changed
+353
-75
lines changed- compiled/facebook-www
- __test_utils__
12 files changed
+353
-75
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
12491 | 12491 | | |
12492 | 12492 | | |
12493 | 12493 | | |
| 12494 | + | |
| 12495 | + | |
| 12496 | + | |
12494 | 12497 | | |
| 12498 | + | |
12495 | 12499 | | |
12496 | 12500 | | |
12497 | 12501 | | |
| |||
12518 | 12522 | | |
12519 | 12523 | | |
12520 | 12524 | | |
| 12525 | + | |
| 12526 | + | |
| 12527 | + | |
12521 | 12528 | | |
| 12529 | + | |
12522 | 12530 | | |
12523 | 12531 | | |
12524 | 12532 | | |
| |||
12531 | 12539 | | |
12532 | 12540 | | |
12533 | 12541 | | |
| 12542 | + | |
| 12543 | + | |
| 12544 | + | |
12534 | 12545 | | |
| 12546 | + | |
12535 | 12547 | | |
12536 | 12548 | | |
12537 | 12549 | | |
| |||
24159 | 24171 | | |
24160 | 24172 | | |
24161 | 24173 | | |
| 24174 | + | |
24162 | 24175 | | |
| 24176 | + | |
24163 | 24177 | | |
24164 | 24178 | | |
24165 | 24179 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
12256 | 12256 | | |
12257 | 12257 | | |
12258 | 12258 | | |
| 12259 | + | |
| 12260 | + | |
| 12261 | + | |
12259 | 12262 | | |
| 12263 | + | |
12260 | 12264 | | |
12261 | 12265 | | |
12262 | 12266 | | |
| |||
12283 | 12287 | | |
12284 | 12288 | | |
12285 | 12289 | | |
| 12290 | + | |
| 12291 | + | |
| 12292 | + | |
12286 | 12293 | | |
| 12294 | + | |
12287 | 12295 | | |
12288 | 12296 | | |
12289 | 12297 | | |
| |||
12296 | 12304 | | |
12297 | 12305 | | |
12298 | 12306 | | |
| 12307 | + | |
| 12308 | + | |
| 12309 | + | |
12299 | 12310 | | |
| 12311 | + | |
12300 | 12312 | | |
12301 | 12313 | | |
12302 | 12314 | | |
| |||
23513 | 23525 | | |
23514 | 23526 | | |
23515 | 23527 | | |
| 23528 | + | |
23516 | 23529 | | |
| 23530 | + | |
23517 | 23531 | | |
23518 | 23532 | | |
23519 | 23533 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16244 | 16244 | | |
16245 | 16245 | | |
16246 | 16246 | | |
16247 | | - | |
16248 | | - | |
16249 | | - | |
| 16247 | + | |
| 16248 | + | |
| 16249 | + | |
| 16250 | + | |
| 16251 | + | |
| 16252 | + | |
| 16253 | + | |
| 16254 | + | |
| 16255 | + | |
| 16256 | + | |
| 16257 | + | |
| 16258 | + | |
16250 | 16259 | | |
16251 | 16260 | | |
16252 | | - | |
| 16261 | + | |
16253 | 16262 | | |
16254 | 16263 | | |
16255 | 16264 | | |
16256 | 16265 | | |
16257 | | - | |
16258 | | - | |
| 16266 | + | |
16259 | 16267 | | |
16260 | | - | |
16261 | 16268 | | |
16262 | | - | |
| 16269 | + | |
| 16270 | + | |
| 16271 | + | |
| 16272 | + | |
| 16273 | + | |
| 16274 | + | |
| 16275 | + | |
| 16276 | + | |
| 16277 | + | |
| 16278 | + | |
| 16279 | + | |
16263 | 16280 | | |
16264 | 16281 | | |
16265 | 16282 | | |
| |||
16331 | 16348 | | |
16332 | 16349 | | |
16333 | 16350 | | |
| 16351 | + | |
| 16352 | + | |
| 16353 | + | |
16334 | 16354 | | |
| 16355 | + | |
16335 | 16356 | | |
16336 | 16357 | | |
16337 | 16358 | | |
| |||
16358 | 16379 | | |
16359 | 16380 | | |
16360 | 16381 | | |
| 16382 | + | |
| 16383 | + | |
| 16384 | + | |
16361 | 16385 | | |
| 16386 | + | |
16362 | 16387 | | |
16363 | 16388 | | |
16364 | 16389 | | |
| |||
16371 | 16396 | | |
16372 | 16397 | | |
16373 | 16398 | | |
| 16399 | + | |
| 16400 | + | |
| 16401 | + | |
16374 | 16402 | | |
| 16403 | + | |
16375 | 16404 | | |
16376 | 16405 | | |
16377 | 16406 | | |
| |||
28862 | 28891 | | |
28863 | 28892 | | |
28864 | 28893 | | |
| 28894 | + | |
28865 | 28895 | | |
| 28896 | + | |
28866 | 28897 | | |
28867 | 28898 | | |
28868 | 28899 | | |
| |||
30852 | 30883 | | |
30853 | 30884 | | |
30854 | 30885 | | |
30855 | | - | |
| 30886 | + | |
30856 | 30887 | | |
30857 | 30888 | | |
30858 | 30889 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15961 | 15961 | | |
15962 | 15962 | | |
15963 | 15963 | | |
15964 | | - | |
15965 | | - | |
15966 | | - | |
| 15964 | + | |
| 15965 | + | |
| 15966 | + | |
| 15967 | + | |
| 15968 | + | |
| 15969 | + | |
| 15970 | + | |
| 15971 | + | |
| 15972 | + | |
| 15973 | + | |
| 15974 | + | |
| 15975 | + | |
15967 | 15976 | | |
15968 | 15977 | | |
15969 | | - | |
| 15978 | + | |
15970 | 15979 | | |
15971 | 15980 | | |
15972 | 15981 | | |
15973 | 15982 | | |
15974 | | - | |
15975 | | - | |
| 15983 | + | |
15976 | 15984 | | |
15977 | | - | |
15978 | 15985 | | |
15979 | | - | |
| 15986 | + | |
| 15987 | + | |
| 15988 | + | |
| 15989 | + | |
| 15990 | + | |
| 15991 | + | |
| 15992 | + | |
| 15993 | + | |
| 15994 | + | |
| 15995 | + | |
| 15996 | + | |
15980 | 15997 | | |
15981 | 15998 | | |
15982 | 15999 | | |
| |||
16048 | 16065 | | |
16049 | 16066 | | |
16050 | 16067 | | |
| 16068 | + | |
| 16069 | + | |
| 16070 | + | |
16051 | 16071 | | |
| 16072 | + | |
16052 | 16073 | | |
16053 | 16074 | | |
16054 | 16075 | | |
| |||
16075 | 16096 | | |
16076 | 16097 | | |
16077 | 16098 | | |
| 16099 | + | |
| 16100 | + | |
| 16101 | + | |
16078 | 16102 | | |
| 16103 | + | |
16079 | 16104 | | |
16080 | 16105 | | |
16081 | 16106 | | |
| |||
16088 | 16113 | | |
16089 | 16114 | | |
16090 | 16115 | | |
| 16116 | + | |
| 16117 | + | |
| 16118 | + | |
16091 | 16119 | | |
| 16120 | + | |
16092 | 16121 | | |
16093 | 16122 | | |
16094 | 16123 | | |
| |||
28113 | 28142 | | |
28114 | 28143 | | |
28115 | 28144 | | |
| 28145 | + | |
28116 | 28146 | | |
| 28147 | + | |
28117 | 28148 | | |
28118 | 28149 | | |
28119 | 28150 | | |
| |||
30027 | 30058 | | |
30028 | 30059 | | |
30029 | 30060 | | |
30030 | | - | |
| 30061 | + | |
30031 | 30062 | | |
30032 | 30063 | | |
30033 | 30064 | | |
| |||
0 commit comments