Ensure upload errors for modified files are recorded in FileProviderExtension
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 14 Mar 2023 22:27:14 +0000 (23:27 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:35 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift

index f01eceb792b3e34c6a86fac158b1090aacf2624e..81223551680588564c97f2915cdb28f5dffc3162 100644 (file)
@@ -495,6 +495,12 @@ class FileProviderExtension: NSObject, NSFileProviderReplicatedExtension, NKComm
 
                     guard error == .success, let ocId = ocId/*, size == itemTemplate.documentSize as! Int64*/ else {
                         Logger.fileTransfer.error("Could not upload item \(item.itemIdentifier.rawValue, privacy: .public) with filename: \(item.filename, privacy: OSLogPrivacy.auto(mask: .hash)), received error: \(error, privacy: .public)")
+
+                        metadata.status = NextcloudItemMetadataTable.Status.uploadError.rawValue
+                        metadata.sessionError = error.errorDescription
+
+                        dbManager.addItemMetadata(metadata)
+
                         completionHandler(modifiedItem, [], false, error.toFileProviderError())
                         return
                     }