vulcan-material-ui icon indicating copy to clipboard operation
vulcan-material-ui copied to clipboard

TypeError: Cannot read property 'sheetsRegistry' of undefined

Open enzolutions opened this issue 5 years ago • 13 comments

I tried vulcan-material-ui with the devel branch of Vulcan, and I got this error in server side

// error at callback [injectJss] in hook [router.server.postrender]
TypeError: Cannot read property 'sheetsRegistry' of undefined
   at injectJss (packages/erikdakoda:vulcan-material-ui/server/wrapWithMuiTheme.jsx:34:22)
   at runCallback (packages/vulcan:lib/lib/modules/callbacks.js:108:33)
   at packages/vulcan:lib/lib/modules/callbacks.js:156:16
    at Array.reduce (<anonymous>)
   at runCallbacks (packages/vulcan:lib/lib/modules/callbacks.js:136:22)
   at Promise.asyncApply (packages/vulcan:lib/lib/server/apollo-ssr/renderPage.js:75:5)
   at /Users/enzo/.meteor/packages/promise/.0.11.2.1eqp2nx.ymsr++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/meteor-promise/fiber_pool.js:43:40

This is the code that throw the error https://github.com/ErikDakoda/vulcan-material-ui/blob/master/server/wrapWithMuiTheme.jsx#L34

enzolutions avatar Mar 13 '19 19:03 enzolutions

You must limit Vulcan version to 1.12.13

Le 13 mars 2019 à 20:08, à 20:08, enzo - Eduardo Garcia [email protected] a écrit:

I tried vulcan-material-ui with the devel branch of Vulcan, and I got this error in server side

// error at callback [injectJss] in hook [router.server.postrender]
TypeError: Cannot read property 'sheetsRegistry' of undefined
   at injectJss
(packages/erikdakoda:vulcan-material-ui/server/wrapWithMuiTheme.jsx:34:22)
   at runCallback
(packages/vulcan:lib/lib/modules/callbacks.js:108:33)
   at packages/vulcan:lib/lib/modules/callbacks.js:156:16
   at Array.reduce (<anonymous>)
   at runCallbacks
(packages/vulcan:lib/lib/modules/callbacks.js:136:22)
   at Promise.asyncApply
(packages/vulcan:lib/lib/server/apollo-ssr/renderPage.js:75:5)
   at
/Users/enzo/.meteor/packages/promise/.0.11.2.1eqp2nx.ymsr++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/meteor-promise/fiber_pool.js:43:40

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/ErikDakoda/vulcan-material-ui/issues/56

Julien-Sytadelle avatar Mar 13 '19 19:03 Julien-Sytadelle

Hi, @Julien-Sytadelle how I can do that? BTW I am using a two repo install, using devel branch.

Do you think that could be a problem?

enzolutions avatar Mar 13 '19 19:03 enzolutions

You pull master branch @1.12.13

Le 13 mars 2019 à 20:47, à 20:47, enzo - Eduardo Garcia [email protected] a écrit:

Hi, @Julien-Sytadelle how I can do that? BTW I am using a two repo install, using devel branch.

Do you think that could be a problem?

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ErikDakoda/vulcan-material-ui/issues/56#issuecomment-472577736

Julien-Sytadelle avatar Mar 13 '19 19:03 Julien-Sytadelle

Uhhh, there is no brach or tag with that name

git tag | grep 1.
0.14.3
1.1.0
v0.10.0
v0.11.0
v0.11.1
v0.12.0
v0.12.0-pre
v0.12.1
v0.13.0
v0.13.0rc
v0.14.0
v0.14.0-rc
v0.14.1
v0.14.2
v0.15
v0.15-rc
v0.15.1
v0.15.1-rc
v0.21.1
v0.22.1rc
v0.9.10
v0.9.11
v1.0.0
v1.11.1
v1.2.0
v1.5.0
v1.6.0
v1.7.0
v1.8

Thanks for your help.

enzolutions avatar Mar 13 '19 19:03 enzolutions

Hi,

The problem comes from a new component missing in forms. Inner form or something like that. If you have a solution, a lot of people would thank you. It may not be difficult to solve but I did not have any free time to dig.

Best

Le 13 mars 2019 à 20:50, à 20:50, Julien Cornaz [email protected] a écrit:

You pull master branch @1.12.13

