jkrup / meteor-now

Instantly deploy your Meteor apps with `meteor-now`
MIT License
338 stars 25 forks source link

Hot code push to android mobile not working, Expected ':status' header not present #93

Open cdcv opened 6 years ago

cdcv commented 6 years ago

A meteor-now project yields two errors that block hot code push to Android devices from working. Effectively, this means that we can't use meteor-now to deploy this project. Not sure if this is a general problem affecting all projects.

When the same project is deployed to Meteor's Galaxy servers, hot code push works as expected. Also, hot code push to ios (using meteor-now) I believe works correctly, though need to re-test this.

Using meteor-now, the hot code push code manifest does not appear to download correctly to the android device, yielding the error on the meteor console connected to the device:

meteor webapp.js:71) Error: Error downloading asset manifest

This appears to be because of the other error:

java.net.ProtocolException: Expected ':status' header not present

The manifest is being served from the meteor-now server, as the following yields the manifest: https://my_project_url.com/__cordova/manifest.json

The manifest served by meteor-now server is is identical (except for the hashes) to the manifest served when the project is deployed to galaxy.

Thanks for your help.

kwuite commented 6 years ago

@cdcv, I am having the exact same issue. Just today I traced back the problem from changes I made to our kubernetes nginx-controller version.

In version 0.8.3 Android has no issues in fetching the manifest. In versions 0.9 > 0.10.2, I get com.meteor.webapp.WebAppException: Error downloading asset manifest caused by java.net.ProtocolException: Expected ':status' header not present.

I am now testing new versions of the controller and figuring out the difference in 0.8.3 and 0.9.x to understand why this is happening.

In case I find a resolution I will post it online.

kwuite commented 6 years ago

The issue was resolved after updating to kubernetes version 0.14.0.

wildhart commented 6 years ago

I fixed this same problem by upgrading cordova-plugin-meteor-webapp with:

meteor add cordova:cordova-plugin-meteor-webapp@1.6.0

and then redeploying fixed the hot code push.