You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, it seems that there are errors when adding spiderable to a project that uses observatory. More specifically, running phantomjs with observatory.
Spiderable uses phantomjs.
Opening a meteor site that uses observatory with phantomjs results in js errors. TypeError: 'undefined' is not a function (evaluating 'this._emitWithSeverity.bind(this,o)')
I can't say I found the exact reason, but repro seems to be 100%. Maybe it's related to some user agent magic or something in phantomjs's javascript agent or the way it handles network connections or something, but anyway I get the error when deploying a simple meteor site and adding only two packages: spiderable (which before adding observatory works) and then observatory.
$ mrt create test
$ cd test
$ mrt add spiderable
$ mrt deploy testing123xxx.meteor.com
$ curl http://testing123xxx.meteor.com/?_escaped_fragment_=
>> OK (page gets rendered)
$ mrt add observatory
$ curl http://testing123xxx.meteor.com/?_escaped_fragment_=
>> timeout. (15 secs later we get a JS bare page instead of an HTML page)
Now writing a phantomjs script and running it shows the actual JS errors
Here's the phantomjs script (copied from spiderable):
var url = "http://testing123xxx.meteor.com/";
var page = require('webpage').create();
page.open(url);
setInterval(function() {
var ready = page.evaluate(function () {
if (typeof Meteor !== 'undefined' &&
typeof(Meteor.status) !== 'undefined' &&
Meteor.status().connected) {
Deps.flush();
console.log(5);
return DDP._allSubscriptionsReady();
}
return false;
});
if (ready) { var out = page.content;
out = out.replace(/<script[^>]+>(.|\n|\r)*?<\/script\s*>/ig, '');
out = out.replace('<meta name="fragment" content="!">', '');
console.log(out);
phantom.exit();
}}, 100);
And now:
$ phantomjs my-phantom-script
TypeError: 'undefined' is not a function (evaluating 'this._emitWithSeverity.bind(this,o)')
I have also tried this with mrt deploy --debug and the same error happens.
Again, I don't see the direct connection (in a regular browser that's OK) but in phantomjs I definitely see the errors and it's 100% repro.
The text was updated successfully, but these errors were encountered:
Hi, it seems that there are errors when adding spiderable to a project that uses observatory. More specifically, running phantomjs with observatory.
Spiderable uses phantomjs.
Opening a meteor site that uses observatory with phantomjs results in js errors.
TypeError: 'undefined' is not a function (evaluating 'this._emitWithSeverity.bind(this,o)')
I can't say I found the exact reason, but repro seems to be 100%. Maybe it's related to some user agent magic or something in phantomjs's javascript agent or the way it handles network connections or something, but anyway I get the error when deploying a simple meteor site and adding only two packages: spiderable (which before adding observatory works) and then observatory.
Now writing a phantomjs script and running it shows the actual JS errors
Here's the phantomjs script (copied from spiderable):
And now:
I have also tried this with
mrt deploy --debug
and the same error happens.Again, I don't see the direct connection (in a regular browser that's OK) but in phantomjs I definitely see the errors and it's 100% repro.
The text was updated successfully, but these errors were encountered: