Skip to content

test(ui): React parity — dangerouslySetInnerHTML / RawHTML in SSR#42

Merged
monstercameron merged 1 commit into
masterfrom
react-parity/raw-html-ssr
Jun 25, 2026
Merged

test(ui): React parity — dangerouslySetInnerHTML / RawHTML in SSR#42
monstercameron merged 1 commit into
masterfrom
react-parity/raw-html-ssr

Conversation

@monstercameron

Copy link
Copy Markdown
Owner

Ports dangerouslySetInnerHTML SSR behavior to GWC's html.RawHTML (raw but sanitized: script/js-url/on*= stripped) + RawHTMLUnsafe (verbatim). All pass; no bug. No version bump.

🤖 Generated with Claude Code

Ports React's ReactDOMServerIntegrationElements dangerouslySetInnerHTML behavior,
adapted to GWC's html.RawHTML (renders raw markup but sanitizes by default — a
safety improvement over React's raw injection):
- safe markup is preserved
- <script>, javascript: hrefs, and on*= handlers are stripped (text kept)
- html.RawHTMLUnsafe renders the markup verbatim

All pass; no GWC bug. No version bump.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@monstercameron monstercameron merged commit f068c73 into master Jun 25, 2026
2 checks passed
@monstercameron monstercameron deleted the react-parity/raw-html-ssr branch June 25, 2026 03:52
monstercameron pushed a commit that referenced this pull request Jul 6, 2026
StyleBlock/HarvestedClasses were native-only and SeedFromDocument wasm-only,
so portable code failed to compile on the other target. Add native
SeedFromDocument() (no-op), wasm HarvestedClasses()/StyleBlock() (native format,
escaped attr), + a build-tag-free parity_test.go that fails to compile if any
sink function goes target-only. Both targets now expose an identical API. Green
native + wasm.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants