Patch Changes
-
#3542
7799e44Thanks @DylanPiercey! - Fix serializing anAggregateErrorwhoseerrorsarray is shared with another reference or contains a deferred/circular member. TheAggregateErrorconstructor copies its first argument into a fresherrorsslot, so those arrays previously lost their identity or silently dropped members on resume; the array is now relinked through the writableerrorsproperty. -
#3543
1a822efThanks @DylanPiercey! - When aRequest/Responseis serialized after itsheadersobject was already serialized standalone, reuse that reference instead of re-emitting the header entries inline and overwriting it. This dedups the emitted data and keeps other references to those headers consistent on resume. -
#3541
ee8b8d0Thanks @DylanPiercey! - Escape object-styleattribute values on SSR so a value containing;/{can't inject extra declarations or rules, and so an invalid value is dropped the same wayel.style.setPropertydrops it on the client — fixing an SSR/CSR divergence and a server-only CSS-injection surface for<div style={ prop: value }/>. -
#3540
b706533Thanks @DylanPiercey! - Compile<for by>selector comparisons without an intersection. When a keyed list body compares the loop key to an owner value (e.g.class=(selected === row.id && "danger")), the key is stable per branch, so the comparison now depends only on the owner value and compiles to a plain for-selector closure instead of an_orintersection — smaller output, no per-row intersection coordination, and the comparison no longer re-runs when unrelated row data changes. -
#3537
77c3071Thanks @DylanPiercey! - Give the lazy-asset trigger loader a block body so it always returnsundefined. Previously, when two or more|-separated triggers both fell back to loading (their selectors absent), the second fallback returned the truthy HTML string and thevisible/on-*guards ranobserve(...)/addEventListener(...)on it, throwing aTypeError.