Skip to content

Commit f9e2396

Browse files
committed
Start prerendering Suspense retries immediately (#30934)
When a component suspends and is replaced by a fallback, we should start prerendering the fallback immediately, even before any new data is received. During the retry, we can enter prerender mode directly if we're sure that no new data was received since we last attempted to render the boundary. To do this, when completing the fallback, we leave behind a pending retry lane on the Suspense boundary. Previously we only did this once a promise resolved, but by assigning a lane during the complete phase, we will know that there's speculative work to be done. Then, upon committing the fallback, we mark the retry lane as suspended — but only if nothing was pinged or updated in the meantime. That allows us to immediately enter prerender mode (i.e. render without skipping any siblings) when performing the retry. DiffTrain build for commit d6cb4e7.
1 parent 9b5d5c3 commit f9e2396

File tree

14 files changed

+1547
-940
lines changed

14 files changed

+1547
-940
lines changed

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.0.0-native-fb-a5a7f106-20240910
1+
19.0.0-native-fb-d6cb4e77-20240911

0 commit comments

Comments
 (0)