From 2f1b7e9f73c4a4ac40fd9a19bdf3f0349313aad7 Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Tue, 7 May 2024 18:31:02 +0200 Subject: [PATCH] only compute checksum of a local file that is not a virtual one should avoid triggering implicit hydration from within the desktop client triggering an implicit hydration on our own is strictly forbidden as that is causing issues like deadlock and failed hydration attempts Signed-off-by: Matthieu Gallien --- src/libsync/propagatedownload.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index 1faf04410a2d7..e5ecec322a970 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -1132,7 +1132,8 @@ void PropagateDownloadFile::contentChecksumComputed(const QByteArray &checksumTy SyncJournalFileRecord record; if (_item->_instruction != CSYNC_INSTRUCTION_CONFLICT && FileSystem::fileExists(localFilePath) && (propagator()->_journal->getFileRecord(_item->_file, &record) && record.isValid()) - && (record._modtime == _item->_modtime && record._etag != _item->_etag)) { + && (record._modtime == _item->_modtime && record._etag != _item->_etag) + && _item->_type == ItemTypeFile) { const auto computeChecksum = new ComputeChecksum(this); computeChecksum->setChecksumType(checksumType); connect(computeChecksum, &ComputeChecksum::done, this, &PropagateDownloadFile::localFileContentChecksumComputed);