From f7f84d55c10bbadc1019d63b88df04894163f87f Mon Sep 17 00:00:00 2001 From: Iva Horn Date: Fri, 17 Oct 2025 09:31:45 +0200 Subject: [PATCH] fix: Exclude lock files from synchronization in case server is missing the required capability. Signed-off-by: Iva Horn --- .../NextcloudFileProviderKit/Item/Item+LockFile.swift | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Sources/NextcloudFileProviderKit/Item/Item+LockFile.swift b/Sources/NextcloudFileProviderKit/Item/Item+LockFile.swift index 9e6e1afd..8c67f8b6 100644 --- a/Sources/NextcloudFileProviderKit/Item/Item+LockFile.swift +++ b/Sources/NextcloudFileProviderKit/Item/Item+LockFile.swift @@ -73,7 +73,15 @@ extension Item { progress.totalUnitCount = 1 guard await assertRequiredCapabilities(domain: domain, itemIdentifier: itemTemplate.itemIdentifier, account: account, remoteInterface: remoteInterface, logger: logger) else { - return (nil, NSFileProviderError(.cannotSynchronize)) + logger.debug("Excluding lock file from synchronizing due to lack of server-side locking capability.", [.item: itemTemplate, .name: itemTemplate.filename]) + + let error = if #available(macOS 13.0, *) { + NSFileProviderError(.excludedFromSync) + } else { + NSFileProviderError(.cannotSynchronize) + } + + return (nil, error) } logger.info("Item to create is a lock file. Will attempt to lock the associated file on the server.", [.name: itemTemplate.filename])