File tree Expand file tree Collapse file tree 4 files changed +22
-11
lines changed
Expand file tree Collapse file tree 4 files changed +22
-11
lines changed Original file line number Diff line number Diff line change @@ -50,9 +50,12 @@ const streamRenderRSCComponent = (
5050
5151 const initializeAndRender = async ( ) => {
5252 if ( ! serverRendererPromise ) {
53- serverRendererPromise = loadJsonFile < BundleManifest > ( reactClientManifestFileName ) . then (
54- ( reactClientManifest ) => buildServerRenderer ( reactClientManifest ) ,
55- ) ;
53+ serverRendererPromise = loadJsonFile < BundleManifest > ( reactClientManifestFileName )
54+ . then ( ( reactClientManifest ) => buildServerRenderer ( reactClientManifest ) )
55+ . catch ( ( err : unknown ) => {
56+ serverRendererPromise = undefined ;
57+ throw err ;
58+ } ) ;
5659 }
5760
5861 const { renderToPipeableStream } = await serverRendererPromise ;
Original file line number Diff line number Diff line change @@ -21,9 +21,14 @@ const createFromReactOnRailsNodeStream = async (
2121 clientRendererPromise = Promise . all ( [
2222 loadJsonFile < BundleManifest > ( reactServerManifestFileName ) ,
2323 loadJsonFile < BundleManifest > ( reactClientManifestFileName ) ,
24- ] ) . then ( ( [ reactServerManifest , reactClientManifest ] ) =>
25- buildClientRenderer ( reactClientManifest , reactServerManifest ) ,
26- ) ;
24+ ] )
25+ . then ( ( [ reactServerManifest , reactClientManifest ] ) =>
26+ buildClientRenderer ( reactClientManifest , reactServerManifest ) ,
27+ )
28+ . catch ( ( err : unknown ) => {
29+ clientRendererPromise = undefined ;
30+ throw err ;
31+ } ) ;
2732 }
2833
2934 const { createFromNodeStream } = await clientRendererPromise ;
Original file line number Diff line number Diff line change @@ -122,6 +122,10 @@ export default function injectRSCPayload(
122122 } , 0 ) ;
123123 } ) ;
124124
125+ htmlStream . on ( 'error' , ( err ) => {
126+ resultStream . emit ( 'error' , err ) ;
127+ } ) ;
128+
125129 htmlStream . on ( 'end' , ( ) => {
126130 if ( timeout ) {
127131 clearTimeout ( timeout ) ;
Original file line number Diff line number Diff line change @@ -481,11 +481,10 @@ export interface ReactOnRailsInternal extends ReactOnRails {
481481 ) => Promise < NodeJS . ReadableStream > ;
482482
483483 /**
484- /**
485- * Retrieves all React Server Component (RSC) payload streams generated for a specific rendering request.
486- * @param railsContext - The Rails context of the current rendering request.
487- * @returns An array of objects, each containing the component name and its corresponding NodeJS.ReadableStream.
488- */
484+ * Retrieves all React Server Component (RSC) payload streams generated for a specific rendering request.
485+ * @param railsContext - The Rails context of the current rendering request.
486+ * @returns An array of objects, each containing the component name and its corresponding NodeJS.ReadableStream.
487+ */
489488 getRSCPayloadStreams ?: ( railsContext : RailsContextWithServerComponentCapabilities ) => {
490489 componentName : string ;
491490 props : unknown ;
You can’t perform that action at this time.
0 commit comments