X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=3a579445c255cc7b5eed68fab9a291c984035b7e;hb=6d9f43154dc2374edf5b7b802910783869d66de1;hp=851201f8590d6db9f5e33f1fda52ccca0d8ab7ae;hpb=bcaa8c0061b67fa95691a951d415bafef33265a2;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 851201f8..3a579445 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -8,7 +8,7 @@ main p(v-html="infoMessage") input#modalNewgame.modal(type="checkbox") div(role="dialog" aria-labelledby="titleFenedit") - .card.smallpad + .card.smallpad(@keyup.enter="newChallenge") label#closeNewgame.modal-close(for="modalNewgame") fieldset label(for="selectVariant") {{ st.tr["Variant"] }} @@ -221,11 +221,7 @@ export default { // ==> Moves sent by connected remote player(s) if live game let url = "/game/" + g.id; if (g.type == "live") - { - const remotes = g.players.filter(p => this.people.some(pl => pl.sid == p.sid)); - const rIdx = (remotes.length == 1 ? 0 : Math.floor(Math.random()*2)); - url += "?rid=" + remotes[rIdx].sid; - } + url += "?rid=" + g.rid; this.$router.push(url); }, getVname: function(vid) { @@ -276,6 +272,9 @@ export default { const data = JSON.parse(msg.data); switch (data.code) { + case "duplicate": + alert("Warning: duplicate 'offline' connection"); + break; // 0.2] Receive clients list (just socket IDs) case "pollclients": { @@ -284,8 +283,9 @@ export default { // Ask identity, challenges and game(s) this.st.conn.send(JSON.stringify({code:"askidentity", target:sid})); this.st.conn.send(JSON.stringify({code:"askchallenge", target:sid})); - this.st.conn.send(JSON.stringify({code:"askgame", target:sid})); }); + // Also ask current games to all playing peers (TODO: some design issue) + this.st.conn.send(JSON.stringify({code:"askgames"})); break; } case "askidentity":