[Fizz] Push a stalled use() to the ownerStack/debugTask#35226
Merged
eps1lon merged 11 commits intofacebook:mainfrom Jan 19, 2026
Merged
[Fizz] Push a stalled use() to the ownerStack/debugTask#35226eps1lon merged 11 commits intofacebook:mainfrom
eps1lon merged 11 commits intofacebook:mainfrom
Conversation
b2a0edf to
7c6ae2e
Compare
c364caf to
b617d13
Compare
22689b0 to
3c7b53f
Compare
…chance to process the ping
would be too disruptive
3c7b53f to
cbfb89e
Compare
gnoff
reviewed
Jan 13, 2026
Comment on lines
2814
to
2821
| if ( | ||
| request.status === ABORTING && | ||
| // If we already started rendering the Lazy Componentn in an aborting state | ||
| // and reach this point, the lazy was already resolved. | ||
| // We don't bail here again since this is most likely a discarded rerender | ||
| // to get the stack where we suspended in dev. | ||
| (!__DEV__ || !previouslyAbortingDEV) | ||
| ) { |
Collaborator
There was a problem hiding this comment.
I think we should be more explicit about when we are in a stalled retry render rather than inferring too much. I wonder if multiple aborts could lead to this getting through here in dev when it wouldn't otherwise. You could make a new dev only status for the task that is checked instead
6c79426 to
27f2043
Compare
gnoff
approved these changes
Jan 16, 2026
lubieowoce
added a commit
to lubieowoce/react
that referenced
this pull request
Jan 19, 2026
github-actions bot
pushed a commit
to code/lib-react
that referenced
this pull request
Jan 22, 2026
DiffTrain build for [41b3e9a](facebook@41b3e9a)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Same as #33634 but for
useand promise-as-a-child.An alternative to re-rendering would've been to eagerly collect
use()calls but we knowError()is slow in v8.The danger with lazily collecting
use()is that the Thenable may be resolved when we abort.In those cases we remove instrumentation on the last thenable to ensure we suspend again. To ensure Thenable subclasses can't observe the corrupted state, we noop
.then.The shown stack relies on sourcemaps with
ignoreList. Otherwise it'll point into React internals. From the dispatcher we wouldn't know how many stacks we have to cut without a circular dependency to theReact.usefunction.