Skip to content

Suspense based component render fails on Preact #456

@sasannnn

Description

@sasannnn
  • Component or Package Name: jsx-email
  • Component or Package Version: v3.2.0
  • @jsxp-email/cli Version? v3.2.0
  • Operating System (or Browser): Linux/Firefox
  • Node Version: v24.14.1
  • Link to reproduction: sasann/vite-jsx-email

Expected Behavior

My email template to render.

Actual Behavior

render fails with following stack trace:

file:///home/sasann/Projects/vite-jsx-email/node_modules/preact/compat/src/suspense.js:103
	this._pendingSuspensionCount = 0;
     ^
TypeError: Cannot set properties of undefined (setting '__u')
    at P (file:///home/sasann/Projects/vite-jsx-email/node_modules/preact/compat/src/suspense.js:103:6)
    at jsxToString (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/jsx-to-string.ts:122:23)
    at jsxToString (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/jsx-to-string.ts:125:11)
    at jsxToString (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/jsx-to-string.ts:125:11)
    at jsxToString (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/jsx-to-string.ts:50:21)
    at jsxToString (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/jsx-to-string.ts:113:17)
    at jsxToString (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/jsx-to-string.ts:123:26)
    at jsxToString (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/jsx-to-string.ts:123:26)
    at render (file:///home/sasann/Projects/vite-jsx-email/node_modules/jsx-email/src/renderer/render.ts:66:14)
    at file:///home/sasann/Projects/vite-jsx-email/dist/server/entry-server.js:33:12

Additional Information

I'm using Preact instead of react and forcing React libraries to pull in preact/compat in my setup.

When my email template is simple, it works fine, as soon I use Suspense based components like Tailwind, render breaks.

I previously opened this issue with Preact and Jovi, one of the Preact core developers, wrote a great inside on how a proper fix for this would be. Check Preact#5106

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions