mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2026-01-13 02:44:39 +08:00
added version checking, resetting elements on disconnect
This commit is contained in:
parent
4ebe1488b4
commit
b022634ea6
2 changed files with 28 additions and 4 deletions
|
|
@ -15,6 +15,7 @@ let MP = {
|
|||
maxReconnectionAttempts: 1,
|
||||
activePage: "preloader",
|
||||
pageTransition: false,
|
||||
expectedVersion: "0.5.0",
|
||||
};
|
||||
|
||||
let tribeSounds = {
|
||||
|
|
@ -113,6 +114,14 @@ function mp_resetLobby() {
|
|||
$(".pageTribe .lobby .inviteLink .link").text("");
|
||||
}
|
||||
|
||||
function mp_resetRace() {
|
||||
$(".pageTest .tribePlayers").empty().addClass("hidden");
|
||||
hideCountdown();
|
||||
hideResultCountdown();
|
||||
$(".pageTest #result .tribeResult").addClass("hidden");
|
||||
$(".pageTest #result .tribeResultChat").addClass("hidden");
|
||||
}
|
||||
|
||||
function mp_applyRoomConfig(cfg) {
|
||||
setMode(cfg.mode, true, true);
|
||||
if (cfg.mode === "time") {
|
||||
|
|
@ -474,6 +483,13 @@ MP.socket.on("mp_update_online_stats", (data) => {
|
|||
$(".pageTribe .prelobby .welcome .stats").append(
|
||||
`<div class="small">Version ${data.version}</div>`
|
||||
);
|
||||
if (data.version !== MP.expectedVersion) {
|
||||
MP.socket.disconnect();
|
||||
Notifications.add(
|
||||
`Tribe version mismatch. Try refreshing or clearing cache. Expected version: ${MP.expectedVersion}, found version: ${data.version}`,
|
||||
-1
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
MP.socket.on("mp_update_name", (data) => {
|
||||
|
|
@ -486,6 +502,9 @@ MP.socket.on("disconnect", (f) => {
|
|||
Notifications.add("Disconnected from Tribe", 0);
|
||||
mp_resetLobby();
|
||||
mp_changeActiveSubpage("preloader");
|
||||
mp_resetLobby();
|
||||
mp_resetRace();
|
||||
mp_changeActiveSubpage("preloader");
|
||||
// $(".pageTribe .preloader div").removeClass("hidden");
|
||||
// $(".pageTribe .preloader").removeClass("hidden").css("opacity", 1);
|
||||
// $(".pageTribe .preloader .icon").html(`<i class="fas fa-fw fa-times"></i>`);
|
||||
|
|
@ -500,7 +519,9 @@ MP.socket.on("connect_failed", (f) => {
|
|||
MP.reconnectionAttempts++;
|
||||
if (MP.reconnectionAttempts >= MP.maxReconnectionAttempts) {
|
||||
$(".pageTribe .preloader .icon").html(`<i class="fas fa-fw fa-times"></i>`);
|
||||
$(".pageTribe .preloader .text").text(`Disconnected from Tribe`);
|
||||
$(".pageTribe .preloader .text").text(
|
||||
`Could not connect to Tribe server: ${f.message}`
|
||||
);
|
||||
} else {
|
||||
$(".pageTribe .preloader .text").text("Connection failed. Retrying");
|
||||
Notifications.add("Tribe connection error: " + f.message, -1);
|
||||
|
|
@ -516,7 +537,9 @@ MP.socket.on("connect_error", (f) => {
|
|||
// $(".pageTribe .preloader").removeClass("hidden").css("opacity", 1);
|
||||
if (MP.reconnectionAttempts >= MP.maxReconnectionAttempts) {
|
||||
$(".pageTribe .preloader .icon").html(`<i class="fas fa-fw fa-times"></i>`);
|
||||
$(".pageTribe .preloader .text").text(`Disconnected from Tribe`);
|
||||
$(".pageTribe .preloader .text").text(
|
||||
`Could not connect to Tribe server: ${f.message}`
|
||||
);
|
||||
} else {
|
||||
$(".pageTribe .preloader .text").text("Connection error. Retrying");
|
||||
Notifications.add("Tribe connection error: " + f.message, -1);
|
||||
|
|
@ -734,6 +757,7 @@ MP.socket.on("mp_room_user_test_progress_update", (data) => {
|
|||
});
|
||||
|
||||
MP.socket.on("mp_room_user_finished", (data) => {
|
||||
$(`.tribeResult`).removeClass("hidden");
|
||||
$(`.tribeResult table .player[socketId=${data.socketId}] .wpm .text`).text(
|
||||
data.result.wpm
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1248,7 +1248,7 @@
|
|||
<div id="premidSecondsLeft" class="hidden"></div>
|
||||
</div>
|
||||
<div id="result" class="hidden">
|
||||
<div class="tribeResult">
|
||||
<div class="tribeResult hidden">
|
||||
<div class="timer" style="opacity: 0">Timer</div>
|
||||
<table>
|
||||
<thead>
|
||||
|
|
@ -1446,7 +1446,7 @@
|
|||
<i class="far fa-fw fa-image"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tribeResultChat">
|
||||
<div class="tribeResultChat hidden">
|
||||
<div class="chat">
|
||||
<div class="title">chat</div>
|
||||
<div class="messages"></div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue