Skip to content

Commit 1e82151

Browse files
committedDec 2, 2024
fix(react-email): Null byte characters being rendered in the preview (#1773)
1 parent fd3b9de commit 1e82151

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed
 

‎.changeset/clever-meals-vanish.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"react-email": patch
3+
---
4+
5+
fix null byte characters being rendered in the preview server

‎packages/react-email/src/actions/render-email-by-path.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,10 @@ export const renderEmailByPath = async (
8383
});
8484

8585
return {
86-
markup,
86+
// This ensures that no null byte character ends up in the rendered
87+
// markup making users suspect of any issues. These null byte characters
88+
// only seem to happen with React 18, as it has no similar incident with React 19.
89+
markup: markup.replaceAll('\0', ''),
8790
plainText,
8891
reactMarkup,
8992
};

‎packages/render/src/node/read-stream.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ export const readStream = async (
2929
});
3030
stream.pipe(writable);
3131

32-
return new Promise<string>((resolve, reject) => {
32+
await new Promise<void>((resolve, reject) => {
3333
writable.on("error", reject);
3434
writable.on("close", () => {
35-
resolve(result);
35+
resolve();
3636
});
3737
});
3838
}

0 commit comments

Comments
 (0)
Please sign in to comment.