1.8.1 backwards compatibility with old client/server file structure for method calls

I’ve been upgrading a project from 1.4 to 1.8.1. Is/can 1.8.1 backwards compatible with old file structure being it still can work where methods are stored in a server fold?

I’ve got two projects almost identical and updated to 1.8.1. One of them seems still work fine with methods in the server folders. The other behaves very strangely. Methods are not called and silently fails. Some cases the method is called but the client receives no callback in client’s Meteor.call.

1 Like

If you remove the entire meteor: section from package.json, it restores pre-1.8 style.

1 Like

When I removed all the items starting with ‘meteor-’ in the package.json I start getting missing package errors. When I start the app it’s asking me to basically put them back with meteor npm install. The app does boot.

I’ve been stepping though the execution of a method call. It’s makes it all the way to websocket send. But the server method is never called. Is there a way to troubleshoot this? Wondering why I don’t see any errors, just silent failures.

accounts-base@1.4.3
accounts-password@1.5.1
accounts-ui@1.3.1
accounts-ui-unstyled@1.4.2
alanning:roles@1.2.15
aldeed:autoform@5.8.1
aldeed:autoform-bs-datepicker@1.2.0
aldeed:autoform-select2@2.0.2
aldeed:collection2@2.10.0
aldeed:collection2-core@1.2.0
aldeed:schema-deny@1.1.0
aldeed:schema-index@1.1.0
aldeed:simple-schema@1.5.3
aldeed:template-extension@3.4.3
allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2
autoupdate@1.6.0
babel-compiler@7.3.4
babel-runtime@1.3.0
base64@1.0.11
binary-heap@1.0.11
blaze@2.3.3
blaze-html-templates@1.0.5
blaze-tools@1.0.10
boilerplate-generator@1.6.0
caching-compiler@1.2.1
caching-html-compiler@1.0.7
callback-hook@1.1.0
check@1.3.1
chrismbeckett:toastr@2.1.2_1
chuangbo:cookie@1.1.0
coffeescript@1.0.17
cottz:flow-router-auth@0.1.3
dburles:collection-helpers@1.0.4
dburles:mongo-collection-instances@0.3.5
ddp@1.4.0
ddp-client@2.3.3
ddp-common@1.4.0
ddp-rate-limiter@1.0.7
ddp-server@2.3.0
deps@1.0.12
diff-sequence@1.1.1
dynamic-import@0.5.1
ecmascript@0.12.4
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.8.0
ecmascript-runtime-server@0.7.1
ejson@1.1.0
email@1.2.3
es5-shim@4.8.0
fetch@0.1.1
force-ssl@1.1.0
force-ssl-common@1.1.0
fourseven:scss@4.12.0
geojson-utils@1.0.10
hot-code-push@1.0.4
html-tools@1.0.11
htmljs@1.0.11
http@1.4.2
iain:accounting@0.4.2
id-map@1.1.0
inter-process-messaging@0.1.0
jasny:bootstrap@3.1.3
jcbernack:reactive-aggregate@0.6.0
jparker:crypto-core@0.1.0
jparker:crypto-md5@0.1.1
jparker:gravatar@0.3.1
jquery@1.11.10
kadira:blaze-layout@2.3.0
kadira:flow-router@2.12.1
ksrv:datatables@0.0.1
kurounin:pagination@1.1.0
kurounin:pagination-blaze@1.0.6
lai:collection-extensions@0.2.1_1
lamhieu:meteorx@2.0.1
launch-screen@1.1.1
lepozepo:cloudinary@4.2.6
lepozepo:s3@5.2.3
less@2.8.0
livedata@1.0.18
localstorage@1.2.0
logging@1.1.20
matb33:collection-hooks@0.8.4
mdg:meteor-apm-agent@3.2.0-rc.0
mdg:validation-error@0.5.1
meteor@1.9.3
meteor-base@1.4.0
meteorhacks:aggregate@1.3.0
meteorhacks:async@1.0.0
meteorhacks:collection-utils@1.2.0
meteorhacks:inject-data@2.0.0
meteorhacks:inject-initial@1.0.4
meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.4
meteortoys:allthings@3.0.0
meteortoys:authenticate@3.0.0
meteortoys:autopub@3.0.0
meteortoys:blueprint@3.0.0
meteortoys:email@3.0.0
meteortoys:hotreload@3.0.0
meteortoys:listen@3.0.0
meteortoys:method@3.0.4
meteortoys:pub@3.0.4
meteortoys:result@3.0.0
meteortoys:shell@3.0.0
meteortoys:status@3.0.0
meteortoys:sub@3.0.0
meteortoys:throttle@3.0.0
meteortoys:toykit@3.0.4
minifier-css@1.4.2
minifier-js@2.4.1
minimongo@1.4.5
mobile-experience@1.0.5
mobile-status-bar@1.0.14
modern-browsers@0.1.4
modules@0.13.0
modules-runtime@0.10.3
momentjs:moment@2.15.0
mongo@1.6.2
mongo-decimal@0.1.1
mongo-dev-server@1.1.0
mongo-id@1.0.7
mongo-livedata@1.0.12
mrt:bootstrap-3@0.3.8
mrt:fancybox@0.5.0
mrt:later@1.6.1
msavin:jetsetter@2.0.0
msavin:mongol@2.0.1
natestrauser:select2@4.0.3
nilsdannemann:pdfmake@1.0.38
npm-bcrypt@0.9.3
npm-mongo@3.1.2
observe-sequence@1.0.16
okgrow:analytics@2.0.0
ordered-dict@1.1.0
percolate:synced-cron@1.3.2
pfafman:filesaver@1.3.2
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.11.2
raix:eventemitter@0.1.3
rajit:bootstrap3-datepicker@1.7.1
random@1.1.0
rate-limit@1.0.9
reactive-dict@1.3.0
reactive-var@1.0.11
reload@1.3.0
retry@1.1.0
routepolicy@1.1.0
sacha:spin@2.3.1
sanjo:jasmine@1.0.1
seba:minifiers-autoprefixer@1.0.1
server-render@0.3.1
service-configuration@1.0.11
session@1.2.0
sha@1.0.9
shell-server@0.4.0
socket-stream-client@0.2.2
softwarerero:accounts-t9n@1.3.4
spacebars@1.0.13
spacebars-compiler@1.1.1
srp@1.0.12
standard-minifier-js@2.4.1
staringatlights:fast-render@3.0.8
staringatlights:inject-data@2.2.1
templating@1.2.15
templating-compiler@1.2.15
templating-runtime@1.2.15
templating-tools@1.1.1
tmeasday:test-reporter-helpers@0.2.1
tracker@1.2.0
ui@1.0.12
underscore@1.0.10
url@1.2.0
useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2
utilities:avatar@0.9.2
velocity:meteor-stubs@1.1.1
velocity:reports@1.0.0
visudare:retina@0.0.5
visudare:retinajs@1.0.0
vsivsi:job-collection@1.4.0
webapp@1.7.3
webapp-hashing@1.0.9
xolvio:backdoor@0.2.1
zimme:active-route@2.3.2

