meteor-hmr icon indicating copy to clipboard operation
meteor-hmr copied to clipboard

Does the new update support FR SSR?

Open kokjinsam opened this issue 8 years ago • 8 comments

Description of Problem

  1. Error below pops up in the terminal console but everything is working fine in the browser.
  2. When view page source, nothing is in the body tag.
  • [x] I switched back to the regular ecmascript and the problem went away.

In the terminal console:

W20160513-09:48:18.266(-5)? (STDERR) Error when doing SSR. path:/: Object [object Object] has no method 'checkpoint'
W20160513-09:48:18.269(-5)? (STDERR) TypeError: Object [object Object] has no method 'checkpoint'
W20160513-09:48:18.269(-5)? (STDERR)     at [object Object].ReactCompositeComponentMixin.performInitialMountWithErrorHandling (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactCompositeComponent.js:256:34)
W20160513-09:48:18.269(-5)? (STDERR)     at [object Object].ReactCompositeComponentMixin.mountComponent (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactCompositeComponent.js:220:21)
W20160513-09:48:18.269(-5)? (STDERR)     at [object Object].wrapper [as mountComponent] (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactPerf.js:66:21)
W20160513-09:48:18.269(-5)? (STDERR)     at Object.ReactReconciler.mountComponent (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactReconciler.js:39:35)
W20160513-09:48:18.270(-5)? (STDERR)     at [object Object].ReactCompositeComponentMixin.performInitialMount (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactCompositeComponent.js:297:34)
W20160513-09:48:18.270(-5)? (STDERR)     at [object Object].ReactCompositeComponentMixin.mountComponent (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactCompositeComponent.js:222:21)
W20160513-09:48:18.270(-5)? (STDERR)     at [object Object].wrapper [as mountComponent] (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactPerf.js:66:21)
W20160513-09:48:18.270(-5)? (STDERR)     at /home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactServerRendering.js:38:38
W20160513-09:48:18.270(-5)? (STDERR)     at ReactServerRenderingTransaction.Mixin.perform (/home/skaxwng/code/meteor-todo/node_modules/react/lib/Transaction.js:136:20)
W20160513-09:48:18.270(-5)? (STDERR)     at renderToStringImpl (/home/skaxwng/code/meteor-todo/node_modules/react/lib/ReactServerRendering.js:36:24)

Environment

  • Meteor version: 1.3.2.4
  • ecmascript-hot version: 1.3.2-refactor.12
  • Operating System: Ubuntu

Supporting files

.meteor/packages

meteor-base
mobile-experience
mongo
tracker

standard-minifier-css
standard-minifier-js
es5-shim
# ecmascript
gadicc:ecmascript-hot

random
kadira:dochead
meteorhacks:inject-initial
accounts-base
kadira:flow-router-ssr

.meteor/versions

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
chuangbo:[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
gadicc:[email protected]_2
gadicc:[email protected]
gadicc:[email protected]
gadicc:[email protected]
gadicc:[email protected]_6
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
kadira:[email protected]
kadira:[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
meteorhacks:[email protected]
meteorhacks:[email protected]
meteorhacks:[email protected]
meteorhacks:[email protected]
meteorhacks:[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
tmeasday:[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

packages.json

{
  "name": "meteor-todo",
  "private": true,
  "scripts": {
    "start": "meteor run"
  },
  "dependencies": {
    "aphrodite": "^0.3.0",
    "apollo-client": "^0.1.6",
    "classnames": "^2.2.3",
    "domready": "^1.0.8",
    "express": "^4.13.4",
    "graphql": "^0.5.0",
    "graphql-tools": "^0.3.13",
    "http-proxy-middleware": "^0.14.0",
    "mantra-core": "^1.3.0",
    "material-ui": "^0.15.0-alpha.2",
    "meteor-node-stubs": "~0.2.0",
    "node-fetch": "^1.5.1",
    "node-waves": "^0.7.5",
    "react": "^15.0.1",
    "react-apollo": "^0.2.0",
    "react-appbar": "^1.0.1",
    "react-dom": "^15.0.1",
    "react-mounter-aphrodite": "^1.3.0",
    "react-no-ssr": "^1.0.1",
    "redux": "^3.4.0",
    "redux-log-slow-reducers": "0.0.2",
    "redux-logger": "^2.6.1",
    "redux-thunk": "^2.0.1"
  },
  "devDependencies": {
    "babel-core": "^6.7.4",
    "babel-eslint": "^6.0.0-beta.6",
    "babel-plugin-react-require": "^2.1.0",
    "babel-polyfill": "^6.7.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-meteor": "^6.6.6",
    "babel-preset-react": "^6.5.0",
    "babel-preset-stage-0": "^6.3.13",
    "eslint": "^2.4.0",
    "eslint-config-airbnb": "^6.1.0",
    "eslint-plugin-graphql": "^0.2.3",
    "eslint-plugin-jsx-control-statements": "^1.1.0",
    "eslint-plugin-react": "^4.2.3",
    "jsx-control-statements": "^3.1.0",
    "raw-loader": "^0.5.1",
    "react-hot-loader": "^3.0.0-alpha.12",
    "redbox-react": "^1.2.0"
  }
}

.babelrc (if you modified it)

{
  "presets": [
    "meteor",
    "es2015",
    "stage-0",
    "react",
  ],
  "plugins": [
    "react-require",
    "jsx-control-statements",
    "react-hot-loader/babel"
  ]
}

kokjinsam avatar May 13 '16 14:05 kokjinsam

Thanks for the detailed report. If this is what I think, it's fixed in the latest react-hot-loader version. Also, I just changed the docs to make this a real dependency rather than devDependency, since it needs to be bundled with your built project. So can you try:

npm rm --save-dev react-hot-loader
npm i --save react-hot-loader@^3.0.0-beta.2

and report back. If it's not this we'll figure it out. Definitely want to support FR SSR by the time rc.0 ships (in the next few days).

gadicc avatar May 14 '16 07:05 gadicc

I tried your suggestion and the problem still persists.

kokjinsam avatar May 14 '16 18:05 kokjinsam

Thanks for confirming. For this and #88, I need some help. Is the code for your app cloneable on github? Or can you make a small reproduction? I don't use flow-router-ssr in any of my projects and I'm struggling to get it set up here.

gadicc avatar May 15 '16 07:05 gadicc

I set up a very crude repro here. Let me know if you want something more.

Checkout here to reproduce the error without ecmascript-hot. Now that I have stripped down a lot of things, it seems like the problem is with react-hot-loader.

kokjinsam avatar May 15 '16 15:05 kokjinsam

  • https://github.com/gaearon/react-hot-loader/issues/283

kokjinsam avatar May 15 '16 15:05 kokjinsam

Thanks for figuring out where the actual problem is! Great help! I've cloned the repo, but this is going to take some work. I'm going to focus for now on getting meteor-hmr stable out, and hopefully react-hot-loader might get this fixed on it's own; otherwise with everything else working I'm going to try figure it out.

gadicc avatar May 17 '16 09:05 gadicc

This should be fixed with the new React release 15.1.0. I will double check this tomorrow.

kokjinsam avatar May 26 '16 02:05 kokjinsam

I tested it and it's throwing a new error:

W20160526-10:06:44.578(-5)? (STDERR) Warning: exception thrown by devtool while handling onSetChildren: Maximum call stack size exceeded

Do you have any ideas on this? I can't seem to find anything related to this.

kokjinsam avatar May 26 '16 15:05 kokjinsam