From: Benjamin Auder Date: Wed, 21 Aug 2019 15:26:35 +0000 (+0200) Subject: Fix polling bug. Still multiple challenge sending issue X-Git-Url: https://git.auder.net/variants/Apocalypse/scripts/current/pieces/index.css?a=commitdiff_plain;h=7b01e4470c228c99d3e54c8319a1be20237563c6;p=vchess.git Fix polling bug. Still multiple challenge sending issue --- 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);