corr: Number.MAX_SAFE_INTEGER
},
// hasMore == TRUE: a priori there could be more games to load
- hasMore: { live: true, corr: true },
+ hasMore: { live: true, corr: store.state.user.id > 0 },
conn: null,
connexionString: ""
};
// Initialize connection
this.connexionString =
params.socketUrl +
- "/?sid=" +
- this.st.user.sid +
- "&id=" +
- this.st.user.id +
- "&tmpId=" +
- getRandString() +
+ "/?sid=" + this.st.user.sid +
+ "&id=" + this.st.user.id +
+ "&tmpId=" + getRandString() +
"&page=" +
encodeURIComponent(this.$route.path);
this.conn = new WebSocket(this.connexionString);
}
}
);
- } else {
- this.loadMore(
- "live",
- () => this.loadMore("corr", adjustAndSetDisplay)
- );
- }
+ } else this.loadMore("live", adjustAndSetDisplay);
});
},
beforeDestroy: function() {
methods: {
cleanBeforeDestroy: function() {
window.removeEventListener("beforeunload", this.cleanBeforeDestroy);
+ this.conn.removeEventListener("message", this.socketMessageListener);
+ this.conn.removeEventListener("close", this.socketCloseListener);
this.conn.send(JSON.stringify({code: "disconnect"}));
+ this.conn = null;
},
setDisplay: function(type, e) {
this.display = type;
});
},
socketMessageListener: function(msg) {
+ if (!this.conn) return;
const data = JSON.parse(msg.data);
let gamesArrays = {
"corr": this.corrGames,
game.players[0].sid == this.st.user.sid
? game.players[1].sid
: game.players[0].sid;
- this.conn.send(
- JSON.stringify(
- {
- code: "mabort",
- gid: game.id,
- // NOTE: target might not be online
- target: oppsid
- }
- )
- );
+ if (!!this.conn) {
+ this.conn.send(
+ JSON.stringify(
+ {
+ code: "mabort",
+ gid: game.id,
+ // NOTE: target might not be online
+ target: oppsid
+ }
+ )
+ );
+ }
}
else if (!game.deletedByWhite || !game.deletedByBlack) {
// Set score if game isn't deleted on server:
}
},
loadMore: function(type, cb) {
- if (type == "corr") {
+ if (type == "corr" && this.st.user.id > 0) {
ajax(
"/completedgames",
"GET",