diff --git a/patches/react-router@8.4.0.patch b/patches/react-router@8.4.0.patch index 5a08b05..e046777 100644 --- a/patches/react-router@8.4.0.patch +++ b/patches/react-router@8.4.0.patch @@ -1,5 +1,5 @@ diff --git a/dist/development/lib/rsc/html-stream/server.js b/dist/development/lib/rsc/html-stream/server.js -index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2b2f755a3 100644 +index 326e0ea1136babf7a9ed03bb59087140069758bf..ccfef142cb56f08bd58caf0eeb40790d61e1f7a6 100644 --- a/dist/development/lib/rsc/html-stream/server.js +++ b/dist/development/lib/rsc/html-stream/server.js @@ -21,11 +21,31 @@ function injectRSCPayload(rscStream, { nonce } = {}) { @@ -13,9 +13,9 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 + timeout = null; + } + buffered.length = 0; ++ resolveFlightDataPromise(); + if (rscReader && rscStream.locked) await rscReader.cancel(reason).catch(() => {}); + else await rscStream.cancel(reason).catch(() => {}); -+ resolveFlightDataPromise(); + } + function tryEnqueue(controller, chunk) { + try { @@ -35,7 +35,7 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 } buffered.length = 0; timeout = null; -@@ -37,31 +57,32 @@ function injectRSCPayload(rscStream, { nonce } = {}) { +@@ -37,31 +57,28 @@ function injectRSCPayload(rscStream, { nonce } = {}) { timeout = setTimeout(async () => { if (cancelled) return; flushBufferedChunks(controller); @@ -45,12 +45,7 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 rscReader = rscStream.getReader(); - writeRSCStream(rscReader, controller, () => cancelled, nonce).catch((err) => controller.error(err)).then(resolveFlightDataPromise); + writeRSCStream(rscReader, controller, () => cancelled, nonce).catch((err) => { -+ if (cancelled) return; -+ try { -+ controller.error(err); -+ } catch (error) { -+ return stop(error); -+ } ++ if (!cancelled) controller.error(err); + }).then(resolveFlightDataPromise); } }, 0); @@ -61,6 +56,7 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 if (timeout) { clearTimeout(timeout); flushBufferedChunks(controller); ++ if (cancelled) return; } - controller.enqueue(encoder.encode("")); + tryEnqueue(controller, encoder.encode("")); @@ -80,7 +76,7 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 }); } diff --git a/dist/production/lib/rsc/html-stream/server.js b/dist/production/lib/rsc/html-stream/server.js -index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2b2f755a3 100644 +index 326e0ea1136babf7a9ed03bb59087140069758bf..ccfef142cb56f08bd58caf0eeb40790d61e1f7a6 100644 --- a/dist/production/lib/rsc/html-stream/server.js +++ b/dist/production/lib/rsc/html-stream/server.js @@ -21,11 +21,31 @@ function injectRSCPayload(rscStream, { nonce } = {}) { @@ -94,9 +90,9 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 + timeout = null; + } + buffered.length = 0; ++ resolveFlightDataPromise(); + if (rscReader && rscStream.locked) await rscReader.cancel(reason).catch(() => {}); + else await rscStream.cancel(reason).catch(() => {}); -+ resolveFlightDataPromise(); + } + function tryEnqueue(controller, chunk) { + try { @@ -116,7 +112,7 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 } buffered.length = 0; timeout = null; -@@ -37,31 +57,32 @@ function injectRSCPayload(rscStream, { nonce } = {}) { +@@ -37,31 +57,28 @@ function injectRSCPayload(rscStream, { nonce } = {}) { timeout = setTimeout(async () => { if (cancelled) return; flushBufferedChunks(controller); @@ -126,12 +122,7 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 rscReader = rscStream.getReader(); - writeRSCStream(rscReader, controller, () => cancelled, nonce).catch((err) => controller.error(err)).then(resolveFlightDataPromise); + writeRSCStream(rscReader, controller, () => cancelled, nonce).catch((err) => { -+ if (cancelled) return; -+ try { -+ controller.error(err); -+ } catch (error) { -+ return stop(error); -+ } ++ if (!cancelled) controller.error(err); + }).then(resolveFlightDataPromise); } }, 0); @@ -142,6 +133,7 @@ index 326e0ea1136babf7a9ed03bb59087140069758bf..a579d482b2536e7898279eb4f8801cc2 if (timeout) { clearTimeout(timeout); flushBufferedChunks(controller); ++ if (cancelled) return; } - controller.enqueue(encoder.encode("")); + tryEnqueue(controller, encoder.encode("")); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb014da..1861110 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: patchedDependencies: react-router@8.4.0: - hash: 4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a + hash: 12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503 path: patches/react-router@8.4.0.patch importers: @@ -55,7 +55,7 @@ importers: version: 19.3.0(react@19.3.0) react-router: specifier: 8.4.0 - version: 8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react-server-dom-webpack: specifier: 19.3.0 version: 19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)) @@ -88,7 +88,7 @@ importers: version: 4.0.0-canary.39(@types/react@19.2.14)(monaco-editor@0.57.0)(payload@4.0.0-canary.39(graphql@16.14.2)(typescript@5.9.3))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@5.9.3) '@react-router/serve': specifier: 8.4.0 - version: 8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) + version: 8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) graphql: specifier: ^16.8.1 version: 16.14.2 @@ -106,7 +106,7 @@ importers: version: 19.3.0(react@19.3.0) react-router: specifier: 8.4.0 - version: 8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react-server-dom-webpack: specifier: 19.3.0 version: 19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)) @@ -116,7 +116,7 @@ importers: version: 1.64.0 '@react-router/dev': specifier: 8.4.0 - version: 8.4.0(@react-router/serve@8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3))(@vitejs/plugin-rsc@0.5.35(react-dom@19.3.0(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(react@19.3.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15)))(babel-plugin-macros@3.1.0)(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(typescript@5.9.3)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15)) + version: 8.4.0(@react-router/serve@8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3))(@vitejs/plugin-rsc@0.5.35(react-dom@19.3.0(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(react@19.3.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15)))(babel-plugin-macros@3.1.0)(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(typescript@5.9.3)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15)) '@types/node': specifier: ^24.10.1 version: 24.19.1 @@ -4490,14 +4490,14 @@ snapshots: '@preact/signals-core@1.14.4': {} - '@react-router/dev@8.4.0(@react-router/serve@8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3))(@vitejs/plugin-rsc@0.5.35(react-dom@19.3.0(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(react@19.3.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15)))(babel-plugin-macros@3.1.0)(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(typescript@5.9.3)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15))': + '@react-router/dev@8.4.0(@react-router/serve@8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3))(@vitejs/plugin-rsc@0.5.35(react-dom@19.3.0(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(react@19.3.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15)))(babel-plugin-macros@3.1.0)(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(typescript@5.9.3)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15))': dependencies: '@babel/core': 7.29.7 '@babel/generator': 7.29.8 '@babel/parser': 7.29.9 '@babel/traverse': 7.29.10 '@babel/types': 7.29.8 - '@react-router/node': 8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) + '@react-router/node': 8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) '@remix-run/node-fetch-server': 0.14.2 babel-dead-code-elimination: 1.0.12 chokidar: 5.0.0 @@ -4512,13 +4512,13 @@ snapshots: picocolors: 1.1.1 pkg-types: 2.3.3 react-refresh: 0.18.0 - react-router: 8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) semver: 7.8.5 tinyglobby: 0.2.17 valibot: 1.5.0(typescript@5.9.3) vite: 8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15) optionalDependencies: - '@react-router/serve': 8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) + '@react-router/serve': 8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) '@vitejs/plugin-rsc': 0.5.35(react-dom@19.3.0(react@19.3.0))(react-server-dom-webpack@19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)))(react@19.3.0)(vite@8.3.4(@types/node@24.19.1)(esbuild@0.28.2)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.51.2)(tsx@4.23.15)) react-server-dom-webpack: 19.3.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(webpack@5.111.1(esbuild@0.28.2)) typescript: 5.9.3 @@ -4526,30 +4526,30 @@ snapshots: - babel-plugin-macros - supports-color - '@react-router/express@8.4.0(express@5.2.1)(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3)': + '@react-router/express@8.4.0(express@5.2.1)(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3)': dependencies: - '@react-router/node': 8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) + '@react-router/node': 8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) express: 5.2.1 - react-router: 8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) optionalDependencies: typescript: 5.9.3 - '@react-router/node@8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3)': + '@react-router/node@8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3)': dependencies: '@remix-run/node-fetch-server': 0.14.2 - react-router: 8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) optionalDependencies: typescript: 5.9.3 - '@react-router/serve@8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3)': + '@react-router/serve@8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3)': dependencies: - '@react-router/express': 8.4.0(express@5.2.1)(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) - '@react-router/node': 8.4.0(react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) + '@react-router/express': 8.4.0(express@5.2.1)(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) + '@react-router/node': 8.4.0(react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@5.9.3) '@remix-run/node-fetch-server': 0.14.2 compression: 1.8.2 express: 5.2.1 morgan: 1.12.1 - react-router: 8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) source-map-support: 0.5.21 transitivePeerDependencies: - supports-color @@ -6076,7 +6076,7 @@ snapshots: react-refresh@0.18.0: {} - react-router@8.4.0(patch_hash=4f0116179bf7d078b4b68d540554a1207a88effbc2ea29c352080c662880725a)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + react-router@8.4.0(patch_hash=12162787cb9d16da352591cec6342d2a3825db85129c22cac566ee5bb5a34503)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: '@remix-run/route-pattern': 0.22.1 cookie-es: 3.1.1