Hmm. I don’t think you’ve done the right thing.

Here’s a simple package.json:

{
  "name": "basic",
  "private": true,
  "scripts": {
    "start": "meteor run",
    "test": "meteor test --once --driver-package meteortesting:mocha",
    "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha",
    "visualize": "meteor --production --extra-packages bundle-visualizer"
  },
  "dependencies": {
    "@babel/runtime": "^7.1.5",
    "meteor-node-stubs": "^0.4.1"
  },
  "meteor": {
    "mainModule": {
      "client": "client/main.js",
      "server": "server/main.js"
    },
    "testModule": "tests/main.js"
  }
}

If you remove the meteor: section, you get this:

{
  "name": "basic",
  "private": true,
  "scripts": {
    "start": "meteor run",
    "test": "meteor test --once --driver-package meteortesting:mocha",
    "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha",
    "visualize": "meteor --production --extra-packages bundle-visualizer"
  },
  "dependencies": {
    "@babel/runtime": "^7.1.5",
    "meteor-node-stubs": "^0.4.1"
  }
}

which is the pre-1.8 style.

Here is what I have for a package.json file

{
  "name": "MYAPPNAME",
  "private": true,
  "scripts": {
    "start": "MONGO_URL=mongodb://localhost:27017/meteor meteor",
    "chimp-watch": "chimp --ddp=http://localhost:3000 --watch --mocha --path=tests/",
    "chimp-test": "chimp --mocha --path=tests/"
  },
  "dependencies": {
    "@babel/runtime": "^7.3.1",
    "authorizenet": "^1.0.7",
    "babel-runtime": "^6.20.0",
    "bcrypt": "^0.8.7",
    "clipboard": "^2.0.1",
    "cropper": "^3.0.0-rc.3",
    "ddp": "^0.12.0",
    "ddp-login": "^1.0.10",
    "fibers": "^1.0.13",
    "iconv-lite": "^0.4.15",
    "jquery": "^3.2.1",
    "jsreport-browser-client-dist": "^1.1.0",
    "ladda": "^1.0.0",
    "meteor-accounts-t9n": "^2.3.1",
    "meteor-job": "^1.4.0",
    "meteor-node-stubs": "^0.2.3",
    "moment-timezone": "^0.5.6",
    "money-math": "^2.4.3",
    "pdfmake": "~0.1.18",
    "pusher": "^1.5.1",
    "slack-node": "^0.1.8",
    "slideout": "^0.1.12",
    "spin.js": "^2.3.2",
    "square-connect": "^2.20190508.0"
  }
}

I don’t have the meteor section. Today I tried adding the section in, just to see if I got some sort of error letting me know why my methods are not calling. Any other suggestions?

your issue is maybe related to this

3rd party packages were using Meteor’s undocumented internal data structures, which then broke when Meteor made internal improvements

Thanks. I have new information on the issue. It appears the methods are getting called but there is a delay of 1 or more minutes.

Something is causing methods to be delayed. Pub subs appear to be fine.