HP9006 (body-unavailable) means hydration-proof could not read the body of
the document response, so the checks that start from the server HTML were
skipped on that page. The page was still loaded and hydrated. Look at the
reason in the message, and run the page again.
| Code | HP9006 |
|---|---|
| Name | body-unavailable |
| Default severity | Warning |
| Group | Test run problems |
| What it means | The document body was not available, so server-side stages could not be compared. |
What the HP9006 body unavailable finding means
hydration-proof reads the server HTML from the same navigation the browser makes, never from a second request. When the browser cannot hand over that body, the finding gives its reason after the colon:
The document body could not be read: Reading the document body timed out after 15000msWithout the body, the first stages of the comparison are missing:
Checks that compare the DOM before and after hydration, and React's own errors, still run. It is a warning, because the page was only partly tested.
Likely causes
- A streamed response that did not finish in time, for example a Suspense boundary whose data never arrives, so the server keeps the response open.
- A response the browser did not keep a body for.
- A server that closed the connection before the end of the document.
How to fix it
- Run the page again. If the problem comes and goes,
retriesloads failed pages again, and--repeatshows how often it happens. - If the response streams for a long time, find the part of the page that keeps it open; the same page often has HP9001.
- If the reason in the message points at the server, check the server logs for that request.
Troubleshooting covers other problems with loading pages.