Hot code push stops working on Heroku


#1

We released a mobile app and it was hosted on Modulus. Hot code pushes were working fine but now we moved to Heroku to see if it’s things are more stable. Everything looks good but hot code pushes seem to have stopped working?

How does a meteor cordova app look for changes and decided to reload?


#2

I discovered that /__cordova/manifest.json is not really accessible on the Heroku app. Could this be the reason?


#3

Have you managed to fix this?


#4

I ran into this issue a while back - couple of takeaways…

  1. You need to have android / ios in .meteor/platforms for the application to serve /__cordova/manifest.json
  2. Compare the cordovaCompatibilityVersions field in each manifest for your deploy target and build target. If they don’t match, hot code push will not work.
  3. Essentially a meteor package dependent on a cordova plugin (or normal cordova plugin) has been added / version has been changed. On major Meteor upgrades, sometimes cordova dependencies’ versions get incremented.

Long story short - you’ll have to diff the cordova-bundled version with what’s deployed, and look for changes in cordova dependencies.

Good luck!


#5

I’ll be lying if i can do what you have mentioned!!
Are you using Heroku? i think the buildpack has a role in this? have you forked it and did any change that will lead to what you have mentioned above??


#6

Haha understandable, felt the same way going through this the first time. I’m using Galaxy, but there really shouldn’t be any difference, nor should the buildpack matter.

What you’re looking for package / meteor version changes that have cordova related functionality, that occured after you submitted a build to the App Store.

Also, If you go to yourapp.heroku.com/__cordova/manifest.json, does it return the manifest JSON?