From f519c96298473525a7bb006e9ef7efa34cb43a46 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Thu, 10 Dec 2020 21:25:23 +0100 Subject: [PATCH] In web client, only reconnect if websocket.readyState != 1. This eliminates a bug where the client's reconnect impatience would never allow a connection to be established, if the server was too busy. --- rogue_chat.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/rogue_chat.html b/rogue_chat.html index ebe64f2..1b62a81 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -454,7 +454,6 @@ let server = { this.url = url; this.websocket = new WebSocket(this.url); this.websocket.onopen = function(event) { - server.connected = true; game.thing_types = {}; game.terrains = {}; server.send(['TASKS']); @@ -464,7 +463,6 @@ let server = { tui.switch_mode('login'); }; this.websocket.onclose = function(event) { - server.connected = false; tui.switch_mode('waiting_for_server'); tui.log_msg("@ server disconnected :("); }; @@ -1660,13 +1658,13 @@ for (let key_selector of key_selectors) { }, false); } window.setInterval(function() { - if (server.connected) { + if (server.websocket.readyState == 1) { server.send(['PING']); } else { server.reconnect_to(server.url); tui.log_msg('@ attempting reconnect …') } -}, 5000); +}, 1000); window.setInterval(function() { let val = "?"; let span_decoration = "none"; -- 2.30.2