App not working on Android or iOS after update to Meteor 1.2 rc 15

So today I updated my meteor project to version 1.2 rc 15 and on Android I am having some errors with the app, when i run the command

meteor run android

the simulator opens up, the app start launching and then I just get a blank (white) screen that never changes and this is what I see in terminal:

=> Started app on Android Emulator.           
I20150916-20:53:23.169(-5) (android:file:///android_asset/www/cordova.js:59) Uncaught module cordova-plugin-file.ProgressEvent not found
I20150916-20:53:27.356(-5) (android:file:///android_asset/www/cordova.js:1183) deviceready has not fired after 5 seconds.
I20150916-20:53:27.357(-5) (android:file:///android_asset/www/cordova.js:1176) Channel not fired: onCordovaReady

Then for iOS I ran the command

meteor run ios-device

I compiled the app with no problem on Xcode, but when it launches on the simulator it also gets stuck on the launching splash image with a loading in the middle and this is what I get on Xcode’s console:

2015-09-16 20:59:13.395 VYNO[21503:1625639] DiskCookieStorage changing policy from 2 to 0, cookie file: file:///Users/jeronimocosio/Library/Developer/CoreSimulator/Devices/FE6C0441-0A96-426E-833E-3BD59B43B843/data/Containers/Data/Application/E490D797-ECB2-4BC1-88D1-F5647B5BFD3D/Library/Cookies/com.id1gjzd7jsttaev1yvn0q6.binarycookies
2015-09-16 20:59:13.494 VYNO[21503:1625639] Apache Cordova native platform version 3.9.1 is starting.
2015-09-16 20:59:13.495 VYNO[21503:1625639] Multi-tasking -> Device: YES, App: YES
2015-09-16 20:59:13.499 VYNO[21503:1625639] Unlimited access to network resources
2015-09-16 20:59:13.503 VYNO[21503:1625639] 

Started backup to iCloud! Please be careful.
Your application might be rejected by Apple if you store too much data.
For more information please read "iOS Data Storage Guidelines" at:
https://developer.apple.com/icloud/documentation/data-storage/
To disable web storage backup to iCloud, set the BackupWebStorage preference to "local" in the Cordova config.xml file

2015-09-16 20:59:13.574 VYNO[21503:1625639] [CDVTimer][keyboard] 0.083983ms
2015-09-16 20:59:13.699 VYNO[21503:1625639] [CDVTimer][splashscreen] 124.764979ms
2015-09-16 20:59:13.708 VYNO[21503:1625639] [CDVTimer][file] 9.094000ms
2015-09-16 20:59:13.717 VYNO[21503:1625639] [CDVTimer][statusbar] 7.891953ms
2015-09-16 20:59:13.728 VYNO[21503:1625639] [CDVTimer][socialsharing] 11.600018ms
2015-09-16 20:59:13.729 VYNO[21503:1625639] [CDVTimer][TotalPluginStartup] 154.689014ms
2015-09-16 20:59:13.752 VYNO[21503:1625639] active
2015-09-16 20:59:13.810 VYNO[21503:1625639] Resetting plugins due to page load.
2015-09-16 20:59:14.178 VYNO[21503:1625639] Finished load of: file:///Users/jeronimocosio/Library/Developer/CoreSimulator/Devices/FE6C0441-0A96-426E-833E-3BD59B43B843/data/Containers/Bundle/Application/462843AC-4041-4710-9D3C-D3AB372ACBC3/VYNO.app/www/index.html

I really have no idea what to do right now, so anything could help me, thanks!

I think I should add that on web (Chrome, Firefox, Safari) everything runs smoothly.

I’ve encountered this error before, and in that case is was due to an incompatibility between the installed versions of cordova-plugin-file and cordova-plugin-file-transfer. Could you try upgrading both to their latest versions?

How can I try updating these? when I run meteor list I don’t see them :s.

Have you installed any Cordova plugins yourself? Or packages that have dependencies on plugins?

Yes, both of them:

cordova:com.keepe.cardio                     
cordova:nl.x-services.plugins.socialsharing
mdg:camera                                   
mdg:geolocation 
raix:push

I suspect one of these dependencies is overriding the cordova-plugin-file dependency in the autoupdate package with an older version. Unfortunately, there is no version conflict resolution for Cordova plugins.

Could you post .meteor/local/cordova-build/plugins/fetch.json?

Here it is:

{
    "cordova-plugin-file": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-file"
        },
        "is_top_level": false,
        "variables": {}
    },
    "org.apache.cordova.file": {
        "source": {
            "type": "registry",
            "id": "org.apache.cordova.file"
        },
        "is_top_level": false,
        "variables": {}
    },
    "com.ionic.keyboard": {
        "source": {
            "type": "registry",
            "id": "com.ionic.keyboard@1.0.4"
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-splashscreen": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-splashscreen@2.1.0"
        },
        "is_top_level": true,
        "variables": {}
    },
    "org.apache.cordova.geolocation": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-geolocation@0.3.11"
        },
        "is_top_level": true,
        "variables": {}
    },
    "org.apache.cordova.media": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-media@0.2.15"
        },
        "is_top_level": true,
        "variables": {}
    },
    "org.apache.cordova.vibration": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-vibration@0.3.12"
        },
        "is_top_level": true,
        "variables": {}
    },
    "org.apache.cordova.globalization": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-globalization@0.3.4"
        },
        "is_top_level": true,
        "variables": {}
    },
    "org.apache.cordova.camera": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-camera@0.3.2"
        },
        "is_top_level": true,
        "variables": {}
    },
    "com.phonegap.plugins.PushPlugin": {
        "source": {
            "type": "git",
            "url": "https://github.com/raix/PushPlugin.git",
            "subdir": ".",
            "ref": "c4e3aa69c66bde45472e81ac303a9e39020c9cc7"
        },
        "is_top_level": true,
        "variables": {}
    },
    "org.flybuy.nativeutils": {
        "source": {
            "type": "git",
            "url": "https://github.com/pmwisdom/NativeUtils.git",
            "subdir": ".",
            "ref": "64460ce4e28a346245beb2c5a7413bd67a6c148d"
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-file-transfer": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-file-transfer@1.2.0"
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-console": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-console@1.0.1"
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-device": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-device@1.0.1"
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-legacy-whitelist": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-legacy-whitelist@1.1.0"
        },
        "is_top_level": true,
        "variables": {}
    },
    "com.meteor.cordova-update": {
        "source": {
            "type": "git",
            "url": "https://github.com/meteor/com.meteor.cordova-update.git",
            "subdir": ".",
            "ref": "16c53f53e438fc8b1b9c768de36f0a8974e38b49"
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-statusbar": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-statusbar@1.0.0"
        },
        "is_top_level": true,
        "variables": {}
    },
    "com.keepe.cardio": {
        "source": {
            "type": "registry",
            "id": "com.keepe.cardio@1.0.6"
        },
        "is_top_level": true,
        "variables": {}
    },
    "nl.x-services.plugins.socialsharing": {
        "source": {
            "type": "registry",
            "id": "nl.x-services.plugins.socialsharing@4.3.16"
        },
        "is_top_level": true,
        "variables": {}
    }
}

Hmmm, this is really unexpected. It seems both cordova-plugin-file and org.apache.cordova.file (old ID) are installed without version constraints and not as top level (so not installed by Meteor but as a dependency of some other plugin).

Did you remove the autoupdate package by any chance? (It should work without it, but that’s where the dependency on cordova-plugin-file and cordova-plugin-file-transfer usually comes from.)

I suspect org.apache.cordova.media is the culprit, because 0.2.15 this is a rather old version that has a dependency on an older version of the file plugin.

Did you install this plugin directly, or do you know which package could have a dependency on it?

Thasnk you very much, you were right the plugin that was making this error come up was (feedback) https://atmospherejs.com/elevatedevdesign/feedback I removed it and I could get the app running on the iOS Simulator.

1 Like

Can confirm same issue with that package!

The author solved the error, check it out on https://github.com/ElevateDev/meteor-feedback/issues/1

1 Like