diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2018-04-28 10:38:47 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2018-04-28 10:38:47 -0400 |
| commit | 939d5d229d067dfa5bae0dfa687e639914239915 (patch) | |
| tree | 24597853363b086893f349807155292b9d5e4a78 /www/js/EventServer.js | |
| parent | c3e9a03bfb2c1341285a2b0b51090effa35b32fe (diff) | |
#604 implement timeout after resume to get rid of "stale connections" resulting in error display
Diffstat (limited to 'www/js/EventServer.js')
| -rw-r--r-- | www/js/EventServer.js | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/www/js/EventServer.js b/www/js/EventServer.js index e4bf4c92..0440c33a 100644 --- a/www/js/EventServer.js +++ b/www/js/EventServer.js @@ -115,13 +115,13 @@ angular.module('zmApp.controllers') // console.log ("WS TYPEOF="+ typeof ws); // console.log ("WS="+JSON.stringify(ws)); - if (typeof ws !== 'undefined') + /*if (typeof ws !== 'undefined') { NVRDataModel.debug("websocket already initialized --Forcing close"); ws.close(true); ws=undefined; - } + }*/ NVRDataModel.log("Initializing Websocket with URL " + loginData.eventServer ); @@ -152,18 +152,37 @@ angular.module('zmApp.controllers') NVRDataModel.debug("Websocket Errorhandler called"); - $timeout(function() - { - var eserr = $translate.instant('kEventServerConnErr'); - NVRDataModel.displayBanner('error', [eserr]); - }, 1000); // leave time for transitions + var timeElapsedSinceResume = NVRDataModel.getTimeSinceResumed(); + + if (timeElapsedSinceResume == -1 ) { + // so we display error + timeElapsedSinceResume = moment().subtract('1',hour); + } + + var duration = moment.duration(moment().diff(timeElapsedSinceResume)).asSeconds().toFixed(1); + + NVRDataModel.debug (">> time since resumed is "+duration+" seconds"); + + if (duration > zm.waitTimeTillResume) { + + $timeout(function() + { + var eserr = $translate.instant('kEventServerConnErr'); + NVRDataModel.displayBanner('error', [eserr]); + }, 1000); // leave time for transitions + + } + else { + NVRDataModel.debug ("ES error happened "+timeElapsedSinceResume+" secs after resume, maybe fake, lets wait..."); + } + - if (typeof ws !== 'undefined'){ + /*if (typeof ws !== 'undefined'){ NVRDataModel.debug ("-->Forcing socket close"); ws.close(true); - } + }*/ ws = undefined; |
