Skip to content
Discussion options

You must be logged in to vote

For anyone else pulling their hair out over this, it turns out this is not an issue with your code,revalidatePath, or the Next.js Cache configuration.

The Root Cause: This is a binary-level race condition in the React 19 Fiber Reconciler (specifically regarding resolveLazy and useId replay tracking). When a Server Action resolves very quickly, the reconciler marks the boundary as suspended but fails to "replay" the update to the DOM, leaving the UI stuck in a pending state even though the data has arrived on the client.

The issue was introduced in Next.js commit that upgraded React from eaee5308-20250728 to 9be531cd-20250729. Which was fixed in a React Patch on Jan 17, 2026.

#86055
react/…

Replies: 4 comments 23 replies

Comment options

You must be logged in to vote
15 replies
@tomarrohitt
Comment options

@pouriya73
Comment options

@tomarrohitt
Comment options

@tomarrohitt
Comment options

@gaearon
Comment options

gaearon Jul 3, 2026
Collaborator

Comment options

You must be logged in to vote
3 replies
@tomarrohitt
Comment options

@Nielsen642
Comment options

@tomarrohitt
Comment options

Comment options

You must be logged in to vote
5 replies
@andrewgreenh
Comment options

@tomarrohitt
Comment options

@Hanskrogh
Comment options

@tomarrohitt
Comment options

@gaearon
Comment options

gaearon Jul 3, 2026
Collaborator

Answer selected by tomarrohitt
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Help
Labels
None yet
7 participants