From 24217f84d5d25257530132fdaee5721536a4d0b0 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 16 Dec 2024 17:10:27 +0100 Subject: [PATCH] fix(start): try/catch around renderToPipeableStream for React 19 (#3020) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- .../start/src/server/defaultStreamHandler.tsx | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/packages/start/src/server/defaultStreamHandler.tsx b/packages/start/src/server/defaultStreamHandler.tsx index 624dacc0f7..af86e4fc85 100644 --- a/packages/start/src/server/defaultStreamHandler.tsx +++ b/packages/start/src/server/defaultStreamHandler.tsx @@ -47,25 +47,29 @@ export const defaultStreamHandler: HandlerCallback = async ({ if (typeof ReactDOMServer.renderToPipeableStream === 'function') { const passthrough = new PassThrough() - const pipeable = ReactDOMServer.renderToPipeableStream( - , - { - ...(isbot(request.headers.get('User-Agent')) - ? { - onAllReady() { - pipeable.pipe(passthrough) - }, - } - : { - onShellReady() { - pipeable.pipe(passthrough) - }, - }), - onError: (error, info) => { - console.log('Error in renderToPipeableStream:', error, info) + try { + const pipeable = ReactDOMServer.renderToPipeableStream( + , + { + ...(isbot(request.headers.get('User-Agent')) + ? { + onAllReady() { + pipeable.pipe(passthrough) + }, + } + : { + onShellReady() { + pipeable.pipe(passthrough) + }, + }), + onError: (error, info) => { + console.log('Error in renderToPipeableStream:', error, info) + }, }, - }, - ) + ) + } catch (e) { + console.log('Error in renderToPipeableStream:', e) + } const transforms = [transformStreamWithRouter(router)]