[ 
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:
> [email protected] (latest)
> [email protected]
>            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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to