You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Prashant Malik (JIRA)" <ji...@apache.org> on 2017/09/14 07:24:00 UTC
[jira] [Commented] (CB-12035) [cordova-plugin-network-information]
connection info is not reliable on Android 6
[ https://issues.apache.org/jira/browse/CB-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16165881#comment-16165881 ]
Prashant Malik commented on CB-12035:
-------------------------------------
Hi Everyone,
We are facing the same issue with our clients and i found that *network.js* code in function it's invoking the wrong event i.e _OFFLINE_ even though device is connected to the Wi-Fi. JS code is as follows:
{code:java}
netwrok.js: #59
channel.onCordovaReady.subscribe(function() {
me.getInfo(function(info) {*//info value is coming as none even-though device is connected to wi-fi*
me.type = info;
if (info === "none") {
// set a timer if still offline at the end of timer send the offline event
timerId = setTimeout(function(){
cordova.fireDocumentEvent("offline");
timerId = null;
}, timeout);
} else {
// If there is a current offline event pending clear it
if (timerId !== null) {
clearTimeout(timerId);
timerId = null;
}
cordova.fireDocumentEvent("online");
}
// should only fire this once
if (channel.onCordovaConnectionReady.state !== 2) {
channel.onCordovaConnectionReady.fire();
}
}
{code}
Any update on the solution or if anyone found the work around? Please suggest!!
Thanks & Regards
Prashant Malik
> [cordova-plugin-network-information] connection info is not reliable on Android 6
> ---------------------------------------------------------------------------------
>
> Key: CB-12035
> URL: https://issues.apache.org/jira/browse/CB-12035
> Project: Apache Cordova
> Issue Type: Bug
> Components: cordova-plugin-network-information
> Affects Versions: 1.3.0
> Environment: Samsung Galaxy Edge S6 / Android 6
> useragent: "Mozilla/5.0 (Linux; Android 6.0.1; SM-G925F Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.124 Mobile Safari/537.36"
> reproduced with:
> cordova-plugin-network-information@1.3.0 (latest)
> cordova-plugin-network-information@1.2.0
> Reporter: jakub-g
> Labels: android
>
> I've noticed that information exposed by the plugin is not reliable. It happens often that I'm connected to the internet via WiFi, and the plugin says that there's no connection.
> It's not easy to reproduce it on-demand, but I reproduced it many times recently. It happens most often when in the morning, I open the Cordova app that was running in background throughout the night.
> Then, when I connect to Chrome Dev Tools, I can do a repl session like this:
> {code}
> > navigator.connection.type
> "none"
> > window.fetch('http://www.example.org').then(function(res) {console.log(res.status)})
> Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
> 200
> Fetch complete: GET "http://www.example.org/".(anonymous function)
> > navigator.connection.type
> "none"
> {code}
> So, the plugin thinks I'm offline, yet any HTTP calls done within the app without checking if I'm offline or online, are successful (either from the app or devtools).
> When I disable WiFi and reenable it, after a few seconds the plugin updates its state and then it tells that connection type is "wifi".
> There are several possibilities here:
> - either system (or device driver) gives us incorrect information, or
> - cordova plugin is caching data and/or not listening properly to all the events and/or incorrectly processing it
> and most probably the issue manifests itself when the device is asleep for many hours (but I'm not sure about this).
> Note that I also noticed another issue, that sometimes the Chrome network stack thinks I'm offline (when I do an HTTP call, it fails immediately and I see network errors in devtools console) - and then I restart the Cordova app, and everything's fine, all HTTP calls are ok - but this is unrelated to this ticket, and perhaps a bug in Chrome.
> This ticket seems to be most likely a bug in the plugin, because as I said before, doing HTTP call succeeds despite the plugin telling me that I'm offline.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org