do not check every 5 seconds files with infinite timeout (= 0)
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Thu, 14 Sep 2023 16:27:18 +0000 (18:27 +0200)
committerMatthieu Gallien <matthieu_gallien@yahoo.fr>
Thu, 14 Sep 2023 21:17:55 +0000 (23:17 +0200)
we want to schedule a new sync attempt if a file is likely to have been
unlocked due to timeout expiring on server

but if the timeout is null (equal to 0), there will be no timeout on
server and no automated unlocking, so do not schedule a sync every 5
seconds to check for it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
src/libsync/discovery.cpp

index e33dda14d4387010fc4152877b0089a42c56319c..669d9f5c7583b6896ac2f1240e8cefd5217b3798 100644 (file)
@@ -673,7 +673,7 @@ void ProcessDirectoryJob::processFileAnalyzeRemoteInfo(const SyncFileItemPtr &it
     }
 
     // We want to check the lock state of this file after the lock time has expired
-    if(serverEntry.locked == SyncFileItem::LockStatus::LockedItem) {
+    if(serverEntry.locked == SyncFileItem::LockStatus::LockedItem && serverEntry.lockTimeout > 0) {
         const auto lockExpirationTime = serverEntry.lockTime + serverEntry.lockTimeout;
         const auto timeRemaining = QDateTime::currentDateTime().secsTo(QDateTime::fromSecsSinceEpoch(lockExpirationTime));
         // Add on a second as a precaution, sometimes we catch the server before it has had a chance to update