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 |
|
Claudio Cambra
|
cc72cc361c
|
Keep track of additional details about enumerating item in the FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
d22b8e0eb7
|
Enumerate materialised items when system requests working set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
3316d19b90
|
Add convenience method to get local file metadatas for an account in NextcloudItemMetadataTable form in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
a18c6dc258
|
Add convenience method to get all local file metadatas for an account in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
17f52982bd
|
Properly report progress for download and upload operations in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
628ff92dec
|
Add a Progress extension with convenience methods for copying progress data from one progress object to another
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
53d2fc0c1e
|
Prevent creation of symbolic link items in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:21 +08:00 |
|
Claudio Cambra
|
ca298eff87
|
Handle version item requests in fetchContents of FileProviderExtension per the documentation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:20 +08:00 |
|
Claudio Cambra
|
54587e8c07
|
Clarify current use of sync anchor in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:20 +08:00 |
|
Claudio Cambra
|
06b59b6756
|
Correctly fulfill delete item requests on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:20 +08:00 |
|
Claudio Cambra
|
3e0a9e9912
|
Support reparenting file provider items correctly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:20 +08:00 |
|
Claudio Cambra
|
a146b65f76
|
Properly handle several modify item fields at once in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:20 +08:00 |
|
Claudio Cambra
|
020c5d5104
|
Only try upload of modified item in FileProviderExtension if that had its contents changed and we have a valid content url
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:20 +08:00 |
|
Claudio Cambra
|
0f2fbf7518
|
Handle renaming of both files and folders correctly in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:20 +08:00 |
|