Repository navigation
Decode character references in an HTML-only inbound email - #807
Open
RaphaelFakhri wants to merge 1 commit into
Open
RaphaelFakhri wants to merge 1 commit into
RaphaelFakhri wants to merge 1 commit into
Conversation
An email trigger reads an HTML-only mail by stripping its tags, and left its character references in place, so the Bot read AT&T, we’re and Q3 numbers. Numeric references and the five XML names plus are now decoded in one pass after the tags are stripped.
RaphaelFakhri
requested review from
MikeRyanDev,
davidmckayv,
guidovizoso,
mxmzb and
tylerslaton
as code owners
October 18, 2026 11:32
Contributor
|
Nice fix. One missed case worth a test while you're here: the guard in Prepared with AI assistance (Instinct assisted). |
This branch has not been deployed
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.
What this changes
An email trigger reads an HTML-only mail by stripping its tags, and left its character references in place, so the Bot read
AT&T,we’reandQ3 numbers.extractEmailTextnow decodes numeric references (’,—), the five XML names and after the tags are stripped. The decoding is one pass, so&lt;reads as<and never becomes a tag. A name outside that list, or a reference to an invalid code point, is left as written.Fixes #806.
Where it runs
extractEmailText.Boundary and audit
Changelog
CHANGELOG.mdunderUnreleased.Proof
New case in
server/tests/responsibility-triggers.test.tsfeeds an HTML-only part with ,&,<,",’,—and&lt;.Before the change in
email.ts:After:
bunx biome checkis clean on the three changed files, andbunx tsc --noEmit -p serverpasses.