Просмотр исходного кода

ping: use `setInterval` to continuously send out pings

JC Brand 4 лет назад
Родитель
Сommit
db12e8a1e6
3 измененных файлов с 11 добавлено и 16 удалено
  1. 6 13
      package-lock.json
  2. 1 1
      src/headless/plugins/ping/index.js
  3. 4 2
      src/headless/plugins/ping/utils.js

+ 6 - 13
package-lock.json

@@ -2836,13 +2836,6 @@
 						"lodash": "^4.17.11"
 					}
 				},
-				"skeletor.js": {
-					"version": "github:skeletorjs/skeletor#482acb03ff4ec92a5cabccf023294912a574132c",
-					"from": "github:skeletorjs/skeletor#482acb03ff4ec92a5cabccf023294912a574132c",
-					"requires": {
-						"lodash-es": "^4.17.15"
-					}
-				},
 				"strophe.js": {
 					"version": "github:strophe/strophejs#c4a94e59877c06dc2395f4ccbd26f3fee67a4c9f",
 					"from": "strophe.js@github:strophe/strophejs#c4a94e59877c06dc2395f4ccbd26f3fee67a4c9f",
@@ -9793,9 +9786,9 @@
 			"optional": true
 		},
 		"filesize": {
-			"version": "6.2.6",
-			"resolved": "https://registry.npmjs.org/filesize/-/filesize-6.2.6.tgz",
-			"integrity": "sha512-329LZkP3cIi17Eha17gaMEtgl1IJJG/zmv5NIjk6BECybiO+88D970mp2ke7U96DT0h3NT2wimXo/XrdL+7qbQ=="
+			"version": "6.3.0",
+			"resolved": "https://registry.npmjs.org/filesize/-/filesize-6.3.0.tgz",
+			"integrity": "sha512-ytx0ruGpDHKWVoiui6+BY/QMNngtDQ/pJaFwfBpQif0J63+E8DLdFyqS3NkKQn7vIruUEpoGD9JUJSg7Kp+I0g=="
 		},
 		"fill-range": {
 			"version": "4.0.0",
@@ -18466,9 +18459,9 @@
 			}
 		},
 		"npm-bundled": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
-			"integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz",
+			"integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==",
 			"dev": true,
 			"requires": {
 				"npm-normalize-package-bin": "^1.0.1"

+ 1 - 1
src/headless/plugins/ping/index.js

@@ -24,7 +24,7 @@ converse.plugins.add('converse-ping', {
 
         Object.assign(api, ping_api);
 
-        setTimeout(onEverySecond, 1000);
+        setInterval(onEverySecond, 1000);
 
         api.listen.on('connected', onConnected);
         api.listen.on('reconnected', onConnected);

+ 4 - 2
src/headless/plugins/ping/utils.js

@@ -48,14 +48,16 @@ export function onConnected () {
 }
 
 export function onEverySecond () {
+    if (!api.connection.connected()) {
+        return;
+    }
     if (api.settings.get('ping_interval') > 0) {
         const now = new Date();
         if (!lastStanzaDate) {
             lastStanzaDate = now;
         }
         if ((now - lastStanzaDate)/1000 > api.settings.get('ping_interval')) {
-            return api.ping();
+            api.ping();
         }
-        return true;
     }
 }