Claudio Cambra
|
6ef4f8a4f4
|
Implement better error handling in enumerator changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:30 +08:00 |
|
Claudio Cambra
|
d1008df429
|
Respond to materializedItemsDidChange in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:30 +08:00 |
|
Claudio Cambra
|
20363bd241
|
Add completion handler to materialised observer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:30 +08:00 |
|
Claudio Cambra
|
61890ddd72
|
Added FileProviderMaterialisedEnumerationObserver to handle clean up operations after materialisation changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:30 +08:00 |
|
Claudio Cambra
|
52f5b6a524
|
Split up the huge NextcloudFilesDatabaseTables file into separate files for each table schema
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:30 +08:00 |
|
Claudio Cambra
|
32e5dbad4a
|
Rename misleading FileProviderFilesUtils to LocalFilesUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
c24ed9b7ac
|
Remove isFileSynced function which does not work as intended
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
1d1578447e
|
Move parentItemIdentifierMetadata helper method to the database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
3ec9968fc2
|
Move file provider database files into own folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
287a4e4c0b
|
Unauthenticate the file provider extension when account is logged out
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
c593bd8a50
|
Fix variable related warnings in FileProvider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:27 +08:00 |
|
Claudio Cambra
|
c4d3c4ba88
|
Improve reliability of modifyItem in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:27 +08:00 |
|
Claudio Cambra
|
882e58aa64
|
Don't compare un-persisted properties of NextcloudItemMetadataTable in isInSameRemoteState, fixing constant updating of metadatas
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:27 +08:00 |
|
Claudio Cambra
|
1cc0cf7129
|
Fix compatibility with latest NextloudKit version TypeClassFile in NKCommon
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:27 +08:00 |
|
Claudio Cambra
|
81fb05298c
|
Be efficient in working set enumeration by only enumerating for new items or changes folders that have been explored already
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
79d89c21c7
|
Ensure no metadatas get deleted when updating metadata for scanned directory in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
d3f2094866
|
Remove workarounds no longer needed for Realm thread crashing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
17fea88450
|
Replace full depth scanning of changes on every enumerate changes request with smarter recursive algorithm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
1a48e4e06e
|
Fix root cause of threading issues with metadata updates
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
7c8aab38d2
|
Fix erroneous deletion of metadata when updating serverUrl subject directory
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
2ac3a22523
|
Further improve/cleanup/simplify file provider extension init
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
3e269a958b
|
Fix crash on thread clash with Realm when enumerating changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
147e06c40a
|
Fix return of updated and deleted metadatas in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
f427750f2c
|
Ensure metadata handled in FileProviderItem is copy, preventing crashing due to accessing live table from different thread
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
24d6c5071c
|
Create sortedDirectoryMetadatas convenience method in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
64e32b48eb
|
Add convenience method to get child directories from database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
65ab13c0f9
|
Ensure we don't saturate the server with propfind requests
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
390403ef5e
|
Properly report pagination for working set enumeration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
b52b82134e
|
Enumerate all known folders as workingSet enumeration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
7302c953d8
|
Rewrite working set handling to make it match the server remote, per Apple recommendation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
32e81a693e
|
Add method to get all item metadatas in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
24b328f57b
|
Add method to get all directory metadatas in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:24 +08:00 |
|
Claudio Cambra
|
b73c1d72fb
|
Better handle initial set up of the file provider extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
03c1731fb5
|
Handle 404 errors from readFileOrFolder as special deletion case in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
25a09e1704
|
Use ocIds for directory metadata deletion, prevent deletion if no such directory found in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
65ed3ad846
|
Use ocIds for item metadata deletion in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
2b92e9b546
|
Improve handling of nil values in CompleteChangesObserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
47d50af140
|
Enumerate changed in the working set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
1ffdc5f1c5
|
Refactor change enumeration completion into separate static function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
e2943ab043
|
Delete new updated items that are now E2EE
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:23 +08:00 |
|
Claudio Cambra
|
2cf4033f9b
|
Enumerate changes for normal serverUrls in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
53649c2933
|
Rename completeObserver to completeEnumerationObserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
60dbf167b9
|
Fix the serverUrl used to fetch database item metadatas on enumerateItems
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
7734316416
|
Fix accidental purge of all metadatas caused by trying to call updateDirectoryMetadatasFromItemMetadatas when reading the root container
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
d478320dd3
|
Refactor readFileOrFolder to be more adaptible to enumerating items or changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
61dd51ae02
|
Properly delete directory and all children when updating folder metadatas in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
e7e850094b
|
Also report all new, updated, and deleted metadatas from updateItemMetadatas in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
a10b563eb7
|
Report new item metadatas and updated item metadatas in processItemMetadatasToUpdate in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:22 +08:00 |
|
Claudio Cambra
|
fc376b5fe6
|
Report deletedItemMetadatas in processItemMetadatasToDelete in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
76311cc66f
|
Properly handle readFileOrFolder of file vs folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|