Commit Graph

369 Commits

Author SHA1 Message Date
Claudio Cambra
ef180f88ee feat(shell_integration/macOS/FileProviderExt): Await ignored files before proceeding with create/modify/delete
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 12:10:44 +02:00
Claudio Cambra
cc4bc8fa98 feat(shell_integration/macOS/FileProviderExt): Pass ignored files matcher when creating/modifying/deleting items
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 12:10:44 +02:00
Claudio Cambra
f94ee2142f feat(shell_integration/macOS/FileProviderExt): Parse received ignored files to set up IgnoredFilesMatcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 12:10:44 +02:00
Claudio Cambra
69ff59d42c feat(shell_integration/macOS/FileProviderExt): Request ignored files list on account setup
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 12:10:44 +02:00
Claudio Cambra
ab416896ac
feat(shell_integration/macOS/FileProviderExt): Fix REUSE compliance
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 15:04:56 +08:00
Claudio Cambra
867b0fe1f3
feat(shell_integration/macOS/FileProviderExt): Implement handling of keep downloaded action
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 15:04:02 +08:00
Claudio Cambra
92b0eb3bb8
feat(shell_integration/macOS/FileProviderExt): Add "Keep Downloaded" related menu actions
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 15:04:02 +08:00
Claudio Cambra
008ee941c1
feat(shell_integration/macOS/FileProviderExt): Add basic CustomActions FileProviderExtension extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 15:04:01 +08:00
Claudio Cambra
c6254b57fb fix(shell_integration/macOS/FileProviderExt): Use NSError-based deletion rejected builder method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-14 16:51:49 +02:00
Claudio Cambra
8a7fd5651b fix(shell_integration/macOS/FileProviderExt): Make item filename public during rejected deletion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-14 16:51:49 +02:00
Claudio Cambra
a8bff243df feat(shell_integration/macOS/FileProviderExt): Add ClientCommunicationProtocol method to get/set trash deletion enablement
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-14 16:51:49 +02:00
Claudio Cambra
2c1f4be6a6 feat(shell_integration/macOS/FileProviderExt): Add config entry to check if trash deletion enabled setting has been set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-14 16:51:49 +02:00
Claudio Cambra
aab2728a84 feat(shell_integration/macOS/FileProviderExt): Prevent deletion of trashed items when config flag is set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-14 16:51:49 +02:00
Claudio Cambra
70b258df83 feat(shell_integration/macOS/FileProviderExt): Add config setting for preventing deletion of trashed items
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-14 16:51:49 +02:00
Claudio Cambra
a000dd60a7 fix(shell_integration/macOS/FileProviderExt): Add method to acquire user agent in FPUIExtensionService
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-09 17:48:38 +02:00
Claudio Cambra
c064b6a452 fix(macOS): Also send user agent over XPC service
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-09 17:48:38 +02:00
Claudio Cambra
3dbdaaf54c fix(macOS): Send user agent string over File Provider socket along with account details
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-09 17:48:38 +02:00
Claudio Cambra
30bf5ffe03 fix(shell_integration/macOS/FileProviderExt): Make user agent a parameter of setupDomainAccount
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-09 17:48:38 +02:00
Claudio Cambra
ef783d7b11 fix(shell_integration/macOS/FileProviderExt): Correctly build NSFileProviderErrors
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-09 17:40:41 +02:00
Andy Scherzinger
5fe94ea149 docs(reuse): Migrate to SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-05-07 09:28:53 +02:00
Claudio Cambra
804c9ac0ab feat(shell_integration/macOS/FileProviderExt): Adapt to db manager changes and pass full account struct to init
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-06 09:45:47 +02:00
Claudio Cambra
550e698bc2 feat(shell_integration/macOS/FileProviderExt): Also use specific db manager in FPUIExtensionServiceSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-06 09:45:47 +02:00
Claudio Cambra
49e560b819 feat(shell_integration/macOS/FileProviderExt): Use specific dbManager for thumbnailing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-06 09:45:47 +02:00
Claudio Cambra
52655ca9ce feat(shell_integration/macOS/FileProviderExt): Also use specific dbManager for local file handling
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-06 09:45:47 +02:00
Claudio Cambra
bc111b1e48 feat(shell_integration/macOS/FileProviderExt): Pass dbManager into standard FileProviderExtension methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-06 09:45:47 +02:00
Claudio Cambra
c75c4c46a3 feat(shell_integration/macOS/FileProviderExt): Configure specific instance of FilesDatabaseManager for account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-06 09:45:47 +02:00
Andy Scherzinger
00994aa9e8
docs(reuse): Migrate to SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-04-16 15:19:26 +02:00
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