brillout / react-streaming

React Streaming. Full-fledged & Easy.
MIT License
216 stars 14 forks source link

error is thrown when using useStream() hook with renderToString() #31

Closed phonzammi closed 9 months ago

phonzammi commented 9 months ago

Hi @brillout, First I'm sorry if I create this issue after this PR. So this issue is one of the reasons I created that PR. This is happening when config.h.ts stream: false & we use stream = useStream() inside StreamedHydration component of vike-react-query. But if we set config ssr: false, everything is fine, it doesn't throw any error

Reproduction steps:

  1. Scaffold vike-react from Bâti
  2. Add vike-react-query & install all deps
  3. Not forget to import & add vikeReactQuery to extends inside pages/+config.h.ts
  4. set stream: false inside pages/+config.h.ts
  5. pnpm run dev and open a page.

What is Expected ?

Page is loaded without error.

What is actually happening?

Error is thrown :

Error: [react-streaming@0.3.18][Bug] You stumbled upon a bug in react-streaming's source code. Reach out at https://github.com/brillout/react-streaming/issues/new and include this error stack (the error stack is usually enough to fix the problem). A maintainer will fix the bug (usually under 24 hours). Do not hesitate to reach out as it makes react-streaming more robust. 
    at useStream (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-streaming@0.3.18_react-dom@18.2.0_react@18.2.0/node_modules/react-streaming/dist/cjs/server/useStream.js:37:24)
    at StreamedHydration (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike-react-query@0.0.2_@tanstack+react-query@5.17.5_react-dom@18.2.0_react-streaming@0.3.18_r_szcjdsd5xhubh7cedenlfpxudq/node_modules/vike-react-query/dist/renderer/StreamedHydration.js:12:20)
    at renderWithHooks (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5662:16)
    at renderIndeterminateComponent (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5735:15)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5950:7)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at renderIndeterminateComponent (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5789:7)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5950:7)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at renderContextProvider (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5924:3)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6021:11)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at renderIndeterminateComponent (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5789:7)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5950:7)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at renderIndeterminateComponent (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5789:7)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5950:7)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at renderContextProvider (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5924:3)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6021:11)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at renderIndeterminateComponent (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5789:7)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5950:7)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at renderElement (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5975:9)
    at renderNodeDestructiveImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6108:11)
    at renderNodeDestructive (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6080:14)
    at retryTask (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6532:5)
    at performWork (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6580:7)
    at /Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6904:12
    at scheduleWork (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:78:3)
    at startWork (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6903:3)
    at renderToStringImpl (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6977:3)
    at renderToString (/Users/muhammad/Desktop/vrq/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:7065:10)
    at onRenderHtml (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike-react@0.3.8_react-dom@18.2.0_react@18.2.0_vike@0.4.153_vite@5.0.11/node_modules/vike-react/dist/renderer/onRenderHtml.js:30:37)
    at file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js:15:53
    at file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/shared/hooks/executeHook.js:46:31
    at executeHook (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/shared/hooks/executeHook.js:55:7)
    at executeOnRenderHtmlHook (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js:15:35)
    at renderPageAlreadyRouted (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js:58:36)
    at renderPageNominal (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/runtime/renderPage.js:266:36)
    at renderPageAlreadyPrepared (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/runtime/renderPage.js:121:45)
    at renderPageAndPrepare (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/runtime/renderPage.js:101:12)
    at file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js:68:35
    at renderPage (file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/runtime/renderPage.js:46:50)
    at file:///Users/muhammad/Desktop/vrq/node_modules/.pnpm/vike@0.4.153_react-streaming@0.3.18_vite@5.0.11/node_modules/vike/dist/esm/node/plugin/shared/addSsrMiddleware.js:18:27
brillout commented 9 months ago

Thanks for the bug report. It's "fixed".

brillout commented 9 months ago

Btw. always feel free to open a bug report whenever you get You stumbled upon a bug. It's an immense added value to make errors intelligible.

phonzammi commented 9 months ago

Thanks, definitely 👍