Le 13 mars 2019 à 20:47, à 20:47, enzo - Eduardo Garcia [email protected] a écrit:

Hi, @Julien-Sytadelle how I can do that? BTW I am using a two repo install, using devel branch.

Do you think that could be a problem?

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ErikDakoda/vulcan-material-ui/issues/56#issuecomment-472577736

Julien-Sytadelle avatar Mar 13 '19 19:03 Julien-Sytadelle

Sorry, not on my computer so I cannot tell you the commit Id but 1.12.13 is visible in commit history of master branch. Please note that i may have make a mistake and right version may be 1.8.13. The important number is the last one (13).

Le 13 mars 2019 à 20:54, à 20:54, enzo - Eduardo Garcia [email protected] a écrit:

Uhhh, there is no brach or tag with that name

git tag | grep 1.
0.14.3
1.1.0
v0.10.0
v0.11.0
v0.11.1
v0.12.0
v0.12.0-pre
v0.12.1
v0.13.0
v0.13.0rc
v0.14.0
v0.14.0-rc
v0.14.1
v0.14.2
v0.15
v0.15-rc
v0.15.1
v0.15.1-rc
v0.21.1
v0.22.1rc
v0.9.10
v0.9.11
v1.0.0
v1.11.1
v1.2.0
v1.5.0
v1.6.0
v1.7.0
v1.8

Thanks for your help.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ErikDakoda/vulcan-material-ui/issues/56#issuecomment-472580326

Julien-Sytadelle avatar Mar 13 '19 19:03 Julien-Sytadelle

The current version of material-ui is only compatible with Vulcan 1.12.8. An update is coming soon.

ErikDakoda avatar Mar 13 '19 21:03 ErikDakoda

Ahh ok

I was trying with

commit 553a0627d47e2cf19b6722e195c4461b4ae68634
Author: SachaG <[email protected]>
Date:   Wed Jan 2 14:41:41 2019 +0900

    v1.12.13
    

enzolutions avatar Mar 13 '19 23:03 enzolutions

@ErikDakoda thanks for your support I tried with 1.12.8 and 1.12.13, but in both I got the following error in client side.

Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of `FormattedMessage`.
    at invariant (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:110367:15)
    at createFiberFromTypeAndProps (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:120504:11)
    at createFiberFromElement (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:120525:15)
    at reconcileSingleElement (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:122797:23)
    at reconcileChildFibers (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:122854:35)
    at reconcileChildren (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:124668:28)
    at finishClassComponent (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:125024:5)
    at updateClassComponent (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:124962:24)
    at beginWork (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:125910:16)
    at performUnitOfWork (http://localhost:3250/packages/modules.js?hash=a0e2ed67e1dac99218e46f3f01bbeee7cf6b3b54:129578:12)

I checked the code in 1.12.8 but I couldbn't determine the issue.

import React, { Component } from 'react';
import { intlShape } from './shape';

const FormattedMessage = ({ id, values, defaultMessage = '', html = false, className = '' }, { intl }) => {
  const message = intl.formatMessage({ id, defaultMessage }, values);
  const cssClass = `i18n-message ${className}`;

  return html ? 
    <span className={cssClass} dangerouslySetInnerHTML={{__html: message}}/> :
    <span className={cssClass}>{message}</span>
}

FormattedMessage.contextTypes = {
  intl: intlShape
}

export default FormattedMessage;

Any recommendation in try to fix this issue, would be really appreciated.

enzolutions avatar Mar 14 '19 00:03 enzolutions

You may want to try locking your Material-UI version:

meteor npm install --save @material-ui/[email protected]

ErikDakoda avatar Mar 14 '19 10:03 ErikDakoda

It's related to Apollo2 SSR changes. I am merging and updating the package into the core right now. See PR #51

Sorry for the headache @enzolutions ^^

eric-burel avatar Mar 15 '19 08:03 eric-burel

vulcan 1.13.0, I tried this:

function injectJss (obj) {
  const { request:req } = obj;
  const sheets = req.sheetsRegistry.toString();
  obj.appendToHead(`<style id="jss-server-side">${sheets}</style>`);
}

kedeng avatar Apr 13 '19 03:04 kedeng

@kedeng Thanks. This solved the problem.

akmdi avatar Apr 16 '19 09:04 akmdi