From 7b01e4470c228c99d3e54c8319a1be20237563c6 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Wed, 21 Aug 2019 17:26:35 +0200
Subject: [PATCH] Fix polling bug. Still multiple challenge sending issue

---
 client/src/views/Hall.vue | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue
index b6cac488..6e536ecc 100644
--- a/client/src/views/Hall.vue
+++ b/client/src/views/Hall.vue
@@ -146,10 +146,16 @@ export default {
       );
     }
     // 0.1] Ask server for room composition:
-    const socketOpenListener = () => {
+    const funcPollClients = () => {
       this.st.conn.send(JSON.stringify({code:"pollclients"}));
     };
-    this.st.conn.onopen = socketOpenListener;
+    if (!!this.st.conn && this.st.conn.readyState == 1) //1 == OPEN state
+      funcPollClients();
+    else //socket not ready yet (initial loading)
+    {
+      const socketOpenListener = funcPollClients;
+      this.st.conn.onopen = socketOpenListener;
+    }
     // TODO: is this required here?
     this.oldOnmessage = this.st.conn.onmessage || Function.prototype;
     this.st.conn.onmessage = this.socketMessageListener;
@@ -274,6 +280,10 @@ export default {
               vid: c.vid,
               timeControl: c.timeControl
             };
+
+            // TODO: understand multiple (increasing) "send challenge" events.... (when potential opponent navigate Hall --> variants --> Hall)
+console.log("send challenge to " + data.from);
+
             this.st.conn.send(JSON.stringify({code:"challenge",
               chall:myChallenge, target:data.from}));
           }
@@ -308,6 +318,9 @@ export default {
         }
         case "challenge":
         {
+
+console.log(data.chall);
+
           // Receive challenge from some player (+sid)
           let newChall = data.chall;
           newChall.type = this.classifyObject(data.chall);
-- 
2.44.0