Patch Changes
-
#3598
5b5b9a1Thanks @DylanPiercey! - Fix an<await>inside a<for>throwing on the client._await_promiseread the await counter off a branch that_await_contenthad not created yet, since a loop invokes its params before the queued setup that builds the branch, so<for|item| of=items><await|v|=item.promise>died withCannot read properties of undefined (reading '#AwaitCounter')on first render. The promise handshake is now deferred and driven by_await_content, matching what the non-promise path already did. -
#3609
5823328Thanks @DylanPiercey! - Stop writing a dynamic native tag's renderer name into the resume payload in production. Only the debug accessor reads it, so optimized pages paidR:"<tagname>"per instance for a field nothing consumes. -
#3605
374f228Thanks @DylanPiercey! - Write scope slot deltas in the resume payload as signed. The writer only emitted a delta when the next scope id was higher than the cursor, so a scope flushed after one with a larger id emitted none at all and its props landed in whichever slot the cursor held. The client already accumulates signed deltas, so only the writer changed.