// Disconnect means no more tmpIds:
if (data.code == "disconnect") {
// Remove the live challenge sent by this player:
- ArrayFun.remove(this.challenges, c => c.from.sid == data.from);
+ ArrayFun.remove(
+ this.challenges,
+ c => c.type == "live" && c.from.sid == data.from
+ );
} else {
// Remove the matching live game if now unreachable
const gid = data.page.match(/[a-zA-Z0-9]+$/)[0];
}
},
newChallenge: async function() {
- if (this.newchallenge.cadence.match(/^[0-9]+$/))
+ if (!!(this.newchallenge.cadence.match(/^[0-9]+$/)))
this.newchallenge.cadence += "+0"; //assume minutes, no increment
const ctype = this.classifyObject(this.newchallenge);
// TODO: cadence still unchecked so ctype could be wrong...
const oppsid = this.getOppsid(c);
if (oppsid)
this.send("refusechallenge", { data: c.id, target: oppsid });
+ if (c.type == "corr")
+ ajax("/challenges", "DELETE", { id: c.id });
}
this.send("deletechallenge", { data: c.id });
},
}
else {
// My challenge
- if (c.type == "corr") {
+ if (c.type == "corr")
ajax("/challenges", "DELETE", { id: c.id });
- }
this.send("deletechallenge", { data: c.id });
}
// In all cases, the challenge is consumed: