From 79d89c21c7ae173c7e01b38f64f4b8edad9be5e5 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Sat, 11 Mar 2023 00:31:47 +0100 Subject: [PATCH] Ensure no metadatas get deleted when updating metadata for scanned directory in FileProviderEnumerator Signed-off-by: Claudio Cambra --- .../FileProviderExt/FileProviderEnumerator.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderEnumerator.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderEnumerator.swift index e7e799fea..d2b82daf3 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderEnumerator.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderEnumerator.swift @@ -513,11 +513,10 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator { // STORE DATA FOR CURRENTLY SCANNED DIRECTORY // We have now scanned this directory's contents, so update with etag in order to not check again if not needed - // unless it's the root container -- this method deletes metadata for directories under the path that we do not - // provide as the updatedDirectoryItemMetadatas, don't do this with root folder or we will purge metadatas wrongly + // unless it's the root container if serverUrl != ncAccount.davFilesUrl { - // Don't use serverUrl here, get the parent serverUrl from retrieved metadata - dbManager.updateDirectoryMetadatasFromItemMetadatas(account: ncKitAccount, parentDirectoryServerUrl: directoryMetadata.serverUrl, updatedDirectoryItemMetadatas: [directoryMetadata], recordEtag: true) + let directoryItemMetadata = dbManager.directoryMetadataFromItemMetadata(directoryItemMetadata: directoryMetadata, recordEtag: true) + dbManager.addDirectoryMetadata(directoryItemMetadata) } // STORE ETAG-LESS DIRECTORY METADATA FOR CHILD DIRECTORIES -- 2.30.2