Claudio Cambra
ee3ae980a8
shell_integration/macOS/FileProviderExt: Do not report enumeration-related sync state
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-28 10:50:33 +01:00
Claudio Cambra
11137e572d
shell_integration/macOS/FileProviderExt: Do not delete an item twice in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-02-06 12:24:09 +01:00
Claudio Cambra
a08a425083
shell_integration/macOS/FileProviderExt: Adapt to API changes in NextcloudFileProviderKit changes in 2.0
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-02-06 12:24:09 +01:00
Claudio Cambra
46ac0f94da
Run post-auth state check with main actor task
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 14:16:25 +08:00
Claudio Cambra
3d1a5e34bd
Fix swift 6 concurrency error regarding use of authAttemptState
...
Cannot pass a local variable into a concurrently executing Task. It's
not a real issue as we are using a semaphore to wait before using this
variable for anything outside of the Task block, but still.
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 14:16:25 +08:00
Claudio Cambra
690303f952
Stop fetching user profile details now that is not necessary in file provider extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
4d7b3eeacb
Handle userId correctly in File Provider Extension client interface
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
6f1322fe47
Properly provide both user-provided username AND backing user ID to File Provider Extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
cbf4ea571e
Fetch user profile (and user ID) when setting up domain account
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
4d96dbbc7a
Wait for task to complete synchronously after setting up domain account rather than wrapping everything in task
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
9f9bcf0045
Retry authentication if connection timed out
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
ad2a2c40d8
Try to authenticate new account details before setting them
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
4012d43bb9
Do not provide items if account is not set up correctly
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-12 09:50:50 +02:00
Claudio Cambra
1283284572
Remove ncAccount usages removed in NCFPK API
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-29 16:52:37 +08:00
Claudio Cambra
92f42bc16d
Lock and unlock when accessing sync actions in FileProviderExt to protect against possible races
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:29 +08:00
Claudio Cambra
939d67bfcc
Set self as listener for Enumerator in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:29 +08:00
Claudio Cambra
617ca1a153
Add conformance to NextcloudFileProviderKit's EnumerationListener protocol in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
0c78594481
Track sync actions in main FileProviderExt procedures
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
3f3f478f6a
Add method to remove finished sync action in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
c189f2952f
Add method to mark action as error sync action in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
3e6b20713e
Add method to insert new sync action in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
885d9f3566
Add method to report a change in sync state if applicable in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
5237822221
Add sets for actions, to be able to track multiple actions
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
e7a164d312
Remove unused urlsession stuff in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-19 16:24:21 +08:00
Claudio Cambra
ac6e0d81f6
Implement ChangeNotificationInterface in client interface extension of FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-19 16:24:21 +08:00
Claudio Cambra
73fde5065d
Adapt to remoteInterface changes in NCFPK
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-19 16:24:21 +08:00
Claudio Cambra
313f3bdb72
Add NCFPKAppGroupIdentifier in FileProviderExt info plist
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-19 16:24:21 +08:00
Claudio Cambra
77f9096538
Set changeobserver as delegate for nkcommon
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:05 +08:00
Claudio Cambra
68370ade88
Add change observer from NCFPK
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:05 +08:00
Claudio Cambra
6a64248ff6
Always signal enumerator after errors to try and recover from what the error might have been
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:04 +08:00
Claudio Cambra
33e2c084a5
Provide NCFPK enumerator with extension domain
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:04 +08:00
Claudio Cambra
7664509e22
Correctly set up NCKit instance with account string
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:04 +08:00
Claudio Cambra
9e7ce1640d
Remove unused components in FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:04 +08:00
Claudio Cambra
c082c446c1
Fix passing of wrong item into item.modify
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:04 +08:00
Claudio Cambra
dab28f20f4
Improve logging in delete item procedure of FPExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:04 +08:00
Claudio Cambra
485b07a805
Use NCFPK item modify method
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:03 +08:00
Claudio Cambra
c9a131736a
Use NCFPK Item.create in createItem
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:03 +08:00
Claudio Cambra
2373cd4dde
Use fetchContents from NCFPK item
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:03 +08:00
Claudio Cambra
3ec18ba1a6
Simplify FileProviderExtension's deleteItem method by leveraging Item's delete method
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:03 +08:00
Claudio Cambra
788fd7f363
Greatly simplify item method of FIleProviderExtension by using item storedItem method
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:03 +08:00
Claudio Cambra
6200cab957
Use new convenience method to get Item for root container from NCFPK
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:03 +08:00
Claudio Cambra
d74d23cedb
Use thumbnail fetching procedure from NCFPK
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:02 +08:00
Claudio Cambra
e8d1afa3df
Adapt to new NextcloudFileProviderKit item nomenclature
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:02 +08:00
Claudio Cambra
913d724254
Make use of NextcloudFileProviderKit materialisedenumerationobserver
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:02 +08:00
Claudio Cambra
2c0688f82b
Use FileProviderItem from NextcloudFileProviderKit
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:02 +08:00
Claudio Cambra
5a774756b6
Use Enumerator in NextcloudFileProviderKit
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:02 +08:00
Claudio Cambra
b9483f0c55
Remove use of all code now available in NextcloudFileProviderKit
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:01 +08:00
Claudio Cambra
3066f58673
Allow NextcloudFilesDatabaseManager to take a specific realmconfig in constructor
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:01 +08:00
Claudio Cambra
2caa43a76d
Database manager does not need to be an NSObject
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:01 +08:00
Claudio Cambra
ff9e344810
Move all share fetching logic to FileProviderUIExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
145d92e5cb
Add method to get an item's server path through FPUIExtensionService
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e6f20e9498
Remove logging from NextcloudAccount
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
81dc8ce708
Add method to FPUIExtensionServiceSource to get extension account details
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
259a28e33e
Add method to convert dictionary to NextcloudAccount
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
02b5a31eae
Add method to export NextcloudAccount details to dictionary
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
5b1b87b788
Add FPUIExtensionServiceSource to services published by FileProviderExt
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
9ce3af3de7
Fix visibility of logging in ItemSharesController
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e15db9b938
Fix protocol used for FPUIExtensionServiceSource
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
6dad778498
Add share fetching routine to FPUIExtensionService
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
07473ac5d9
Add fetch method to itemsharescontroller
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
0feb5da08f
Add starter ItemSharesController
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8982857833
Add starter FPUIExtensionServiceSource
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
dbe8a5f8f2
Add starter FPUIExtensionService protocol
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
60f116cdd4
Implement eviction capabilities in FileProviderItem
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
1a576a15d6
Log setting change for fast enumeration in ClientCommunicationService
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
bbe48954be
Add method to set fast enumeration in client communication service
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
8d3b676558
Add method to get state of fast enumeration setting
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
9a8af68ddc
Add lazy var for whether the fastEnumeration value has actually been set in settings
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
a3e1d66707
Use value from config for fastEnumeration when creating enumerator
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
534b3a60d7
Add fastEnumerationEnabled property to config
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
f987bcd97a
Add computed property to FileProviderConfig to get and set internal config
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
1fc6014230
Add a starter FileProviderConfig
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
cac263f174
Clean up properties and init/invalidate in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
179a368f9f
Add option to do a fast enumeration of changes which ignores new, unexplored folders
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
9946495edb
Replace handling of debug archive creation in clientcommunicationservice with simple retrieval of debug string
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
571b1ca238
Directly provide text file path to logger for debug archive creation
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
70521e95bc
Implement creating debug archive in client communication service
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
1dcfee4087
Add function to File Provider Logger extension to create debug logs file
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
0ddd22ddbb
Add function to retrieve log entries in File provider Logger extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
3334b4e49c
Do not reconfigure file provider extension account if we are receiving the same details again
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
b22f463ad5
Add explainer to client interface
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
5ed456f30c
Implement NSFileProviderServicing in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
6cb71694fd
Log extension id sent over XPC publicly
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
2d1e5ba197
Ensure the listener is resumed once the endpoint is created in the extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
5f6f7f302a
Add extensionAccountId property to ClientCommunicationProtocol
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
ac43369bed
Properly implement listener should accept connection in ClientCommunicationService
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
026f082253
Reimplement ClientCommunicationService in Swift
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
dd39991f1c
Implement ClientCommunicationProtocol in ClientCommunicationService
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
e763a9d29b
Add ClientCommunicationProtocol
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a2d69fcf7c
Keep pointer to FileProviderExtension around in ClientCommunicationService
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
22c176af8a
Add starter client communication service
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
7ac5f38178
Cllean up function and method calls in File Provider Extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-06 11:45:44 +01:00
Claudio Cambra
d707ccc5b3
Clean up file provider extension property declarations and init
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-06 11:45:44 +01:00
Claudio Cambra
3928573ff4
Run swift-format on swift code
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-06 11:45:44 +01:00
Dimitri Papadopoulos
09521edbac
Fix residual typos found by codespell
...
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-09-16 20:36:56 +02:00
Claudio Cambra
ace8dbc833
Add support for thumbnails in FileProviderExtension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
7d47e2371b
Add convenience method to get thumbnailUrl in NextcloudItemMetadataTable
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
486c1a2556
Split local file related metadata management into own extension in NextcloudFilesDatabaseManager
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
4cb1e08d89
Split directory item metadata handling in database to new NextcloudFilesDatabaseManager extension
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
2b55b43e7b
Correctly report child item count for folders in FileProviderItem
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00