Patch Changes
-
#3592
77230efThanks @DylanPiercey! - Escape a<script>/<style>body as one string on the server instead of once per interpolation. Their escapers neutralize multi-character tokens (</script,<script,<!--,</style), so a token split across adjacent interpolations was seen by neither call:<html-script>${a}${b}</html-script>witha = "<"andb = "/script>"closed the element and let whatever followed be parsed as markup. The same straddle applied at the boundary between static body text and an interpolation. A fully static body is now escaped at build time, so it costs no runtime work. -
#3596
f9b04eeThanks @DylanPiercey! - Emit one walk step for a run of static text split by a sibling that renders nothing. Adjacent static text merges into a single DOM text node even when a<const>,<let>,<script>,<lifecycle>, scriptlet, or import sits between the two runs, but each run still claimed its own step, so every accessor after that point in the section was off by one sibling. A client render then bound to the wrong node, which surfaced as aTypeErroron the first event handler attach rather than as visibly wrong output. -
Updated dependencies [
2e09659]:- @marko/compiler@5.41.9