summaryrefslogtreecommitdiff
path: root/www/js/EventServer.js
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2018-04-28 10:38:47 -0400
committerPliable Pixels <pliablepixels@gmail.com>2018-04-28 10:38:47 -0400
commit939d5d229d067dfa5bae0dfa687e639914239915 (patch)
tree24597853363b086893f349807155292b9d5e4a78 /www/js/EventServer.js
parentc3e9a03bfb2c1341285a2b0b51090effa35b32fe (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.js37
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;