HP9006 (body-unavailable) means the browser loaded the page, but
hydration-proof could not read its document response. Checks that need the
server HTML were skipped. Read the reason in the finding, then 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.