White/Blank screen and no error

Hey there,
since yesterday i have a really strange bug which drive me to hell…

I have updated from 1.5 to 1.5.2, then reset the application and when i tried to start the application it is just blank…
The first thing was to check if the meteor console shows error? no
Second check was wether there are javascript errors? no
Is the app working in any way? Yes, it displays a console.log result

But the problem is that the app does not show anything.
Does someone have an idea?

List of plugins:

  • accounts-base@1.3.4
  • accounts-google@1.2.0
  • accounts-oauth@1.1.15
  • accounts-password@1.4.0
  • accounts-ui@1.1.9
  • accounts-ui-unstyled@1.2.1
  • alanning:roles@1.2.16
  • aldeed:autoform@6.2.0
  • aldeed:browser-tests@0.1.1
  • aldeed:collection2-core@2.0.1
  • aldeed:schema-deny@2.0.0
  • aldeed:schema-index@2.0.0
  • aldeed:simple-schema@1.5.3
  • aldeed:template-extension@4.1.0
  • allow-deny@1.0.9
  • arillo:flow-router-helpers@0.5.2
  • audit-argument-checks@1.0.7
  • autoupdate@1.3.12
  • babel-compiler@6.20.0
  • babel-runtime@1.0.1
  • base64@1.0.10
  • binary-heap@1.0.10
  • blaze@2.3.2
  • blaze-html-templates@1.1.2
  • blaze-tools@1.0.10
  • boilerplate-generator@1.2.0
  • browser-policy@1.1.0
  • browser-policy-common@1.0.11
  • browser-policy-content@1.1.0
  • browser-policy-framing@1.1.0
  • caching-compiler@1.1.9
  • caching-html-compiler@1.1.2
  • callback-hook@1.0.10
  • cfs:access-point@0.1.49
  • cfs:base-package@0.0.30
  • cfs:collection@0.5.5
  • cfs:collection-filters@0.2.4
  • cfs:data-man@0.0.6
  • cfs:file@0.1.17
  • cfs:filesystem@0.1.2
  • cfs:gridfs@0.0.33
  • cfs:http-methods@0.0.32
  • cfs:http-publish@0.0.13
  • cfs:power-queue@0.9.11
  • cfs:reactive-list@0.0.9
  • cfs:reactive-property@0.0.4
  • cfs:standard-packages@0.5.9
  • cfs:storage-adapter@0.2.3
  • cfs:tempstore@0.1.5
  • cfs:upload-http@0.0.20
  • cfs:worker@0.1.4
  • check@1.2.5
  • chriswessels:hammer@4.0.2
  • coffeescript@1.12.7_1
  • coffeescript-compiler@1.12.7_1
  • crosswalk@1.7.1
  • dbarrett:dropzonejs@4.2.1
  • dburles:collection-helpers@1.1.0
  • dburles:factory@1.1.0
  • ddp@1.3.1
  • ddp-client@2.1.3
  • ddp-common@1.2.9
  • ddp-rate-limiter@1.0.7
  • ddp-server@2.0.2
  • deps@1.0.12
  • diff-sequence@1.0.7
  • dispatch:mocha@0.4.1
  • dynamic-import@0.1.3
  • ecmascript@0.8.3
  • ecmascript-runtime@0.4.1
  • ecmascript-runtime-client@0.4.3
  • ecmascript-runtime-server@0.4.1
  • ejson@1.0.14
  • email@1.2.3
  • es5-shim@4.6.15
  • force-ssl@1.0.15
  • force-ssl-common@1.0.15
  • geojson-utils@1.0.10
  • google-oauth@1.2.4
  • hot-code-push@1.0.4
  • html-tools@1.0.11
  • htmljs@1.0.11
  • http@1.2.12
  • hwillson:stub-collections@1.0.3
  • id-map@1.0.9
  • jiku:bootstrap-toggle@0.0.1
  • johanbrook:publication-collector@1.0.10
  • jquery@1.11.10
  • juliancwirko:postcss@1.2.0
  • kadira:blaze-layout@2.3.0
  • kadira:flow-router@2.12.1
  • launch-screen@1.1.1
  • less@2.7.9
  • livedata@1.0.18
  • localstorage@1.1.1
  • logging@1.1.17
  • mdg:validated-method@1.1.0
  • mdg:validation-error@0.5.1
  • meteor@1.7.2
  • meteor-base@1.1.0
  • meteorspark:util@0.2.0
  • meteortoys:toykit@4.0.1
  • minifier-css@1.2.16
  • minifier-js@2.1.4
  • minimongo@1.3.2
  • mobile-experience@1.0.5
  • mobile-status-bar@1.0.14
  • modules@0.10.0
  • modules-runtime@0.8.0
  • momentjs:moment@2.18.1
  • mongo@1.2.2
  • mongo-dev-server@1.0.1
  • mongo-id@1.0.6
  • mongo-livedata@1.0.12
  • msavin:mongol@4.0.1
  • npm-bcrypt@0.9.3
  • npm-mongo@2.2.30
  • oauth@1.1.13
  • oauth2@1.1.11
  • observe-sequence@1.0.16
  • ordered-dict@1.0.9
  • ostrio:cookies@2.2.2
  • ostrio:files@1.8.3
  • percolate:momentum@0.7.2
  • percolate:velocityjs@1.2.1_1
  • practicalmeteor:chai@2.1.0_1
  • practicalmeteor:loglevel@1.2.0_2
  • practicalmeteor:mocha@2.4.5_6
  • practicalmeteor:mocha-core@1.0.1
  • practicalmeteor:sinon@1.14.1_2
  • promise@0.9.0
  • raix:eventemitter@0.1.3
  • random@1.0.10
  • rate-limit@1.0.8
  • reactive-dict@1.1.9
  • reactive-var@1.0.11
  • reload@1.1.11
  • retry@1.0.9
  • reywood:publish-composite@1.5.2
  • routepolicy@1.0.12
  • service-configuration@1.0.11
  • session@1.1.7
  • sha@1.0.9
  • shell-server@0.2.4
  • simple:authenticate-user-by-token@1.0.1
  • simple:json-routes@2.1.0
  • simple:rest@1.1.1
  • simple:rest-accounts-password@1.1.2
  • simple:rest-bearer-token-parser@1.0.1
  • simple:rest-json-error-handler@1.0.1
  • softwarerero:accounts-t9n@1.3.11
  • spacebars@1.0.15
  • spacebars-compiler@1.1.3
  • srp@1.0.10
  • standard-minifier-js@2.1.2
  • tap:i18n@1.8.2
  • templates:forms@2.1.4
  • templating@1.3.2
  • templating-compiler@1.3.3
  • templating-runtime@1.3.2
  • templating-tools@1.1.2
  • tmeasday:check-npm-versions@0.3.1
  • tmeasday:test-reporter-helpers@0.2.1
  • tomi:upload-server@1.3.4_3
  • tracker@1.1.3
  • twbs:bootstrap@3.3.6
  • ui@1.0.13
  • underscore@1.0.10
  • url@1.1.0
  • useraccounts:core@1.14.2
  • useraccounts:flow-routing@1.14.2
  • useraccounts:unstyled@1.14.2
  • webapp@1.3.19
  • webapp-hashing@1.0.9
  • xolvio:cleaner@0.3.1
  • zimme:active-route@2.3.2

