Next.js 16.2 quirk: server action promise resolves before refreshed page data renders

SeanOliver · x · 2026-10-23

Developer SeanOliver documented a Next.js 16.2 rendering-timing behavior: a server action's promise resolves before its refreshed page data renders, so state set after await action() renders first with the old props — in his address book app Sealed, a saved row flashed the old city before showing the new one. An accompanying diagram breaks down the full sequence: action response arrives → Next resolves the promise → your setState (urgent update) → React commits with the old rows prop (City: London) → Next applies the revalidated router state in a transition → commits again with the new rows prop (City: Paris). The root cause is the commit-order difference between urgent updates and transitions.

Related event: Next.js 16.2 Timing Bug Causes Stale Value Flash; Fix Published(2 posts)→

Original post →

More from coding & agent

coding & agent channel →