You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Tim Barham (JIRA)" <ji...@apache.org> on 2015/04/28 02:09:08 UTC

[jira] [Closed] (CB-8830) application locks up when run with "cordova serve"

     [ https://issues.apache.org/jira/browse/CB-8830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tim Barham closed CB-8830.
--------------------------

> application locks up when run with "cordova serve"
> --------------------------------------------------
>
>                 Key: CB-8830
>                 URL: https://issues.apache.org/jira/browse/CB-8830
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin Device
>         Environment: windows 8.1 and OSx
> Cordova 4.3.0
>            Reporter: John Little
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org