RMD058 — The request blob could not be read
// The server stamps what the page opted into onto the root element:
// <main data-ramonda-request='{"review-sid":"s-123"}'>
// and `hydrateRoot` reads it back. If that string does not parse, nothing is restored.
const sid = requestKey<string>("sid", { exposeToClient: true });
requestContext().get(sid); // undefined on the client, for every exposed key
The blob is ignored rather than fatal — a page that renders with a value missing beats a page that
does not render, which is the same stance RMD036 takes
for the state blob.
What makes this worth its own code is what you see instead. Two other diagnostics fire in its
place and both point away from the cause: RMD025 says a key was not exposed — it was —
and RMD007 reports the render mismatch that follows, whose advice is about clocks and
random numbers. The page looks correct throughout, because the server's markup is still on screen.
The blob is JSON on the root element, so something between the server writing it and the browser parsing it altered it: an HTML transform, a proxy rewriting markup, or a value that did not serialize cleanly.
Next
- All diagnostics — every code the framework can report.
- Checking your app — the faults proved from the source, before anything runs.