Reject namespaced attribute - #461
Merged
Merged
Conversation
🦋 Changeset detectedLatest commit: e32a4cd The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
marvinhagemeister
approved these changes
May 17, 2026
Merged
valthon
added a commit
to valthon/zigapagos
that referenced
this pull request
Aug 8, 2026
… injection fix Supersedes dependabot PR #124 (happy-dom 20.11.0 -> 20.11.1); the sweep below was researched against each package's releases rather than taking the grouped bump as-is. preact-render-to-string ^6.6.2 -> ^6.7.0 is the change that matters on its own. 6.7.0 reordered the attribute serializer so UNSAFE_NAME rejection runs before namespace normalization (preactjs/preact-render-to-string#461): previously an attribute key that looked namespaced but contained spaces or `>` was rewritten and emitted rather than dropped — markup injection through prop KEYS, e.g. `xlinkHref><script>…`. That lands on our only SSR path: runtime/src/core.ts re-exports renderToString and runtime/sidecar/render.ts drives it with author-content props from src/islands/props.zig. The lockfile already resolved 6.7.0, so built sites were safe; the declared ^6.6.2 was the hole, because any fresh resolution could legally land back on the vulnerable 6.6.2. Raising the floor closes it. preact ^10.29.7 -> ^10.29.8: two perf fixes — flushSync now actually batches (preactjs/preact#5173; we re-export it but never call it) and retained-subtree traversal is skipped after sCU/memo bailouts (#5182). Diff-layer change, so validated through bun test (750/0) plus a full examples/tsx-site build (SSR + hydration bundle + CSP emitters). happy-dom + @happy-dom/global-registrator ^20.11.0 -> ^20.11.2 (lockstep, as they release): 20.11.1 stops constructing DOMException on the query-selector hot path (a straight speedup for this DOM-heavy suite); 20.11.2 fixes MutationObserver callbacks being held only via WeakRef and silently dying after a GC — latent here, but exactly the class of defect that presents as an unreproducible flaky test. typescript stays at ^6.0.3 — and permanently, not pending a 6.1: 6.0.3 is the final release of the JavaScript codebase (microsoft/TypeScript#62963, the 6.0 line is in maintenance mode; the next stable on the registry is the Go-based 7.0.2, which ships no JS compiler API). The dependabot.yml cap below 7.0.0 and its unblock conditions (7.1's new API, expected ~Oct 2026, then porting the three ts.createSourceFile call sites) are unchanged. All three lockfiles are regenerated in this commit (rm bun.lock + install, per the dependabot.yml note — site/ and examples/tsx-site embed their own copy of @z/runtime's resolved set and a plain install does not refresh it), under the newly pinned bun 1.3.14 so the lockfiles are canonical for the toolchain that CI runs. The two regenerated trees are pinned back to "configVersion": 0: a from-scratch lockfile is treated as a new project and stamped configVersion 1, which flips future installs to the isolated linker — a silent node_modules-layout change this repo doesn't want, since props_check.zig resolves tsc from the website root's hoisted tree. 0 is the value runtime/'s lockfile already carries and preserves hoisted semantics; frozen installs from scratch were verified to honor it (no .bun store, tsc resolvable at top level). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.