Commit 6e12e1a
committed
[Fizz] Avoid hanging when suspending after aborting while rendering (#34192)
This fixes an edge case where you abort the render while rendering a
component that ends up Suspending. It technically only applied if you
were deep enough to be inside `renderNode` and was not susceptible to
hanging if the abort + suspending component was being tried inside
retryRenderTask/retryReplaytask.
The fix is to preempt the thenable checks in renderNode and check if the
request is aborting and if so just bubble up to the task handler.
The reason this hung before is a new task would get scheduled after we
had aborted every other task (minus the currently rendering one). This
led to a situation where the task count would not hit zero.
DiffTrain build for [9baecbf](9baecbf)1 parent 1a332a8 commit 6e12e1a
File tree
36 files changed
+98
-98
lines changed- compiled/facebook-www
36 files changed
+98
-98
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1409 | 1409 | | |
1410 | 1410 | | |
1411 | 1411 | | |
1412 | | - | |
| 1412 | + | |
1413 | 1413 | | |
1414 | 1414 | | |
1415 | 1415 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1409 | 1409 | | |
1410 | 1410 | | |
1411 | 1411 | | |
1412 | | - | |
| 1412 | + | |
1413 | 1413 | | |
1414 | 1414 | | |
1415 | 1415 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
600 | 600 | | |
601 | 601 | | |
602 | 602 | | |
603 | | - | |
| 603 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
600 | 600 | | |
601 | 601 | | |
602 | 602 | | |
603 | | - | |
| 603 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
604 | 604 | | |
605 | 605 | | |
606 | 606 | | |
607 | | - | |
| 607 | + | |
608 | 608 | | |
609 | 609 | | |
610 | 610 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
604 | 604 | | |
605 | 605 | | |
606 | 606 | | |
607 | | - | |
| 607 | + | |
608 | 608 | | |
609 | 609 | | |
610 | 610 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19588 | 19588 | | |
19589 | 19589 | | |
19590 | 19590 | | |
19591 | | - | |
| 19591 | + | |
19592 | 19592 | | |
19593 | 19593 | | |
19594 | | - | |
| 19594 | + | |
19595 | 19595 | | |
19596 | 19596 | | |
19597 | 19597 | | |
| |||
19625 | 19625 | | |
19626 | 19626 | | |
19627 | 19627 | | |
19628 | | - | |
| 19628 | + | |
19629 | 19629 | | |
19630 | 19630 | | |
19631 | 19631 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19359 | 19359 | | |
19360 | 19360 | | |
19361 | 19361 | | |
19362 | | - | |
| 19362 | + | |
19363 | 19363 | | |
19364 | 19364 | | |
19365 | | - | |
| 19365 | + | |
19366 | 19366 | | |
19367 | 19367 | | |
19368 | 19368 | | |
| |||
19396 | 19396 | | |
19397 | 19397 | | |
19398 | 19398 | | |
19399 | | - | |
| 19399 | + | |
19400 | 19400 | | |
19401 | 19401 | | |
19402 | 19402 | | |
| |||
0 commit comments