From 4ed8696d1d1731f24b00c424e632a283b3b75298 Mon Sep 17 00:00:00 2001 From: fufesou <13586388+fufesou@users.noreply.github.com> Date: Wed, 26 Nov 2025 19:15:32 +0800 Subject: [PATCH] fix: file transfer, jobs lost if conn is not established (#13635) Signed-off-by: fufesou --- src/client/io_loop.rs | 4 +++- src/ui_session_interface.rs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/client/io_loop.rs b/src/client/io_loop.rs index 3f30949bd..2b52c7233 100644 --- a/src/client/io_loop.rs +++ b/src/client/io_loop.rs @@ -1054,7 +1054,9 @@ impl Remote { } pub async fn sync_jobs_status_to_local(&mut self) -> bool { - log::info!("sync transfer job status"); + if !self.is_connected { + return false; + } let mut config: PeerConfig = self.handler.load_config(); let mut transfer_metas = TransferSerde::default(); for job in self.read_jobs.iter() { diff --git a/src/ui_session_interface.rs b/src/ui_session_interface.rs index c58fe8959..be1baa587 100644 --- a/src/ui_session_interface.rs +++ b/src/ui_session_interface.rs @@ -2009,7 +2009,7 @@ pub async fn io_loop(handler: Session, round: u32) { } let mut remote = Remote::new(handler, receiver, sender); remote.io_loop(&key, &token, round).await; - remote.sync_jobs_status_to_local().await; + let _ = remote.sync_jobs_status_to_local().await; } #[cfg(not(any(target_os = "android", target_os = "ios")))]