From a1a920ee671fc61154c76eed2b9c645b52e2661e Mon Sep 17 00:00:00 2001 From: Evan Song <52982404+ferothefox@users.noreply.github.com> Date: Sun, 17 Nov 2024 19:58:43 -0700 Subject: [PATCH 1/9] Fixes MOD-163 (#2952) * init: correctly type powerstate in crash state Signed-off-by: Evan Song * feat: handle oom_killed and exit_code when a server crashes Signed-off-by: Evan Song --------- Signed-off-by: Evan Song --- .../src/pages/servers/manage/[id].vue | 26 +++++++++++++++-- .../src/pages/servers/manage/[id]/index.vue | 29 +++++++++++++++++++ apps/frontend/src/types/servers.ts | 3 ++ 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/apps/frontend/src/pages/servers/manage/[id].vue b/apps/frontend/src/pages/servers/manage/[id].vue index 5dc51646..2348558e 100644 --- a/apps/frontend/src/pages/servers/manage/[id].vue +++ b/apps/frontend/src/pages/servers/manage/[id].vue @@ -239,6 +239,7 @@ :is-server-running="isServerRunning" :stats="stats" :server-power-state="serverPowerState" + :power-state-details="powerStateDetails" :console-output="throttledConsoleOutput" :socket="socket" :server="server" @@ -312,6 +313,8 @@ const ramData = ref([]); const isActioning = ref(false); const isServerRunning = computed(() => serverPowerState.value === "running"); const serverPowerState = ref("stopped"); +const powerStateDetails = ref<{ oom_killed?: boolean; exit_code?: number }>(); + const uptimeSeconds = ref(0); const firstConnect = ref(true); const copied = ref(false); @@ -488,7 +491,14 @@ const handleWebSocketMessage = (data: WSEvent) => { reauthenticate(); break; case "power-state": - updatePowerState(data.state); + if (data.state === "crashed") { + updatePowerState(data.state, { + oom_killed: data.oom_killed, + exit_code: data.exit_code, + }); + } else { + updatePowerState(data.state); + } break; case "installation-result": handleInstallationResult(data); @@ -606,9 +616,19 @@ const updateStats = (currentStats: Stats["current"]) => { }; }; -const updatePowerState = (state: ServerState) => { - console.log("Power state:", state); +const updatePowerState = ( + state: ServerState, + details?: { oom_killed?: boolean; exit_code?: number }, +) => { + console.log("Power state:", state, details); serverPowerState.value = state; + + if (state === "crashed") { + powerStateDetails.value = details; + } else { + powerStateDetails.value = undefined; + } + if (state === "stopped" || state === "crashed") { stopUptimeUpdates(); uptimeSeconds.value = 0; diff --git a/apps/frontend/src/pages/servers/manage/[id]/index.vue b/apps/frontend/src/pages/servers/manage/[id]/index.vue index a04ca00e..fdca6702 100644 --- a/apps/frontend/src/pages/servers/manage/[id]/index.vue +++ b/apps/frontend/src/pages/servers/manage/[id]/index.vue @@ -35,6 +35,31 @@ +
+
+
+ You're creating backups too fast. Please wait a moment before trying again. +
@@ -36,10 +39,9 @@ + + +
+ + + + + From d83e1a5c6bb895f82fdd31ec4fd7c674da573e68 Mon Sep 17 00:00:00 2001 From: Jai A Date: Tue, 19 Nov 2024 17:59:42 -0800 Subject: [PATCH 8/9] fix lint --- apps/frontend/src/public/promo-frame-rev-iq.html | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/apps/frontend/src/public/promo-frame-rev-iq.html b/apps/frontend/src/public/promo-frame-rev-iq.html index abcbe2a4..f4d142e7 100644 --- a/apps/frontend/src/public/promo-frame-rev-iq.html +++ b/apps/frontend/src/public/promo-frame-rev-iq.html @@ -4,11 +4,7 @@ Modrinth App Ad - +