From: Benjamin Auder Date: Wed, 3 Jul 2019 15:21:55 +0000 (+0200) Subject: Fix challenge persistence issue X-Git-Url: https://git.auder.net/assets/%7B%7B%20asset%28%27mixstore/css/doc/current/gitweb.js?a=commitdiff_plain;h=f6f2bef10910ddb3430a40f4ab393b225250234a;p=vchess.git Fix challenge persistence issue --- diff --git a/client/src/store.js b/client/src/store.js index 055fff9d..070b22cc 100644 --- a/client/src/store.js +++ b/client/src/store.js @@ -50,7 +50,7 @@ export const store = }; const socketCloseListener = () => { this.state.conn = new WebSocket(params.socketUrl + "/?sid=" + mysid); - } + }; this.state.conn.onclose = socketCloseListener; const supportedLangs = ["en","es","fr"]; this.state.lang = localStorage["lang"] || diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index c7dc588b..6a576220 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -113,6 +113,15 @@ export default { created: function() { // Always add myself to players' list this.people.push(this.st.user); + // Retrieve live challenge (not older than 30 minute) if any: + const chall = JSON.parse(localStorage.getItem("challenge") || "false"); + if (!!chall) + { + if ((Date.now() - chall.added)/1000 <= 30*60) + this.challenges.push(chall); + else + localStorage.removeItem("challenge"); + } if (this.st.user.id > 0) { // Ask server for current corr games (all but mines) @@ -407,6 +416,7 @@ export default { chall.vname = vname; chall.from = this.st.user; this.challenges.push(chall); + localStorage.setItem("challenge", JSON.stringify(chall)); document.getElementById("modalNewgame").checked = false; }; const cIdx = this.challenges.findIndex(