Callbacks not firing on Meteor method calls


#1

Upgrading an app from version 1.1.0.2 to 1.2.1, all Meteor.calls no longer have their callbacks firing. E.g. assume I’ve defined in my server directory:

Meteor.methods({
  foo: function(text) {
    console.log(text);
    return "bar";
  }
});

Performing the following yields a server-side console log (that) but nothing on the client, i.e. no client-side log output:

Meteor.call("foo", "that", function(error, result) {
  console.log("returned");
  console.log(error, result);
})

Even throwing an error in the server method does not return an error object (the first parameter of the callback).

Finally, I tried calling a non-existent function foo2 and get the standard client-side “Method not found” error, so I know my Meteor server methods are defined and recognized somewhere.

Reverting back to v1.1.0.2 of Meteor… the problem goes away. Re-upgrading to 1.2.2, the problem comes back.

Note that on other projects, I do not seem to have this problem (i.e. it’s likely not my computer). It’s just this one (very critical) project repo.

Please help.


#2

Btw, I tried further updating to 1.3.5 and even 1.4, in hopes there was a downstream patch, but that didn’t solve the problem.


#3

Never mind.

I figured something must have been getting in the middle of the Method.call and immediately suspected an installed package. What would want to get in the middle but a monitoring package? This leads to kadira.

Sure enough… problem solved. Updated meteorhacks:kadira to version 2.23.1 and the problem went away.

See: https://github.com/meteorhacks/kadira/issues/181