Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-8830

application locks up when run with "cordova serve"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • None
    • None
    • cordova-plugin-device
    • None
    • windows 8.1 and OSx
      Cordova 4.3.0

    Description

      When the Device plugin is added to a cordova project and the software is tested using the "cordova serve" option (run a local web server for testing with a browser) the software locks up and fails to start.
      There is an exception in the Device plugin as below
      Exception calling native with command :: Device :: getDeviceInfo ::exception=ReferenceError: 'Windows' is undefined
      This is not supprising as there is no device, it's just serving the app through a web server.
      However the software locks up because the "onCordovaInfoReady" is never fired.
      A simple fix is to modify the device.js file as below
      channel.onCordovaReady.subscribe(function() {
      var callFailed = true; // NEW assume the getInfo fails
      me.getInfo(function(info)

      { callFailed = false; // NEW it's all good //ignoring info.cordova returning from native, we should use value from cordova.version defined in cordova.js //TODO: CB-5105 native implementations should not return info.cordova var buildLabel = cordova.version; me.available = true; me.platform = info.platform; me.version = info.version; me.uuid = info.uuid; me.cordova = buildLabel; me.model = info.model; me.manufacturer = info.manufacturer || 'unknown'; channel.onCordovaInfoReady.fire(); }

      ,function(e)

      { // NEW failure will be handled below utils.alert("[ERROR] Error initializing Cordova: " + e); }

      );
      // new code to stop the system locking up
      if(callFailed)

      { me.available = false; // NEW can't be available as getInfo failed channel.onCordovaInfoReady.fire(); // NEW fire event to allow system to work }

      With this mod inplace the software will work, obviously the device information is invalid.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jml John Little
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: