Claudio Cambra
9fadc89ff0
Fix unsetting of etags on directories (and only) directories on update
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
02e1d6a47f
Fix recursive directory metadata renaming order
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
9cc05457c0
Do not do specific enumeration of items working set in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
289f7f2c9f
Ensure we do not set etag if we have set updateDirectoryEtags to false in NextcloudFilesDatabaseManager updateItemMetadatas
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
35570a3160
Move remote sync functionality out of enumerator and into separate NextcloudSyncEngine class
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
1524fc01f0
Progressively enumerate items as we get them for working set
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
5154a57ac6
Move conversion from NSData to NSFileProviderPage to separate func
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
6202f3d70a
Split metadata parsing to complete enumerator into own function
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
8c729fb2f9
Simplify enumerateItems of working set by using fullRecursiveScan in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
b369b5d515
Handle invalidation of enumerator during long recursive scans in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
213893b13f
Fix recursive scan when scanChangesOnly is false in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
d0b4b6853c
Move deleted/updated conflict check to fullRecursiveScan in FileProviderEnumerator+RemoteSync
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
3c2c360a2e
Properly report and handle critical errors during recursive enumeration in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
245129de99
Move remote sync stuff in FileProviderEnumerator to own file
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
b2d2f9586e
Properly report deleted metadatas in recursive directory delete in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
a779fe76cb
Favour straight return in updateItemMetadatas rather than unnecessary completionHandler in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
0526079504
Fix renaming directories remotely fixing local sync state in file provider
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
29b495335b
Do not update etags for child folders acquired in a depth 1 readServerUrl in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
872186248a
Remove redundant directory metadata tables in File Provider
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
2e70c82663
Prevent premature running of completion handler when modifying folder in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
3538ce9424
Change fullRecursiveScan function to enable more than just look for changes, also do proper full scan
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
97d2b354df
Ensure we are not marking items as both updated and deleted in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:55 +08:00
Claudio Cambra
2c64e4b6bd
Ensure xcodebuild uses the Info.plist file verbatim
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:54 +08:00
Claudio Cambra
0bdbc956bc
Fix FileProviderExt bundle identifier
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:54 +08:00
Ivan Sein
9bcc017fb8
Only set CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO in FileProviderExt for release configuration.
...
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2023-05-12 13:29:54 +08:00
Ivan Sein
ecd55ae37d
Set CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO in FileProviderExt.
...
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2023-05-12 13:29:54 +08:00
Ivan Sein
a859107ec0
Disable automatically manage signing in FileProviderExt target.
...
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2023-05-12 13:29:54 +08:00
Ivan Sein
169b1a765e
Use Nextcloud team id.
...
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2023-05-12 13:29:54 +08:00
Claudio Cambra
d3c3181c0d
Ensure we are logging error description itself and not NKError wrapper or any Error type
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:53 +08:00
Claudio Cambra
4f1f4388af
Rewrite modifyItem to make it non-blocking on the main thread in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:53 +08:00
Claudio Cambra
ccad81949a
Make enumeration of working set changes non-blocking in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
60005d89bc
Ensure we are editing realm database on main thread in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
52fe107ec5
Fix blocking main thread when enumerating working set items in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
073db8182b
Log errors in fetching local temporary file provider path
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
762aee8e41
Simplify temp local file creation while fetching contents, use File Provider volume
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
8661841c44
Remove unnecessary local file operations in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
221848f230
Properly set cancellation, pausing, and resuming handlers on FileProviderExtension task progress
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
607d72615d
Add ability to set handlers from AlamoFire request on Progress extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
d4d5c8f8da
Removed unused tracking of outstanding session and ocID related tasks
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:45 +08:00
Claudio Cambra
a7616502ae
Do not copy pause, cancel, and resuming handlers in Progress extension copyCurrentStateToProgress by default
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:45 +08:00
Claudio Cambra
5e8d7217a9
Warn when retrieved size of file upload is different to the expected size in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:45 +08:00
Claudio Cambra
b8224212ca
Ensure item upload/download states are properly set and reset in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:45 +08:00
Claudio Cambra
23e623ef0a
Make it possible to disable building file provider module
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:45 +08:00
Claudio Cambra
f16f89118e
Set deployment target for FileProviderExt to macOS 11.0
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
4e536dcd65
Ensure upload errors for modified files are recorded in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
f4be264eee
Ensure existing metadatas being uploaded are set to uploading status in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
9083f982d9
Use completion handler to retrieve updated metadata after status change, fixing race condition in FileProviderDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
7967ced04e
Properly handle logging interpolation in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
c88fb7fb3e
Do not hide interpolated log strings in FileProviderSocketLineProcessor
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
5ae1936328
Handle different interpolated string types differently in FileProviderExtension logging
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
89164d99ec
Make privacy level of interpolated strings in FileProviderEnumerator logging more granular
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:35 +08:00
Claudio Cambra
3082850e68
Ensure errors are always publicly displayed in unified logging of File Provider
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
545fe6d56e
Finish replacing NSLog with use of Logger in LocalFilesUtils
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
810c7d0b19
Also use logger in FileProviderSocketLineProcessor
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
854b11e477
Use Logger materialisedFileHandling for logging in FileProviderMaterialisedEnumerationObserver
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
5c72c6a2e9
Replace NSLog in FileProviderExtension with use of Logger
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
75f18b8bd5
Use enumeration category and logger for FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
b16bf24949
Improve logging in files database manager with use of Logger
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
0f6ceef06f
Add a logger extensions to use system unified logging in File Provider components
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:34 +08:00
Claudio Cambra
8994f31cb9
Remove unnecessary full reimport after initial account configuration in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
7863ba8594
Improve error handling in fetchContents if path is not available FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
68044891f0
Properly respond to errors in working set enumerateItems in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
287c98f7f5
Add directoryMetadataLogString convenience method for logging in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
134e373f1b
Do not delete "no longer existing files" when doing enumeration of items in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
b532b96937
Add helper itemMetadataLogString static func for logging in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
2ca2609e0c
Properly write item metadata status update to database in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
412fd0887e
Provide file provider errors in FileProviderExtension methods
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
b9b408d606
Fix general error handling in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
3873ad126d
Use NKError extension properties instead of magic numbers in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
1ee6d1a1cc
Improve handling of no changes return in readFileOrFolder throughout FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
6ffbb5abf6
Properly handle stopping when finding matching etags in readServerUrl of FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
d639baeea0
Add no changes error code in NKError extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
a0c819fdbe
Make NKError extension conversion more legible
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:30 +08:00
Claudio Cambra
109258f3ce
Use NKError extension method in FileProviderEnumerator enumerate methods
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:30 +08:00
Claudio Cambra
fdaf0d5aa5
Add NKError extension to make conversion to FileProviderError easier
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:30 +08:00
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
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
Claudio Cambra
c7660b50df
Add convenience method to rename file item metadatas in database
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
5f24527270
Properly handle renaming folders in FileProviderExtension modifyItem
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
c3f79eecc6
Add methods to rename directory metadata and propagate modifications to all children in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
47d98a44a8
Add methods to delete metadata types in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
c6cc87a4b8
Extension can now upload modifications to items on the server
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
992ef7b62b
Add ability for extension to create items correctly on the server
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
7d2c21c772
Don't unnecessarily fetch item metadata when fetching contents
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
81dd5966f8
Unprivate direcotryMetadataFromItemMetadata in database manager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
dc2e14d57b
Add convenience method to add directory metadata to database
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
91ad815a6b
Add working file content fetching
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
b70e9d11bb
Add convenience method to add local file metadata from item metadata to database
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
293512560e
Add convenience method to add item metadata status
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
90d5c8f54e
Add convenience method to update item metadata status
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
3342fb77c8
Add convenience properties to NextcloudItemMetadataTable
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
230b55d7e9
Stop using NextcloudKit.shared and NKCommon.shared, use specific NextcloudKit instance instead to prevent clashing between different FileProvider domains
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
f0524d44e1
Switch to NCKit work/unsharedify-nckit branch
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
98afd95e59
Fix Realm crashes when trying to delete certain objects
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
6a258c0c37
Properly handle errors when trying to read server url in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
3be08bb15e
Fix scanning of child directories in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
476d6a2456
Don't unnecessarily fail to get serverUrl for enumerated item in FileProviderEnumerator when this can be acquired straight from the itemMetadata
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
c4580183e7
Only reimport entire file provider domain if there have been no recorded files when ncAccount is configured
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
9c18d36f41
Add convenience method to check if any file metadatas have been stored for account in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
74222daa2a
Don't unnecessarily fail to provide parentItemIdentifier in NextcloudFileProviderFilesUtils when we can get the root container straight from the item metadata in question
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
5c01109004
Switch to develop branch of NextcloudKit
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
06f2714a95
Improve and fix enumerator signalling after initial account setup in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
ff25f940ec
Fix URL path composition for utility methods in NextcloudFileProviderFilesUtils
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
ceb9aa3b65
Fix try/catch indentation in NextcloudFileDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
7cb49393fe
Fix NextcloudItemMetadataTable status query type
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
38d1b95bd2
Fix the webDavUrl for NextcloudAccount
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
2f5d0e6fe9
Set up NextcloudKit account in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
325878b696
Improve logging in FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
67de82913e
Keep track of requested enumerators when account is being configured, notify them as changed once account is set up
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
ba86824c7e
Improve FileProvider logging
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
31732c2fb2
Added missing network entitlement to FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
a046eca3c3
Use safer separator for account details socket message
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
f01b6a545f
Fix path handling for file provider database setup
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
e7e985f355
Correctly register object schemas in Realm database
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
1cb7da9bac
Send account details over socket and simplify NextcloudAccount members, turn all to Strings
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
81b5c33571
Complete item method of FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
d801bfc8f5
Complete basic barebones enumeration
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
5f0a4883fc
Use NSLog instead of print in FileProvider
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
176303dcf1
Use more modern Realm @Persisted
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
d0ac36faab
Make record updating methods safer by checking for existing metadatas internally
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
57d585201e
Add method to get directory tables from database in manager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
7ff2379e3d
Make sure to create copies of Realm objects to prevent issues with live-fire objects
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
496b94a9a7
Add comparison helper to NextcloudDirectoryMetadataTable
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
c4014e8b6a
Add parent directory server url data to directory table
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
d9e368cbe7
Refactor updateDirectoryMetadatas in the database manager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
3354f3e4de
Add updateDirectoryMetadatasFromItemMetadatas to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
316ef61d83
Split off update and creation process of updateItemMetadatas of NextcloudFilesDatabaseManager to private method
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
4d2da1037d
Split off deletion process of updateItemMetadatas of NextcloudFilesDatabaseManager to private method
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
39f4b7a8e4
Add updateItemMetadatas method to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
e929940b47
Add convenience isInSameRemoteState method for NextcloudItemMetadataTable
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
f2970e2da7
Add itemMetadatas method to NextcloudFilesDatabaseManager with status as parameter
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
06a5e4df85
Add NKFile to NextcloudItemMetadataTable converter methods to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
55f533dc3d
Add clarifying comments to NextcloudFilesDatabaseTables
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
f466fd6652
Add itemMetadatas method to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
df53aa2492
Add directoryMetadata method to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
9e2c8f355d
Add ncKitAccount property to NextcloudAccount
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
2b5425390d
Add completeObserver method to FileProviderEnumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
7d1b275d50
Fill out FileProviderItem
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
0e3d565151
Add localFileMetadataFromOcId method to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
63bcd02512
Add NextcloudLocalFileMetadataTable derived from iOS app
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
f15187c8b4
Rename NextcloudFileMetadataTable to NextcloudItemMetadataTable to more accurately match functionality
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
9ff66bb94f
Add isFileSynced helper func to FileProviderFilesUtils
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
5f9f0311d1
Add transfer status enum to NextcloudFileMetadataTable
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
1a27f3c249
Add convenience parentItemIdentifierFromMetadata convenience function to NextcloudFileProviderFilesUtils
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
d7b9d7f215
Add convenience createFileOrDirectoryLocally func to NextcloudFileProviderFilesUtils
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
08436a129e
Added convenience functions to create paths for NC files (and create directories and placeholder files if inexistent)
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
83230baeaa
Use pathForFileProviderExtData in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
730c30f324
Add pathForFileProviderExtData convenience method to NextcloudFileProviderFilesUtils
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
487b47fbf7
Use pathForAppGroupContainer func in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
583b91c986
Add NextcloudFileProviderFilesUtils for file-related utility funcs
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
4b48f0c429
Use server dav files URL in enumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
9f6c2df4e3
Complete FileProviderEnumerator init, get correct serverUrl for enumerator item identifier
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
fa7e441d81
Add directoryMetadataForFile method to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
3122dba6f9
Refactor NextclouDFilesDatabaseManager methods slightly for consision
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
18119b32bf
Add database table for directory from iOS NC
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
1ffc5949aa
Add getFileMetadataFromFileProviderItemIdentifier method to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
8e90f66918
Add getFileMetadataFromOcId method to NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
5337d5d654
Add basic NextcloudFilesDatabaseManager for FileProvider files
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
41fe92ebd2
Add NextcloudFilesDatabaseTables for FileProvider files database
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
9095df2482
Make ncAccount in FileProviderExtension an optional, make state of FileProviderDomainAccountData immediately on init
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
a8dfafabde
Make localSocketClient of FileProviderExtension a lazy var
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
e319516b89
Add URLSession to FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
4efb234f68
macosx: Add NextcloudKit and Realm dependencies
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
9b54e6414f
Grab account keychain entry identifier data from socket in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
f795666d4b
Add FileProviderDomainNextcloudAccountData that grabs account info from keychain
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
39850ab145
Move FinderSync-specific GET_STRINGS initial call out of LocalSocketClient and into FinderSync
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
cf606f19a6
Add ability for FileProvider app extension to reply to file provider domain identifier request
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
ad665ff06c
Add sendMessage method to LocalSocketClient public API
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
8ea09cb9d7
Clean up public API of LocalSocketClient
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
ada4b98a93
Added working socket connection between desktop client local socket server and app extension socket client
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
f20b11745d
Modify FinderSyncExt to move components into shared Framework that can be used in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
16394d13d2
Clean up LocalSocketClient code in shell extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
a7ec2c325e
Rename OwnCloudFinderSync Xcode projext to NextcloudIntegration
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
ed85334b62
Fix faulty quoting in shell integration CMakeLists
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
d10b208655
Set connection status for file provider domains
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
dcd1628ce8
Ensure file provider domains appear in finder sidebar
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
9a86bb2be3
Add file provider init code
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Matthieu Gallien
01ecb639ab
use new connect syntax
...
mainly done using clazy and old-style-connect check
close #5426
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-28 09:36:27 +01:00
Matthieu Gallien
c0549c5c03
fix issues reported by compiling windows code with clang-tidy
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Claudio Cambra
706b1bd3a1
Update Windows shell integration rc copyright strings
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-23 15:37:56 +01:00
Claudio Cambra
f7239ebdca
Don't bother doing init procedure on FinderSync in macosx shell integration of invalid self
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-06 16:24:35 +01:00
Claudio Cambra
521a026e03
Correctly init LineProcessor in macosx shell integration
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-06 16:24:35 +01:00
alex-z
7f6c2f946b
Move Windows shell extension DLLs to a root installation directory.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-29 17:59:21 +01:00
Claudio Cambra
5892075df7
Avoid the Get-Task-Allow Entitlement (macOS Notarization)
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 21:31:56 +01:00
Claudio Cambra
19a2f8cc7d
Add support for macOS to flake
...
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-12-13 16:42:35 +01:00
Claudio Cambra
46381f5ddc
Update macOS shell integration deployment targets
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-11-29 11:35:35 +01:00
Marvin Schmidt
7f72678d32
cmake: Use FindPkgConfig's pkg_get_variable instead of custom macro
...
Commit b34a901838
("Use FindPkgConfig to find libcloudproviders and
related libs") introduced the usage of cmake's FindPkgConfig module
which provides `pkg_get_variable` since version 3.4 that can be used
instead of the custom `PKGCONFIG_GETVAR` macro
Signed-off-by: Marvin Schmidt <marv@exherbo.org>
2022-11-24 12:04:54 +01:00
István Váradi
2002c98b68
Modernize the Dolphin action plugin
...
Instead of installing a .desktop file, it is now converted
to JSON and compiled into the plugin itself. The plugin is
also installed into a different directory.
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
2022-11-23 13:35:49 +01:00
Nathan Pratta Teodosio
2ba08206af
Fix compatibility with newer python3-nautilus
...
Signed-off-by: Nathan Pratta Teodosio <nathan.teodosio@canonical.com>
2022-10-29 14:37:41 +02:00
Matthieu Gallien
565a5f0999
add [[nodiscard]] attribute via clang-tidy
...
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-nodiscard' -fix
under linux with most part of our code covered
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 11:14:45 +02:00
Claudio Cambra
a74f9b367d
Ensure the dispatch source only gets deallocated after the dispatch_source_cancel is done
...
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-07-01 13:15:40 +02:00
Claudio Cambra
1f04073e7c
Fix possible overflow on lineWritten
...
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-19 12:40:59 +02:00
Claudio Cambra
683e7794a3
Fix crashing of finder sync extension caused by dispatch_source_cancel of nullptr
...
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-16 12:48:23 +02:00
Claudio Cambra
628ee10008
Implement local socket to communicate with finder extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-17 11:46:57 +00:00
Matthieu Gallien
75bcc9a24e
require cmake 3.16
...
close #3572
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-09 13:07:48 +00:00
Matthieu Gallien
4371c0cbfe
add headers in cmake files to get them properly detected
...
qt creator for example requires that headers are explcitly given in the
source lists
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-02-11 14:31:22 +00:00
Felix Weilbach
ec64246dc7
Only build app bundle if requested
...
For development a app bundle is not needed. The app bundle is only
needed for distribution and macdeployqt takes a lot of time.
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-23 11:41:29 +00:00
Felix Weilbach
113ba716e6
Compile finder extensions for arm and x86
...
Fix: https://github.com/nextcloud/desktop/issues/3967
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-16 08:54:48 +00:00
Matthieu Gallien
f8a8e3f2f9
target names are not changed in branded builds only the output filenames
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-15 15:22:29 +02:00
Mathias Eggert
51cfe76d65
add ContextMenuOptIn to COM registration, to allow Placeholder support. Issue #3584
...
Signed-off-by: Mathias Eggert <mathias.eggert@nexenio.com>
2021-09-28 11:20:30 +02:00
Dmytro Korchynskyi
8351c398bc
Fixed warnings in RemotePathChecker on Windows
...
Signed-off-by: Dmytro Korchynskyi <kdl.dima@gmail.com>
2021-09-13 13:05:41 +03:00
Nicolas Fella
18ddb9df4a
Use CMAKE_INSTALL_DATADIR instead of custom DATADIR
...
CMake provides what we wan out of the box
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-09-01 11:43:03 +00:00
Matthieu Gallien
d17d831205
switch from Q_DECL_OVERRIDE to plain override
...
our requirements guarantee availability of override keyword so we just
use it
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-31 08:35:57 +00:00
Felix Weilbach
332a48e6a1
Update to Qt 5.15
...
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-19 14:01:46 +02:00
allexzander
871210326f
Windows. Nextcloud Overlay Identifiers. Set 16 spaces before each identifier's name.
...
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-14 16:15:02 +03:00
Hannah von Reth
bff386e5c1
Fix int uint warning
...
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 07:35:59 +00:00
Nicolas Fella
b8879dbf07
Only include libcloudproviders dir when cloudproviders is found
...
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-13 11:29:29 +00:00
Nicolas Fella
df3ebb11f6
[shellintegration] Simplify cmake code
...
We don't need ECM to check for KIO
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-13 11:22:19 +00:00
Nicolas Fella
e207cfdbfc
[dolphin] Clean up CMake code
...
Remove some stuff that is not needed.
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-12 13:27:46 +00:00
Hannah von Reth
58bc9e837c
Remove junk files
2020-12-15 10:59:26 +01:00
Christian Kamm
2b20985875
winvfs: initial work
...
Done by ckamm and dschmidt
2020-12-15 10:58:21 +01:00
Olivier Goffart
919debccfc
nautilus shell integration: Fix when there are several branded client installed
...
It appears that several extension can be loaded at the same time, but their
classname for the extension need to be different, otherwise only the last
loaded one would be active.
Issue #6524
2020-12-15 10:57:55 +01:00
Michael Schuster
61dc4b9137
Update comments
...
Everyone uses their private mail, so ensure people can get in touch.
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-10-15 02:18:52 +02:00
Michael Schuster
fc365df5de
Windows MSI: Let CMake install Shell Extensions WiX fragment to "msi/"
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-09-21 16:40:19 +02:00
Michael Schuster
4df8db4ff6
Fix spacing
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
db05f65e0d
Windows shell extensions: Add WiX (MSI) fragment
...
Use CMake to generate a WXI fragment to handle the DLL registration and file deployment for the shellext components.
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
11632da7ea
Windows shell extensions: Change NCUtil Pipe name from ownCloud to APPLICATION_EXECUTABLE
...
Avoid interference with foreign pipes as this is always a bad idea ;p
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
0ba5df597f
Windows shell extensions: Rename all files and classes from OC* to NC*, update version info
...
This also ensures a clear separation in the system registry.
SelfReg is not recommended by Microsoft and will be handled by the MSI package to allow proper Repair and Uninstall.
However, we keep it for backward compatibility with the NSIS installer.
For details see:
https://stackoverflow.com/questions/364187/how-do-you-register-a-win32-com-dll-file-in-wix-3#364210
https://docs.microsoft.com/en-us/windows/win32/msi/selfreg-table#remarks
Another fix by this commit:
The "Version" registry value in the NCOverlays self reg should be a key and not a value.
Details: https://wixtoolset.org/documentation/manual/v3/xsd/wix/class.html
Example:
[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Version]
@="1.0.0.0"
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
8ce13b7bdb
Windows shell extensions: Use custom GUIDs via CMake and prepare MSI reg
...
Previously side by side installation with ownCloud or other NC custom builds would break the shell integration because the same GUIDs and registry keys were used.
Now we specify our custom GUIDs in NEXTCLOUD.cmake and use CMake to generate a header file and WiX (MSI) include file with these constants.
Note: Using generators like "guidgen" or "uuidgen" ensures that GUIDs are unique, as manual changes are not guaranteed to be.
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
4675869fb3
Remove dead code
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
bfd7707ff4
2.7 has less automatic includes on Windows
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
34e9e2f288
Cleanup Windows shell extensions
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
6c9a31f6ee
Remove outdated visual studio projects, we now use cmake
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Dominik Schmidt
13d4b91935
Avoid warning because /MT overrides /MD flag
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Dominik Schmidt
e4b53b12e1
Make OCUtil helper lib static and link it statically against crt
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Olivier Goffart
906556640d
Windows Shell Integration: Don't limit the size of the buffer
...
Otherwise we can't have operation that has many many filename
As reported in #6780
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Christian Kamm
77cc262337
Windows shellext: Update copyrights and company name
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Olivier Goffart
6274462036
windows shell extension: add OCUtil/resource.h
...
It's a copy from OCContextMenu/resources.h
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Christian Kamm
c6fc46aa09
Windows shellext: Add rc for OCUtil #6554
...
To set the dll's metadata.
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Kevin Ottens
d58ec4bf70
Enable the modernize-use-using check on clang-tidy
...
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-08-12 18:18:57 +02:00
Kevin Ottens
c50a968a1e
Add more raw string literals missed previously
...
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-08-12 09:48:29 +02:00
Michael Schuster
456c1eadbe
Simplify nullptr comparisons where appropriate
...
Make the codebase consistent, we already have a lot of implicit pointer comparisons.
Exception: Stay explicit on return's, example:
return _db != nullptr;
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-11 00:27:30 +02:00
Michael Schuster
2b680cadd3
Fix nullptr regression in RegistryUtil::ReadRegistry
...
Merging PR #2057 caused the Windows build to fail:
shell_integration\windows\OCUtil\RegistryUtil.cpp(43): error C2664: 'LSTATUS RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY)': cannot convert argument 3 from 'nullptr' to 'DWORD'
The previous implementation prior the PR supplied NULL as the argument 3 to RegOpenKeyEx,
so it was silently accepted and translated to zero, satisfying the DWORD's type requirement.
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-09 18:34:43 +02:00
Stephan Beyer
ea16804751
Replace NULL by nullptr in all C++ files
...
We keep NULL in the pure C files in src/csync/std and test/csync.
We also replace Doxygen documentation referring to "NULL" to
"\c nullptr" (formatted as code).
Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-08 20:07:50 +02:00
Kevin Ottens
3867e73fd5
Stop supporting Qt older than 5.12
...
This both removes older Qt from the CI and also adjust all the
find_package calls in CMakeLists.txt
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-14 21:15:45 +02:00
Kevin Ottens
bfdb1e730a
Fix leak in FileUtil::IsChildFile
...
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-12 14:32:34 +02:00
Daniel Vedder
0d71d03d7b
Fixed symlink resolution for menu items.
...
Signed-off-by: Daniel Vedder <d.vedder@web.de>
2020-05-02 17:03:21 +02:00
Daniel Vedder
0743a0b502
Resolve symlinks when checking for registered paths.
...
Fixes issue #1948 : https://github.com/nextcloud/desktop/issues/1948
The client already resolves symlinks when adding new paths to the
sync-list, but the Nautilus plugin did not do this yet, causing it
to not recognise synced folders if they were accessed via a symlink.
Signed-off-by: Daniel Vedder <d.vedder@web.de>
2020-05-02 14:48:51 +02:00
Dominique Fuchs
3626715394
Merge pull request #1884 from nicolasfella/menuaction
...
[dolphin] Use menuAction() instead of manual creation
2020-04-25 14:57:32 +02:00
Dominique Fuchs
c77bf6c634
Merge pull request #1919 from taaem/fix-dbus-activation
...
CloudProviders: Use absolute path in dbus file
2020-04-25 13:43:42 +02:00
Dominique Fuchs
061ca2d713
Merge branch 'master' into menuaction
2020-04-25 13:18:10 +02:00
Dominique Fuchs
79eface432
Merge pull request #1887 from nicolasfella/colon
...
[dolphin] Fix overlays when filename has a colon
2020-04-25 12:17:29 +02:00
Nicolas Fella
d077c7884e
Fix build of Dolphin integration
...
config.h needs to be included in the header already since we use APPLICATION_ICON_NAME there. This got introduced in 6fc877577c
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-04-17 12:48:10 +02:00
Michael Schuster
6fc877577c
[dolphin] Use CMake env vars for App Name and Icon strings
...
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-04-16 03:47:24 +02:00
Tim Klocke
8b4abddb71
CloudProviders: Use absolute path in dbus file
2020-04-10 23:09:05 +02:00
Nicolas Fella
20b7e938c5
[dolphin] Fix overlays when filename has a colon
...
When the filename contains a ':' it gets split too much and tokens[2] does not contain the full filename any more. Read the name from the original line instead.
Fixes #686
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 15:38:27 +01:00
Nicolas Fella
a482e3c834
[dolphin] Don't manually create menuAction
...
Use menuAction() from QMenu
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 02:09:48 +01:00
Nicolas Fella
e1f4d17446
[dolphin] Add icon to context menu
...
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 02:04:42 +01:00
cclauss
b34ed01109
Use print() function in both Python 2 and Python 3
...
Signed-off-by: cclauss <cclauss@me.com>
2020-03-05 11:35:30 +01:00
Christian Kamm
a704cca090
Windows: Fix context menu handling only own verbs #7004
...
Previously it'd handle all verbs as if they were our own.
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-03 18:56:09 +01:00
Corentin Noël
842f71891e
Start the client in background if activated by D-Bus
...
The nextcloud client can be started by any other application consuming libcloudproviers.
Make sure that the client won't pop-up if we open the file manager.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
2020-02-01 16:04:02 +01:00
Joas Schilling
9ce2491d67
Use … instead of 3 dots
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-03 09:06:06 +01:00
Michael Schuster
7fb0a82e69
macOS build: Avoid the Get-Task-Allow Entitlement (Notarization)
...
Setting CODE_SIGN_INJECT_BASE_ENTITLEMENTS to NO is required for macOS
Notarization.
See: https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution/resolving_common_notarization_issues
And upstream: 97f4af32ae
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-11-17 21:33:04 +01:00
Dominique Fuchs
9a256fcbfe
usage of UINT as iterator here because comparing with UINT retval from DragQueryFile
...
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 21:42:10 +02:00
Dominique Fuchs
112d2bfe11
Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
...
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 21:28:12 +02:00
Dominique Fuchs
69a11a7ec1
Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
...
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 21:26:40 +02:00
Dominique Fuchs
3960ffea3f
Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
...
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 20:58:20 +02:00
Corentin Noël
19079c65c1
libcloudproviders: Add missing check for Qt5DBus
2019-04-04 17:50:30 +02:00
Chih-Hsuan Yen
1361c3053a
Fix KDEInstallDirs deprecation warnings
...
Get rid of a bunch of such warnings from configuring the Dolphin plugin:
CMake Deprecation Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:345 (message):
BIN_INSTALL_DIR is deprecated, use KDE_INSTALL_BINDIR instead.
Call Stack (most recent call first):
/usr/share/ECM/kde-modules/KDEInstallDirs.cmake:433 (_define_relative)
shell_integration/dolphin/CMakeLists.txt:23 (include)
Modified from https://github.com/owncloud/client/pull/6922
Original author: Dominik Schmidt <dev@dominik-schmidt.de>
2018-12-28 21:55:45 +08:00
Jan-Christoph Borchardt
7d8bba6786
Fix appname for Nautilus integration script
...
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-11-28 11:54:08 +01:00
Christian Kamm
f4dfdf5889
nautilus: Fix GET_MENU_ITEMS with utf8 filenames #6643
2018-09-10 21:06:57 +02:00
István Váradi
56ea525499
Use encode()/decode() with Python 3 only
2018-09-10 15:05:46 +02:00
Olivier Goffart
0d0bff4bf5
Windows Shell extention: Fix clicking on the menu entries
...
Issue #6553
2018-06-21 19:21:07 +02:00
Markus Goetz
d3cbe63801
macOS: Implement new dynamic Finder menu items #6328
2018-06-05 20:40:40 +02:00
Julius Härtl
4be565c56f
Merge pull request #369 from nextcloud/upstream/issue/6406
...
Nautilus shell integration: Print python version on startup #6406
2018-06-01 15:40:23 +02:00
Olivier Goffart
5f969580ac
Nautilus: Fix Python3 and remove many debug
...
Use b'\n' in the call to rfind, as the _remainder is bytes, not a string.
Remove most of the debug message which happens during normal operation.
They are mostly spamming the nautilus console, and can also cause bug
as they may throw exception in case of wrong encoding.
Relates to issue: #6406
2018-06-01 13:35:19 +02:00
Christian Kamm
70f0792d4a
Nautilus shell integration: Print python version on startup #6406
2018-06-01 13:02:13 +02:00
Roeland Jago Douma
1b756ac80f
Merge pull request #318 from nextcloud/upstream/pr/6402
...
Dolphin plugin: fall back if $XDG_RUNTIME_DIR is empty
2018-05-26 21:33:45 +02:00
Christian Kamm
629b14266b
Nautilus integration: Not a ColumnProvider
...
The nautilus plugin doesn't actually define get_columns(), so pretending
to be a ColumnProvider lead to a critical warning on startup.
2018-05-17 20:52:40 +02:00
whitequark
6dd5876b8a
Dolphin plugin: fall back if $XDG_RUNTIME_DIR is empty
...
As per XDG Base Directories specification:
> If $XDG_RUNTIME_DIR is not set applications should fall back
> to a replacement directory [...]
In practice, the ownCloud client has the fallback, but the plugin
helper does not, and if $XDG_RUNTIME_DIR is not set, the plugin
mysteriously does not work.
2018-05-16 20:05:46 +02:00
István Váradi
22153cf912
KDE_INSTALL_USE_QT_SYS_PATHS turned on so that the plugin is installed to the correct directory on Xenial too
2018-02-08 17:18:18 +01:00
Julius Härtl
bcb9553925
Use Qt5DBus_FOUND instead of the old WITH_DBUS
...
WITH_DBUS was removed in 257d8142b1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-25 14:18:03 +01:00
Roeland Jago Douma
48bce4c6b0
Merge remote-tracking branch 'oc/master' into oc_up
2018-01-25 11:17:04 +01:00
Olivier Goffart
72b9beb79c
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
shell_integration/nautilus/syncstate.py
2018-01-23 14:08:15 +01:00
Olivier Goffart
883080b557
Windows shell extension: port to the new protocol
2018-01-23 14:02:56 +01:00
Christian Kamm
ebfac84c69
Shell integration: Make nautilus work with multiselections
...
Previously no menu would ever be shown if more than one file is
selected. Now the GET_MENU_ITEMS command is sent with all selected files
as an argument - similar to what is done for the dolphin integration.
2018-01-23 14:02:56 +01:00
Christian Kamm
3c2622d2de
Shell integration: Update nautilus for GET_MENU_ITEMS
2018-01-23 14:02:56 +01:00
Olivier Goffart
982c591ec9
SocketApi: add a way to disable menu entries
2018-01-23 14:02:56 +01:00
Olivier Goffart
1782ae3c08
SocketAPI: Make it easier to add or remove item in the action menu
...
By making it dynamic.
So far only the dolphin shell extension have been ported
2018-01-23 14:02:56 +01:00
Christian Kamm
72363155d8
Nautilus integration: Work with python2 and python3
2018-01-23 12:30:58 +01:00
Olivier Goffart
f254ee3211
Nautilus shell integration: Port to Python 3
2018-01-23 12:30:58 +01:00
Olivier Goffart
926609bd74
Partially revert "shell_integration/dolphin: Silence some warnings"
...
This partially reverts commit 1c721e9422
.
This caused the overlay plugin to be installed at the wrong place
because the kcoreaddons_add_plugin macto still use deprecated
${PLUGIN_INSTALL_DIR}.
I guess we'll have to live with the warnings.
2018-01-17 17:34:27 +01:00
Dominik Schmidt
fc62e9e9d9
Fix .def and .rc files not being compiled into windows shell extensions
2018-01-13 21:01:09 +01:00
Dominik Schmidt
15967b1219
Install all dlls to BINDIR so craft does not ignore them
2018-01-13 13:58:17 +01:00
Dominik Schmidt
81c20352e1
Use new ECMAddAppIcon macro for application icons.
...
cmake/modules/ECMAddAppIcon.cmake is heavily patched to support sidebar icons, OUTFILE_BASE parameter and to not include 64 and 64@2x icons on macOS which are not supported. All changes are made in a way that we can upstream this.
2018-01-13 13:58:17 +01:00
Dominik Schmidt
4e52ee9ebd
Build Explorer extension if building with MSVC
2018-01-13 13:58:17 +01:00
Olivier Goffart
1c721e9422
shell_integration/dolphin: Silence some warnings
2018-01-13 13:58:17 +01:00
Julius Härtl
1cedb1919f
Integrate libcloudproviders support
...
This commit integrates support for libcloudproviders
desktop integration API. If build with the library it
will check on startup if the DBus interface is available
and then use it instead of the legacy status icon.
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-14 11:19:25 +01:00
Martin
cd2057fc04
Update Overlay Icon naming
2017-12-12 10:18:00 +01:00
Christian Kamm
ca4ad58a06
Packaging: Add options for fine-grained builds #5957
...
Extracted and adjusted from packaging.diff by @jnweiger and @dschmidt
2017-09-27 09:13:44 +02:00
Jürgen Weigert
839361594d
fix branded nemo and caja shell integration ( #5966 )
...
* Update createcajaplugin.sh
* first apply branding, then create copies. Better.
Fixes https://github.com/owncloud/ownbrander/issues/753
* fix https://github.com/owncloud/ownbrander/issues/752 too.
2017-08-31 13:16:34 +02:00
Jocelyn Turcotte
af4f1083b7
shell/windows Build 46: Private links context menu
2017-07-07 18:10:48 +02:00
Christian Kamm
ca2ffd4fb3
SocketAPI: Change strings to a consistent _MENU_TITLE postfix
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
3b20684dc7
shell/macos: Remove legacy (< 10.10) overlay icons
...
Having to update the plugins to add a submenu in the context menu,
it's more cost-effective to remove support for legacy macOS versions
than implementing and testing this setup.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
b6db9789ee
shell/macos: Use a submenu to include private link actions
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
7a4daf799a
shell/windows: Use a submenu to include private link actions
...
Refactor things a bit to be able to reuse some code and
clean things up.
2017-07-07 10:49:51 +02:00
Christian Kamm
0238a29c7c
Introduce private link sharing #5023
...
* SocketAPI has COPL_LOCAL_LINK / EMAIL_LOCAL_LINK commands
* The nautilus and dolphing shell integrations show a submenu from which
one can share as well as access the private link.
* The SocketAPI provides a new GET_STRINGS command to access localized
strings.
* The private link can also be accessed from the user/group sharing
dialog.
* The numeric file id is extracted from the full id to create the
private link url.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
9daef50ce6
shell/Windows: Update binaries to build 45
2017-06-14 14:17:50 +02:00
Frederik Juul Christiani
fae178f70b
shell_integration/windows: Create _newQueries as a non-signaled auto-reset event.
...
Since ResetEvent() is never called, the call to WaitForMultipleObjects()
can always return immediately once the event has been signaled.
2017-06-14 12:14:22 +02:00
Frederik Juul Christiani
744208f701
Initialize stop variable.
...
Avoid stopping the worker thread immediately if the stop variable happens to be true.
2017-06-14 12:14:21 +02:00
Christian Kamm
cdf16dd905
Remove unreachable code #5582
2017-03-07 13:23:47 +01:00
Jocelyn Turcotte
166ef85a51
shell/Windows: Update binaries to build 44
2017-01-18 13:34:02 +01:00
Jocelyn Turcotte
47fbfbc006
shell/Windows: Avoid memory allocations and copies when querying icons
...
IsMemberOf is called for every file (in the ownCloud directory or not) and
with every instance of OCOverlay (we have 5) when displaying a list of
files in Explorer.
Refactor the code to avoid copying the list of watched directories, as
well as creating a wstring from a PWWSTR for files outside watched
directories.
Also change some calls of begin_with to use isDescendantOf since it
properly handles parent paths not ending with a backslash, which could
lead to SocketAPI queries for sibling folders with a name that starts with
a watched folder name.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
e131c142ff
shell/Windows: Fix the view not being updated on StateError
...
Since StateError == 0, if this was the status used when the path
isn't in the map already, the view would not be updated since the
new state would be the same as the default-constructed state in the
map. Fix by explicitly inserting in that case, this also avoid aving
to do two lookups in the map when a path already has an entry.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
1b99ff2e91
shell/Windows: Remove the UPDATE_VIEW message handling
...
The client now tries to only push STATUS messages to connections
unless they previously requested it with a RETRIEVE_FILE_STATUS,
but this means that we now have to make sure that a new connection
will rerequest every icon that the user will see on files from that
point on.
To that end, we now send a SHChangeNotify for every file in the cache
when we lose the connection (or on UNREGISTER_PATH) to make sure that
what's on the screen matches what's in the cache. We also remove the
_oldCache logic that made this more difficult to enforce.
The client has been able to reliably push status updates on macOS
for a few versions now, and we don't need it on Windows either. The
_oldCache mechanism was to avoid sending to many update requests
when receiving an UPDATE_VIEW.
Also fixes #4766
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
3e85d47a57
shell/Windows: Convert tabs to space
...
It was a mix of both and the rest of the code uses spaces.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
e709d75d56
shell/Windows: Remove unused files
...
The real OCContextMenu.cpp is in the OCContextMenu folder.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
cb5cfb8cf6
shell/macOS: Make sure the root folder's cache is cleared on disconnect
...
The SocketAPI now only sends status pushes for paths requested by the
shell. We have to make sure that Finder doesn't just show the entry
from its cache after a reconnect.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
ebd2a15711
shell/macOS: Remove backslashes from the extension display name
...
Tell cmake not to escape shell strings adding backslashes before
spaces by passing the VERBATIM optiton. Also add the quotes to
whole command line arguments to prevent quotes from appearing on the
XCode side, because of the VERBATIM option.
This only affects themed clients since the default theme doesn't
have space in its APPLICATION_NAME.
2017-01-18 12:15:52 +01:00
octotree
a1b4984d14
Symlink Support for Dolphin Plugins ( #5428 )
...
Add Symlink Support to Dolphin Overlay Plugin
2017-01-05 13:24:22 +01:00
Felix Tiede
d090a3330a
Generate .desktop file with OEM name directly.
...
Instead of renaming the .desktop file at install time it is now
generated with its OEM name during configure time.
2016-11-29 18:36:26 +01:00
Felix Tiede
d04e7841e2
Fix file installation source path.
...
By default the file is copied from the source and not the build
directory which will fail with the configure-time built file.
2016-11-29 18:36:26 +01:00
Felix Tiede
d7a4726544
Extend OEM configurability to dolphin desktop file.
...
OEM configurability creates binaries with OEM names which the .desktop
file doesn't take into account and thus dolphin integration does not
work if OEM changes the binary's name(s).
These changes are now integrated into the .desktop file at compile time.
2016-11-29 18:36:26 +01:00
Olivier Goffart
899c675f0a
Merge pull request #5267 from payload/fix_4608
...
nautilus integration: "share" extension for syncing folders
2016-11-14 12:35:18 +01:00
Gilbert Röhrbein
9c8572e335
nautilus integration: refactored _connectToSocketServer, removed superfluous check
2016-10-25 21:45:47 +02:00
Gilbert Röhrbein
e675a34fbb
nautilus integration: use os.path.join, os.sep and tempfile.gettempdir instead of string concats
2016-10-25 20:15:17 +02:00
Marcus Hoffmann
fe984b61d7
Add script to create a caja plugin. ( #5262 )
...
Caja is a fork of nautilus maintained by the Mate project.
This adds a script to create a caja plugin from the nautilus plugin.
It replaces all occurences of nautilus with caja (case sensitive).
This is done in the same way the nemo plugin is generated from the nautilus one.
2016-10-24 15:36:23 +02:00
Gilbert Röhrbein
166a0f60ca
nautilus integration: "share" extension for syncing folders
...
Issue #4608
* folder state is either OK or SYNC usually
* this extension does not know about if a folder is shareable
* a OK folder is shareable
* a SYNC folder could be uploaded or not uploaded
* this commit looks into file entries below this folder
* if one exists with state OK or SYNC
this folder must have been uploaded
* better would be if the server (gui) tells us
if the folder is uploaded
2016-10-22 23:26:44 +02:00
Christian Kamm
5f2b1999f6
Package: Fix nautilus plugin name collision when branded
...
As suggested by @olifre in #5183
2016-09-28 13:10:48 +02:00
Klaas Freitag
2d110540ee
Dolphin Plugin: Use the Application name for the socket path ( #5172 )
...
do not hardcode.
This should fix #5165
2016-09-12 14:12:33 +02:00
Daniel Molkentin
b575ded464
More GmbH -> Inc Copyright header fixes
2016-07-26 16:53:11 +02:00
Jocelyn Turcotte
03a90bf03f
shell/windows: Build 43, add missing 32 bit binaries
...
Also include a minor change from #5025
2016-07-26 14:54:27 +02:00
Jocelyn Turcotte
ff7b2381e9
shell/windows: Add missing Win32 configuration changes
...
The changes in build location were only done on the x64 configuration.
2016-07-26 14:53:14 +02:00
arthurchiao
7a2a439426
fix #5015 overlay icon not show: compare folder paths with no case-sensitivity
2016-07-01 13:03:42 +08:00
Jocelyn Turcotte
ba96fb89a5
shell_integration/windows: Set VS output directory in the binary submodule
...
This allows creating a new build simply by hitting F7 in visual studio
and then committing the changed files in the binary submodules without
having to know which files to move where.
2016-06-27 15:23:37 +02:00
Jocelyn Turcotte
70ae11fcad
shell_integration/windows: Add a manually-increased build number
...
Since this isn't yet built together with the rest, we can't reliably
use the client version without having to rebuilt the extension manually
on each release. But it would still be nice to be able to tell if a user
has the right version or not loaded, so instead just tag each update of
the DLLs with a separate release version.
This means that every time we update those binaries we'll have to manually
increment the number in the header, but worst case we'll forget from time
to time but we'll be able to know if we didn't, and know if we can rely on
the number or not.
2016-06-27 15:13:47 +02:00
ckamm
86fd982b00
SocketAPI: Use different pipe name #4977 ( #4997 )
...
Named pipe names that contain backslashes sometimes lead to problems.
2016-06-27 15:13:08 +02:00
Daniel Molkentin
9d6701ecbe
Windows Shell Integration: Fix another spot where the pipe path was constructed manually
2016-05-10 13:49:14 +02:00
Daniel Molkentin
0e9170cb36
Windows Shell Integration: Unify path lookups
2016-05-10 10:18:53 +02:00
Markus Goetz
8820bc1c17
Windows: Fix Share menu #4781
2016-05-09 14:37:46 +02:00
Olivier Goffart
3d9d106bb1
Dolphin plugin: fix build with branding
...
Make sure that the name of the _export.h file is the same no matter the plugin
2016-05-04 14:19:18 +02:00
Klaas Freitag
641125eac1
Fix nautilus and nemo plugin branding strings. ( #4780 )
...
* Fix nautilus and nemo plugin branding strings.
Fix for owncloud/enterprise#1314
* nautilus plugin: Add a comment why the line needs to stay unchanged.
2016-05-03 11:36:56 +02:00
Daniel Molkentin
e833d01288
Re-Apply: Disambiguate socket API pathes on Windows with user name
...
Addresses #3411
2016-05-02 16:09:48 +02:00
Daniel Molkentin
b43a9421d2
Revert "Disambiguate socket API pathes on Windows with user name"
2016-04-28 13:52:15 +02:00
Daniel Molkentin
ce6a365328
Disambiguate socket API pathes on Windows with user name
...
Addresses #3411
2016-04-26 14:49:45 +02:00
Christian Kamm
f657bd0cd9
Overlay icons: Fix invalidation with nautilus #3249
...
This avoids an extra socketapi call after invalidate_extension_info
is called from a STATUS message.
2016-04-26 11:49:56 +02:00
Christian Kamm
b4cf17d99d
Overlay icons: Fix duplicate icons in nautilus #3249
2016-04-26 11:02:59 +02:00
Klaas Freitag
e5a5b95b9a
Merge pull request #4689 from owncloud/overlays_handle_root
...
SyncFileStatusTracker: Add a method to handle the root folder of the sync.
Also, handle new files put in the sync in the statustracker logic.
2016-04-21 15:01:11 +02:00