From 30826ea9d385f86c21107c2030403bff514c489e 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 d9ea4ad7f2072..02c67c22b7631 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -1131,7 +1131,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);