From 7713d7f02fafa94b370bb7b56e3cdd395d0a2ff4 Mon Sep 17 00:00:00 2001 From: Shaka Chen Date: Wed, 3 Aug 2022 20:36:34 +0800 Subject: [PATCH] Don't recursively reconnect if the server sends a normal close --- static-files/js/boot.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/static-files/js/boot.js b/static-files/js/boot.js index 702b5b8..42cd03e 100644 --- a/static-files/js/boot.js +++ b/static-files/js/boot.js @@ -64,16 +64,21 @@ function Setup_ws() { } ws.onclose = function (event) { - console.log ('onclose: reconnect'); - ws = null; - ws = new WebSocket (adr + '?r=' + clog['connection_id']); - ws.onopen = function (event) { - console.log ('onclose: reconnect successful'); - Setup_ws(); - } - ws.onclose = function (event) { - console.log ('onclose: reconnect failure'); + if (event.code && event.code === 1000) { + console.log("WebSocket connection got normal close from server. Don't reconnect."); Shutdown_ws(event); + } else { + console.log ('onclose: reconnect'); + ws = null; + ws = new WebSocket (adr + '?r=' + clog['connection_id']); + ws.onopen = function (event) { + console.log ('onclose: reconnect successful'); + Setup_ws(); + } + ws.onclose = function (event) { + console.log ('onclose: reconnect failure'); + Shutdown_ws(event); + } } } }