From a0b6800c0a51ecb55109ee87c251b6341c34207f Mon Sep 17 00:00:00 2001 From: ForgQi <34411314+ForgQi@users.noreply.github.com> Date: Wed, 22 Oct 2025 02:13:37 +0800 Subject: [PATCH] Refactor async worker status and improve file move logic Refactored worker status management to use async RwLock and updated all related methods to be async. Improved file move logic in hook steps to support cross-filesystem moves by falling back to copy+delete when necessary. Updated API endpoints, download/upload logic, and monitor state transitions to be fully async and more robust. Also added a Debug implementation for Credentials to avoid logging sensitive data, and made minor UI tweaks to disable certain developer options. --- Cargo.lock | 5 +- Cargo.toml | 2 +- app/ui/StreamerActions/PauseButton.tsx | 2 +- app/ui/plugins/developer.tsx | 2 + crates/biliup-cli/Cargo.toml | 1 + crates/biliup-cli/src/server/api/endpoints.rs | 116 +++++++++-------- crates/biliup-cli/src/server/app.rs | 25 +++- .../biliup-cli/src/server/common/download.rs | 91 +++++++------ crates/biliup-cli/src/server/common/upload.rs | 5 +- crates/biliup-cli/src/server/common/util.rs | 38 +++--- crates/biliup-cli/src/server/core/monitor.rs | 121 ++++++++++++++---- .../src/server/infrastructure/context.rs | 8 +- .../src/server/infrastructure/models.rs | 19 +++ .../server/infrastructure/models/hook_step.rs | 85 +++++++----- .../server/infrastructure/service_register.rs | 2 +- .../src/server/infrastructure/users.rs | 13 +- crates/biliup-cli/src/server/router.rs | 2 +- 17 files changed, 347 insertions(+), 190 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e62547..22b92a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -395,7 +395,7 @@ dependencies = [ [[package]] name = "biliup-cli" -version = "1.1.16" +version = "1.1.17" dependencies = [ "async-channel", "async-trait", @@ -414,6 +414,7 @@ dependencies = [ "image", "indexmap", "indicatif", + "libc", "mime_guess", "nom 8.0.0", "ormlite", @@ -3641,7 +3642,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stream-gears" -version = "1.1.16" +version = "1.1.17" dependencies = [ "async-channel", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 9621f53..f4cbef7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ members = [ resolver = "3" [workspace.package] -version = "1.1.16" +version = "1.1.17" [workspace.dependencies] serde = { version = "1.0", features = ["derive"] } diff --git a/app/ui/StreamerActions/PauseButton.tsx b/app/ui/StreamerActions/PauseButton.tsx index 3e7de46..e0a20e7 100644 --- a/app/ui/StreamerActions/PauseButton.tsx +++ b/app/ui/StreamerActions/PauseButton.tsx @@ -45,7 +45,7 @@ export const PauseButton: React.FC = ({ onError?.(error as Error); } }; - console.log("????????????", streamer.status) + return (