{{ message }}
Wait for Server Action HMR before asserting state - #98267
Draft
devjiwonchoi wants to merge 1 commit into
Draft
Conversation
Wait for the HMR callback before invoking the updated action, then retry only the state assertion to avoid overlapping requests.
Contributor
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.

Why?
The Server Action HMR test can invoke the action before Webpack finishes applying the update. Because the retry also repeats the click, several action requests can overlap with Fast Refresh. A full reload then resets client state and produces 1000 instead of preserving state.
How?
Register the existing HMR completion callback before patching the action and wait for it to finish. Invoke the updated action once, then retry only the exact 1001 state assertion. This keeps the state-preservation coverage and changes no runtime code.