diff --git a/html/realtimechat.js b/html/realtimechat.js
index 79f6538..ce777c8 100644
--- a/html/realtimechat.js
+++ b/html/realtimechat.js
@@ -9,8 +9,9 @@ const HTML_SERVER_OFFLINE_MARKER = "❌";
let ajaxUrl = document.getElementById("ajaxPath").innerText;
let lastMessageId = document.getElementById("LMId").innerText;
+let reqIsFailed = false;
-function appendMessage(nick /* if == "***", then error */, message)
+function appendMessage(nick /* if == "***", then system message */, message)
{
let messageObject = document.createElement("div");
messageObject.setAttribute("class", "main_payload__chat");
@@ -52,6 +53,11 @@ function toAJAX()
{
let xhttp = new XMLHttpRequest();
xhttp.onload = function() {
+ if (reqIsFailed) {
+ reqIsFailed = false;
+ appendMessage("", "Fine: you are online again")
+ }
+
const answer = JSON.parse(xhttp.responseText);
if (!answer.status) {
appendMessage("***", answer.message);
@@ -72,8 +78,6 @@ function toAJAX()
changeOnlineList(onlineInfo.list);
}
if (answer.LMIdChanged) {
- console.log("old", lastMessageId);
- console.log("new", answer.LMId);
lastMessageId = answer.LMId;
let msgArray = answer.newMessages;
msgArray.forEach(function(singleMsg) {
@@ -81,6 +85,13 @@ function toAJAX()
});
}
}
+ xhttp.onerror = function() {
+ if (!reqIsFailed) {
+ reqIsFailed = true;
+ appendMessage("", "Request is failed: no response from server")
+ }
+ }
+
let currentServerStatus = objCurrentServerStatus.innerText === HTML_SERVER_ONLINE_MARKER;
xhttp.open("GET", "/ajax/"+ajaxUrl+"?onlineCounter="+objOnlineCounter.innerText+"&messageId="+lastMessageId+"&serverStatus="+currentServerStatus);
xhttp.send();
diff --git a/html/svg/airplane.svg b/html/svg/airplane.svg
new file mode 100755
index 0000000..07d4f78
--- /dev/null
+++ b/html/svg/airplane.svg
@@ -0,0 +1,8 @@
+
+
diff --git a/html/svg/folder.svg b/html/svg/folder.svg
index 14313ab..42066cd 100644
--- a/html/svg/folder.svg
+++ b/html/svg/folder.svg
@@ -1,5 +1,4 @@
-