razorpay / blade

Design System that powers Razorpay
https://blade.razorpay.com
MIT License
507 stars 142 forks source link

[Bug] Modal: ReferenceError: document is not defined at ModalPortal #1331

Closed cseas closed 1 year ago

cseas commented 1 year ago

The Modal component throws an error when used in server-side rendering.

Error stack from frontend-website:

{
  "middleware": "renderMiddleware",
  "properties": {
    "errorMessage": "document is not defined",
    "errorStack": "ReferenceError: document is not defined\n    at ModalPortal (/Users/abhijeet.singh/Documents/github/frontend-website/build/server/webpack:/frontend-website/node_modules/@razorpay/blade/build/components/index.web.js:24982:17)\n    at processChild (/Users/abhijeet.singh/Documents/github/frontend-website/node_modules/react-dom/cjs/react-dom-server.node.development.js:3353:14)\n    at resolve (/Users/abhijeet.singh/Documents/github/frontend-website/node_modules/react-dom/cjs/react-dom-server.node.development.js:3270:5)\n    at ReactDOMServerRenderer.render (/Users/abhijeet.singh/Documents/github/frontend-website/node_modules/react-dom/cjs/react-dom-server.node.development.js:3753:22)\n    at ReactDOMServerRenderer.read (/Users/abhijeet.singh/Documents/github/frontend-website/node_modules/react-dom/cjs/react-dom-server.node.development.js:3690:29)\n    at renderToString (/Users/abhijeet.singh/Documents/github/frontend-website/node_modules/react-dom/cjs/react-dom-server.node.development.js:4298:27)\n    at _callee$ (/Users/abhijeet.singh/Documents/github/frontend-website/build/server/webpack:/frontend-website/src/shared/services/renderMiddleware.tsx:137:39)\n    at tryCatch (/Users/abhijeet.singh/Documents/github/frontend-website/build/server/webpack:/frontend-website/src/shared/services/renderMiddleware.tsx:2:1)\n    at Generator._invoke (/Users/abhijeet.singh/Documents/github/frontend-website/build/server/webpack:/frontend-website/src/shared/services/renderMiddleware.tsx:2:1)\n    at Generator.next (/Users/abhijeet.singh/Documents/github/frontend-website/build/server/webpack:/frontend-website/src/shared/services/renderMiddleware.tsx:2:1)",
  },
}

Please pick on priority. This has blocked our release.

anuraghazra commented 1 year ago

@cseas I'll prioritise this, expect fix by tomorrow.