aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsD <stoned@derpymail.org>2020-04-11 18:02:04 +0200
committersD <stoned@derpymail.org>2020-04-11 18:02:04 +0200
commit82428c0ccc7b4938564b434fb0de153afb5af508 (patch)
tree0618dc1e98a6b211aa3d902765aa4ca36e0b3a2a
parent3a45f347bfae89c2d567695342edfda6ea26e13a (diff)
add an error message when the connection fails
-rw-r--r--webAO/index.html5
-rw-r--r--webAO/master.js13
2 files changed, 17 insertions, 1 deletions
diff --git a/webAO/index.html b/webAO/index.html
index c7f453d..0df9885 100644
--- a/webAO/index.html
+++ b/webAO/index.html
@@ -75,6 +75,11 @@
<p>https is not supported</p>
<p>Please <a href="http://web.aceattorneyonline.com/">click here</a> to be redirected to the http version</p>
</div>
+ <div id="ms_error" class="error" style="display: none;">
+ <p>Could not connect to the master server.</p>
+ <p>Please check your firewall.</p>
+ <p id="ms_error_code">A network error occurred</p>
+ </div>
<noscript>
<div id="js_error" class="error">
<p>webAO requires JavaScript to work</p>
diff --git a/webAO/master.js b/webAO/master.js
index 4281a49..5527ce5 100644
--- a/webAO/master.js
+++ b/webAO/master.js
@@ -24,6 +24,7 @@ if (window.requestIdleCallback) {
masterserver = new WebSocket("ws://" + MASTERSERVER_IP);
masterserver.onopen = (evt) => onOpen(evt);
+ masterserver.onerror = (evt) => onError(evt);
masterserver.onmessage = (evt) => onMessage(evt);
if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
@@ -40,6 +41,7 @@ if (window.requestIdleCallback) {
masterserver = new WebSocket("ws://" + MASTERSERVER_IP);
masterserver.onopen = (evt) => onOpen(evt);
+ masterserver.onerror = (evt) => onError(evt);
masterserver.onmessage = (evt) => onMessage(evt);
if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
@@ -74,6 +76,15 @@ function onOpen(_e) {
masterserver.send("VC#%");
}
+/**
+ * Triggered when an network error occurs.
+ * @param {ErrorEvent} e
+ */
+function onError(evt) {
+ document.getElementById("ms_error").style.display = "block";
+ document.getElementById("ms_error_code").innerText = `A network error occurred: ${evt.reason} (${evt.code})`;
+}
+
function checkOnline(serverID, coIP) {
let oserv = new WebSocket("ws://" + coIP);
@@ -159,4 +170,4 @@ function onMessage(e) {
msChat.scrollTop = msChat.scrollHeight;
}
}
-}
+} \ No newline at end of file