late-request-read
This fails the run. Where it is wrong about your code, // ramonda-check-ignore <reason> on the line says so, and the reason is printed on every run.
Reported when requestContext() is read below an await, after the request it names is gone.
The framework reports the same fault while running, as RMD053 — but only once the line actually runs. This is the same fault proved from the source instead.
The request is live only while the render is running. On the server that is the SYNCHRONOUS
section: the scope is installed, the tree is mounted, and it is cleared before the render's
first await — which is what makes ONE module-level value safe for a server rendering many
requests at once. A read below a yield finds nothing.
Read it in render(), in @created, or above the first await of an async lifecycle
method, and keep what you need in @state — that is what carries a value across the yield.
Holding the object does not: every member of it is a getter over the current request.
The framework reports the same read as RMD053 when the line actually runs. It cannot always
be heard — inside an async @mounted the throw beside it goes into the server's work drain
and is swallowed, and the page is served complete and quietly missing the value.
Next
- All rules — the other checks this one runs beside.
- Checking your app — how to run it, and what it proves.