PS: When i copied the project to another computer the project could not connect to mongodb. i tried set MONGO_URL=mongodb://127.0.0.1:27017 without success. Ended using a protable mongodb and it worked again. How can i use the meteor instance of mongodb instead of my own portable?

Have you tried a meteor reset?

yeah, many times… but it did not help

I’m not sure then. Could be a new bug maybe. I would personally file an issue and see if anyone from MDG can help sort it out.

I found something. The problem is a result of the meteor reset…

console.log('flowrouterwait');
FlowRouter.wait();
const roles = Meteor.subscribe('roles');

Tracker.autorun(function() {
    if (roles.ready() ){//&& cubesOfUser.ready()) {
        console.log('roles ready');
        FlowRouter.initialize();
    }
});

Log only shows: “flowrouterwait”

Is the roles publication doing something special, or is it just a standard publication?

Yeah, i think there is the mistake…probably but i can confirm it when i have tested it in a minute:

Meteor.publish('roles', function (){
    if(Meteor.userId())
        return Meteor.roles.find({});
    else {
        return this.stop();
    }
});

Only if i am logged in i can see the roles and initialize the router… well after a reset you are not logged in anymore… bad mistake

This thread can be closed :man_facepalming:

Ahh, I see. Well in case you still need to show information on that page when not logged in, you could instead return this.ready() and everything would still run.

Also instead of using an autorun, you can pass a function as the last param of your subscribe call which will be executed when the subscription is ready.

1 Like