Commit graph

563 commits

Author SHA1 Message Date
Claudio Cambra
b80afca177
Wrap access of itemUrl in security scoping
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-18 04:56:31 +08:00
Claudio Cambra
59928a6c33
Explicitly set bundle name and identifiers from env vars in FileProviderUIExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-18 04:56:31 +08:00
Claudio Cambra
96f1ba656f
Unify FileProviderUIExt entitlements
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-18 02:26:49 +08:00
Claudio Cambra
19cf69ccd3
Make sure network error is shown in UI instead of generic error
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-18 02:07:48 +08:00
Claudio Cambra
ac1b11708f
Improve logging across file provider sharing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-18 01:58:38 +08:00
Claudio Cambra
f0f995c260
Pin NextcloudFileProviderKit version to 0.9.0 (up to next major version)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:18:17 +08:00
Claudio Cambra
dff6428a75
Remove now-unneeded Realm dependency from FileProviderExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:17:42 +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
1f78b9f685
Fix build of ShareTableViewDataSource
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
e7616e0e54
Add NextcloudFileProviderKit dependency
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:01 +08:00
Claudio Cambra
3c3e3aa353
Remove FileProviderExtTests
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
af9a271662
Add test target for file provider testing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:00 +08:00
Claudio Cambra
206d7cf3f4 Allow SuggestionsTextFieldKit to use up to next major version
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
5e80827c1f Upgrade NextcloudCapabilitiesKit version
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1beb04371c Add a "no shares" label if there are no shares available in share view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3bdb1ca1cb Update description label in share view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
5070c370a6 Display shareWith in nkshare displaystring extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
beedbbb471 Pin NextcloudCapabilitiesKit version
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
cfda22c107 Pin NextcloudKit version
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1285b02770 Set suggestionstextfieldkit to 1.0.0
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
af2b2e7aa1 Clean up TODO comments in file provider ui ext
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
395cf9649c Fix SuggestionsTextFieldKit import
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
4464f7e460 Simplify configuration of text field delegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
66f77233a8 Fix suggestion labels for sharees
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
db20e44850 Use suggestions window controller in share options view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
07b6391688 Improve logging in ShareeSuggestionsDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
798e060032 Post suggestions changed notification in ShareeSuggestionsDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
c91d5827ab Update suggestions on inputString change in sharee suggestions data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ad43c13882 Add converter method fro nksharee to suggestion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3012976d9b Add sharee fetcher method to shareesuggestionsdatasource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
74cea5e57a Add basic shareesuggestionsdatasource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d6e67a1882 Add SuggestionsTextFieldKit dependency
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ca94b452f1 Add package dependency NextcloudCapabilitiesKit to NextcloudIntegration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e54652b690 Retry getting information from FileProviderExt if doing so has failed (usually due to opening share view before auth details are present)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1f3d636a92 Deduplicate error presentation in ShareTableViewDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
bab3b4181c Fix options view disappearing when clicking create button in share view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d2242ea9a4 Fix letter used to identify shareability in sharetableviewdatasource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
807371e1b7 Fix scan path to retrieve item metadata in share table view data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
9621dede1f Ensure interpolated logging string in share table view data source is public
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
65db197a62 Check if the given item is shareable before fetching shares
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
4d3e63009c Add method to ShareTableViewDataSource to fetch the given item's metadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f7dba3e4c6 Add more debug logging to sharecapabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3e7cde632e Fix default states around passwords for share options view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
49303045b7 Fix ShareCapabilities parsing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
7be5541cde Fix password capabilities for public link capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3bb6f43bdf Update form layout according to picked type when picked type changed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ce1bf89a99 Setup the fields in share options view when creating a new form according to capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
b7541fc783 Update reset to make sure it also resets min and max dates in date picker, don't affect share type
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
b074d19e6e Extract conversion of picked menu item in share type picker into NKShare ShareType into new method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3bfbb38e0f Do not bother fetching shares if sharing is disabled on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
cfd8c00e94 Fetch sharing capabilities in ShareTableViewDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8039fcd951 Add init for ShareCapabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3ffcd6de42 Add init for public link capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1e811fead5 Add initialiser from dictionary for EmailCapabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
15651f6a0c Restructure ShareCapabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
2d0cdb3716 Add ShareCapabilities struct
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
b23706633e Adapt visibility of note recipient text field upon toggling checkbox
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f1adfcf8b7 Adapt visibility of expiration date field upon toggling checkbox
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
4be8bace48 Adapt visibility of password field upon toggling password checkbox
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d12cdebf48 Reset newly added fields in ShareOptionsView correctly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d0195e67c3 Properly handle failure state when creating new share in share options view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
31a9db9e25 Correctly treat share recipient text field in the share options view flow
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
c5d57cde1f Add a text field for relevant shareWith in ShareOptionsView
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
54f3822b3c Have specific cancel behaviour in shareoptionsview on delete if in create mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
83ed6ea35f Change deleteButton to a cancel button when in creation mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
a7637257d5 Adjust share options view title depending on create mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
70cb2bd4c1 Make share options view capable of creating or updating view upon clicking "save" depending on create status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
4029458eff Connect different share type popup button menu items to outlets in share options view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
131973b935 Make create button in share view controller show options view and toggle create mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e1997bd1fd Add "createMode" toggle to share options view, start building for use to create new shares
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
0ceb6a9481 Add additional options to share controller creation method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
000fe02bb0 Nilify itemServerRelativePath upon loading item in table view data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8d3b101569 Make item's server relative path public in sharetableviewdatasource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e25bebcd69 Add static method to create shares in ShareController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3a58fbeef6 Add a popupbutton to share options vie to select type of share
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
15f03d6417 Add button to create new share in share view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
2085a1214e Remove unused outlets in tableitemview
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ff305ec9fc Implement deletion functionality for share options view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
a4551b25c6 Improve design of save and delete buttons in share view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00