From 7259eff9a01e1371e877bd65db3ca59527ee6d23 Mon Sep 17 00:00:00 2001 From: Jamison Dance Date: Mon, 23 Mar 2026 09:23:15 -0600 Subject: [PATCH] fix server-side uppercasing of script, style, code, and pre content the `body *` HTMLRewriter selector was uppercasing ALL text inside , including inline `, { html: true }); @@ -88,6 +102,7 @@ class MetaCSPRemover implements HTMLRewriterElementContentHandlers { } export function buildRewriter(targetUrl: string): HTMLRewriter { + const uppercaser = new TextUppercaser(); return new HTMLRewriter() .on("head", new HeadInjector(targetUrl)) .on("meta", new MetaCSPRemover()) @@ -103,5 +118,6 @@ export function buildRewriter(targetUrl: string): HTMLRewriter { .on("form", new URLRewriter(targetUrl, "action")) .on("iframe", new URLRewriter(targetUrl, "src")) .on("[alt], [title], [placeholder], [aria-label]", new AttributeUppercaser()) - .on("body *", new SimpleTextUppercaser()); + .on("script, style, code, pre, textarea, noscript, svg", new SkipElementTracker(uppercaser)) + .on("body *", uppercaser); }