From b627a0d6c1a5159ef61700b69f746f1a5d86ff7c Mon Sep 17 00:00:00 2001 From: Kingtous Date: Wed, 15 Mar 2023 15:19:40 +0800 Subject: [PATCH] feat: post file confirm and make files with the same name confirm --- flutter/lib/models/model.dart | 2 +- libs/hbb_common/src/fs.rs | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/flutter/lib/models/model.dart b/flutter/lib/models/model.dart index 94e28ea21..fd88a5332 100644 --- a/flutter/lib/models/model.dart +++ b/flutter/lib/models/model.dart @@ -173,7 +173,7 @@ class FfiModel with ChangeNotifier { } else if (name == 'job_error') { parent.target?.fileModel.jobController.jobError(evt); } else if (name == 'override_file_confirm') { - parent.target?.fileModel.overrideFileConfirm(evt); + parent.target?.fileModel.postOverrideFileConfirm(evt); } else if (name == 'load_last_job') { parent.target?.fileModel.jobController.loadLastJob(evt); } else if (name == 'update_folder_files') { diff --git a/libs/hbb_common/src/fs.rs b/libs/hbb_common/src/fs.rs index ea54e113a..8ebfffc0a 100644 --- a/libs/hbb_common/src/fs.rs +++ b/libs/hbb_common/src/fs.rs @@ -821,11 +821,15 @@ pub fn is_write_need_confirmation( if path.exists() && path.is_file() { let metadata = std::fs::metadata(path)?; let modified_time = metadata.modified()?; - let remote_mt = Duration::from_secs(digest.last_modified); + // let remote_mt = Duration::from_secs(digest.last_modified); let local_mt = modified_time.duration_since(UNIX_EPOCH)?; - if remote_mt == local_mt && digest.file_size == metadata.len() { - return Ok(DigestCheckResult::IsSame); - } + // [Note] + // We decide not to compare the file with peers, + // which obey the behavior of the file manager in our system. + // + // if remote_mt == local_mt && digest.file_size == metadata.len() { + // return Ok(DigestCheckResult::IsSame); + // } Ok(DigestCheckResult::NeedConfirm(FileTransferDigest { id: digest.id, file_num: digest.file_num,