Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/assets/js/websocket.js')
-rw-r--r--web/assets/js/websocket.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/web/assets/js/websocket.js b/web/assets/js/websocket.js
index 5b8a3948..ccafef87 100644
--- a/web/assets/js/websocket.js
+++ b/web/assets/js/websocket.js
@@ -14,10 +14,12 @@ class WebSocketClient {
}
connect() {
- if (this.ws && this.ws.readyState === WebSocket.OPEN) {
+ if (this.ws && (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING)) {
return;
}
+ this.shouldReconnect = true;
+
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
// Ensure basePath ends with '/' for proper URL construction
let basePath = this.basePath || '';
@@ -97,7 +99,10 @@ class WebSocketClient {
if (!this.listeners.has(event)) {
this.listeners.set(event, []);
}
- this.listeners.get(event).push(callback);
+ const callbacks = this.listeners.get(event);
+ if (!callbacks.includes(callback)) {
+ callbacks.push(callback);
+ }
}
off(event, callback) {