From d8b7e12c4dc28460aa8c956137e5fc9ab91dbf3b Mon Sep 17 00:00:00 2001 From: divocat Date: Wed, 15 Oct 2025 21:24:56 +0300 Subject: [PATCH] feat: add skip next checks if sb is not running --- fe-app-podkop/src/podkop/methods/shell/index.ts | 2 ++ .../src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts | 2 +- .../src/podkop/tabs/diagnostic/initController.ts | 3 +++ fe-app-podkop/src/podkop/types.ts | 1 + .../htdocs/luci-static/resources/view/podkop/main.js | 9 +++++++-- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/fe-app-podkop/src/podkop/methods/shell/index.ts b/fe-app-podkop/src/podkop/methods/shell/index.ts index eca780c..15c079a 100644 --- a/fe-app-podkop/src/podkop/methods/shell/index.ts +++ b/fe-app-podkop/src/podkop/methods/shell/index.ts @@ -80,4 +80,6 @@ export const PodkopShellMethods = { callBaseMethod(Podkop.AvailableMethods.SHOW_SING_BOX_CONFIG), checkLogs: async () => callBaseMethod(Podkop.AvailableMethods.CHECK_LOGS), + getSystemInfo: async () => + callBaseMethod(Podkop.AvailableMethods.GET_SYSTEM_INFO), }; diff --git a/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts b/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts index deb18fe..4d73acc 100644 --- a/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts +++ b/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts @@ -101,7 +101,7 @@ export async function runSingBoxCheck() { ], }); - if (!atLeastOneGood) { + if (!atLeastOneGood || !data.sing_box_process_running) { throw new Error('Sing-box checks failed'); } } diff --git a/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts b/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts index 469ff7a..e237757 100644 --- a/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts +++ b/fe-app-podkop/src/podkop/tabs/diagnostic/initController.ts @@ -68,6 +68,7 @@ async function handleRestart() { restart: { loading: false }, }, }); + store.reset(['diagnosticsChecks']); }, 5000); } } @@ -93,6 +94,7 @@ async function handleStop() { stop: { loading: false }, }, }); + store.reset(['diagnosticsChecks']); } } @@ -118,6 +120,7 @@ async function handleStart() { start: { loading: false }, }, }); + store.reset(['diagnosticsChecks']); }, 5000); } } diff --git a/fe-app-podkop/src/podkop/types.ts b/fe-app-podkop/src/podkop/types.ts index 6300551..718a5d1 100644 --- a/fe-app-podkop/src/podkop/types.ts +++ b/fe-app-podkop/src/podkop/types.ts @@ -67,6 +67,7 @@ export namespace Podkop { GLOBAL_CHECK = 'global_check', SHOW_SING_BOX_CONFIG = 'show_sing_box_config', CHECK_LOGS = 'check_logs', + GET_SYSTEM_INFO = 'get_system_info', } export enum AvailableClashAPIMethods { diff --git a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js index ab81562..5ed5fb1 100644 --- a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js +++ b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js @@ -449,6 +449,7 @@ var Podkop; AvailableMethods2["GLOBAL_CHECK"] = "global_check"; AvailableMethods2["SHOW_SING_BOX_CONFIG"] = "show_sing_box_config"; AvailableMethods2["CHECK_LOGS"] = "check_logs"; + AvailableMethods2["GET_SYSTEM_INFO"] = "get_system_info"; })(AvailableMethods = Podkop2.AvailableMethods || (Podkop2.AvailableMethods = {})); let AvailableClashAPIMethods; ((AvailableClashAPIMethods2) => { @@ -520,7 +521,8 @@ var PodkopShellMethods = { ), globalCheck: async () => callBaseMethod(Podkop.AvailableMethods.GLOBAL_CHECK), showSingBoxConfig: async () => callBaseMethod(Podkop.AvailableMethods.SHOW_SING_BOX_CONFIG), - checkLogs: async () => callBaseMethod(Podkop.AvailableMethods.CHECK_LOGS) + checkLogs: async () => callBaseMethod(Podkop.AvailableMethods.CHECK_LOGS), + getSystemInfo: async () => callBaseMethod(Podkop.AvailableMethods.GET_SYSTEM_INFO) }; // src/podkop/methods/custom/getDashboardSections.ts @@ -2172,7 +2174,7 @@ async function runSingBoxCheck() { } ] }); - if (!atLeastOneGood) { + if (!atLeastOneGood || !data.sing_box_process_running) { throw new Error("Sing-box checks failed"); } } @@ -3244,6 +3246,7 @@ async function handleRestart() { restart: { loading: false } } }); + store.reset(["diagnosticsChecks"]); }, 5e3); } } @@ -3267,6 +3270,7 @@ async function handleStop() { stop: { loading: false } } }); + store.reset(["diagnosticsChecks"]); } } async function handleStart() { @@ -3290,6 +3294,7 @@ async function handleStart() { start: { loading: false } } }); + store.reset(["diagnosticsChecks"]); }, 5e3); } }