Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(render): Null characters in between chunks #1709

Merged
merged 6 commits into from
Sep 26, 2024

Conversation

gabrielmfern
Copy link
Collaborator

This PR addresses #1667 and the issue Resend was having in Broadcasts.

The problem was that, in React 18, chunks were probably being separated in a way that broke
up bytes that would make up a single character. This ended up resulting the TextDecoder using
null byte characters, as it could not properly decode the characters out.

This PR fixes the problem mentioned above by first adding up all chunks of Uint8Arrays into a single
Uint8Array to then be decoded. This fixes the issue that was happening and makes this a bit
more trustworthy.

The PR also adds in a unit test, but the test passes without the fix since it uses React 19, and apparently,
React 19 does not have the same issue that React 18 did.

@gabrielmfern gabrielmfern self-assigned this Sep 26, 2024
Copy link

vercel bot commented Sep 26, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
react-email 🛑 Canceled (Inspect) Sep 26, 2024 5:37pm
react-email-demo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Sep 26, 2024 5:37pm

Copy link

changeset-bot bot commented Sep 26, 2024

🦋 Changeset detected

Latest commit: 2617a25

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 13 packages
Name Type
@react-email/render Patch
@react-email/components Patch
react-email-with-aws-ses Patch
react-email-with-mailersend Patch
react-email-with-nodemailer Patch
react-email-with-plunk Patch
react-email-with-postmark Patch
react-email-with-resend Patch
react-email-with-sendgrid Patch
react-email-with-next-scaleway Patch
react-email-with-node-scaleway Patch
react-email-starter Patch
create-email Patch

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

@zehfernandes
Copy link
Contributor

🤯

@zehfernandes zehfernandes self-requested a review September 26, 2024 17:37
@gabrielmfern gabrielmfern merged commit 0fab161 into canary Sep 26, 2024
10 checks passed
@gabrielmfern gabrielmfern deleted the fix/render-using-null-characters branch September 26, 2024 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants