HP9007 (capture-truncated) means some of the data recorded on the page was
dropped because a buffer overflowed, so the results for that page may be
incomplete. It happens on pages that change a very large part of the DOM at
once, or throw a flood of errors. Treat the page's other findings as a
minimum, not the full list.
| Code | HP9007 |
|---|---|
| Name | capture-truncated |
| Default severity | Warning |
| Group | Test run problems |
| What it means | Buffers overflowed while capturing; results may be incomplete. |
What the HP9007 capture truncated finding means
The runtime hydration-proof injects into the page records DOM changes and the errors React reports. To keep the page fast, each buffer has a limit: 20,000 DOM changes in one batch and 500 errors per page. What goes beyond it is counted and dropped:
Capture buffers overflowed ({"entries":3812}); results may be incomplete.entries are DOM changes, errors are reported errors and batches are whole
groups of changes. It is a warning: the findings that were reported are real,
but some may be missing.
Likely causes
- A page that renders or replaces a very large DOM in one step: a long table, a list without virtualization, a whole page rendered again on the client (see HP1011).
- An error loop that reports the same error hundreds of times.
How to fix it
- Fix the page's other findings first. A root that React renders again on the client is a common source of huge mutation batches, and it disappears with the mismatch.
- If the page throws in a loop, fix that error; the first ones are in the report.
- For very large pages, test a smaller variant of the route as well, for
example with a query that limits the list (
routes.query), so every finding fits in the buffers.