Skip to content

merge queue: checking main (d122a6d) and #12304 together - #12330

Closed
mergify[bot] wants to merge 2 commits into
mainfrom
mergify/merge-queue/03b233ae20
Closed

merge queue: checking main (d122a6d) and #12304 together#12330
mergify[bot] wants to merge 2 commits into
mainfrom
mergify/merge-queue/03b233ae20

Conversation

@mergify

@mergify mergify Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request has been checked successfully and will be merged soon. 🎉

Branch main (d122a6d) and #12304 are queued together for merge.

This pull request has been created by Mergify to check the mergeability of #12304.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.

Required conditions of queue rule default for merge:

Required conditions to stay in the queue:

---
checking_base_sha: d122a6d37195785288f15761a835f3a85e1c1265
previous_check_retries: []
previous_failed_batches: []
pull_requests:
  - number: 12304
    scopes: []
scopes: []
...

kozlek and others added 2 commits August 6, 2026 09:51
`renderMarkdown` output goes straight into `dangerouslySetInnerHTML` in
six tables, and it did not filter URL protocols: `remark-rehype` emits an
`<a>` for any link target whatever its scheme, so a `javascript:` link in
a synced description would have rendered as a live link.

Raw HTML was never a way in — `remark-rehype` runs without
`allowDangerousHtml`, so it is discarded before becoming a node — which
makes URL filtering the whole of what `rehype-sanitize` adds here. It
sits after `rehype-raw` so that if a caller ever does enable
`allowDangerousHtml`, the embedded markup is parsed and then sanitized
rather than passed through opaque.

Every input today is first-party: descriptions generated by our own
engine and delivered by our own sync bot. So this is defence in depth
rather than a live exposure — but "the input is trustworthy" is a
property of the six current callers, not of the function, and the output
lands somewhere that makes the distinction expensive to get wrong later.

The tests separate the two guarantees on purpose. Asserting all four
cases together would have been misleading: three of them pass with the
sanitizer removed, because they test the markdown pipeline discarding raw
HTML rather than anything the sanitizer does. Only the URL-protocol cases
fail if it goes.

Output is unchanged across every description the two schemas publish.

Part of MRGFY-8330

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Change-Id: Ice1642f855d6698b65a034e398affbce16f822a6
@mergify
mergify Bot deployed to Mergify Merge Protections August 6, 2026 08:35 Active
@mergify mergify Bot closed this Aug 6, 2026
@mergify
mergify Bot deleted the mergify/merge-queue/03b233ae20 branch August 6, 2026 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant