-
Notifications
You must be signed in to change notification settings - Fork 9
Make NextcloudKit Swift 6 compatible #119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b93b919 to
cedcb5a
Compare
Nice, that was one of the reasons why I decided to not use NextcloudKit in the new iOS app UI tests I am currently working on (test isolation is easier without global state). |
Great ! |
i2h3
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed to read all the changes and learn what is going on but I am not as experienced as my colleagues with the package yet. @marinofaggiana and @mpivchev should also review, I guess.
|
|
||
| class NKDataFileXML: NSObject { | ||
| let nkCommonInstance: NKCommon | ||
| var nkCommonInstance: NKCommon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why change to vars here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@claucambra could you please elaborate on this :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for missing this!
This is a var because NKCommon is now a struct (to make it more easily Sendable) and we use functions that mutate the struct instance (mainly getInternalType, which modifies the cache)
mpivchev
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good :)
|
I must try it ... please do not merge |
I won't, no rush :) |
|
@claucambra can you rebase it ? |
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]> f Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
This also modifies the behaviour of its methods to be sendable compliant by using locking instead of a dispatch queue Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]> f autorenamer Signed-off-by: Claudio Cambra <[email protected]> f autorenamer Signed-off-by: Claudio Cambra <[email protected]> f autorenamer 3 Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]> f filenamevalidator Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]> f shared nckit Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]> f nkfileproperty Signed-off-by: Claudio Cambra <[email protected]>
This required modifying the caches into standard maps. Unfortunately NSCache is not sendable compliant. I have made the changes take effect only when building with Swift 6 Signed-off-by: Claudio Cambra <[email protected]>
Signed-off-by: Claudio Cambra <[email protected]>
This is seemingly expected by the autotests Signed-off-by: Claudio Cambra <[email protected]>
afa8745 to
0d3f5bb
Compare
Yes, done now |
|
@mpivchev Build with iOS/develop but I have an error in FileNameValidator, can you check ? |
|
We can merge it in develop please @claucambra @i2h3 @mpivchev Work in the respective clients to adapt the requested changes, in case you need to create fixes to the current version that uses the previous library please use the 5.0.4 (which is the last one before this Swift 6 ) |
* nextcloud/ios#2390 Signed-off-by: Marino Faggiana <[email protected]> * add async/await searchMedia Signed-off-by: Marino Faggiana <[email protected]> * Livephoto detect (#51) * Update NKModel.swift * cleaning Signed-off-by: Marino Faggiana <[email protected]> * Fix build on macOS broken by freeDisk change (#53) Signed-off-by: Claudio Cambra <[email protected]> * livePhotoFile -> fileId Signed-off-by: Marino Faggiana <[email protected]> * rollback Signed-off-by: Marino Faggiana <[email protected]> * rollback Signed-off-by: Marino Faggiana <[email protected]> * Fix error description chunk Signed-off-by: Marino Faggiana <[email protected]> * chunk error fix Signed-off-by: Marino Faggiana <[email protected]> * errorDescription Signed-off-by: Marino Faggiana <[email protected]> * added description Signed-off-by: Marino Faggiana <[email protected]> * Change to markdown Signed-off-by: Milen Pivchev <[email protected]> * Added e2ee options versionApi Signed-off-by: Marino Faggiana <[email protected]> * change variable name Signed-off-by: Marino Faggiana <[email protected]> * endpoint update Signed-off-by: Marino Faggiana <[email protected]> * Fix chunk S3 (#56) * cod Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * public func Signed-off-by: Marino Faggiana <[email protected]> * lint Signed-off-by: Marino Faggiana <[email protected]> * remove description Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * fix log Signed-off-by: Marino Faggiana <[email protected]> * Resolution - GPS (#59) * fix resolution-gps Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * set h, w to Double Signed-off-by: Marino Faggiana <[email protected]> * coding (#61) Signed-off-by: Marino Faggiana <[email protected]> * normalized taskHandler taskHandler(task) }. Signed-off-by: Marino Faggiana <[email protected]> * add filename in trash (#63) * add filename Signed-off-by: Marino Faggiana <[email protected]> * disable Build and test Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * Nextcloud Assistant (#66) * getTextProcessingTaskTypes Signed-off-by: Marino Faggiana <[email protected]> * getTextProcessingTaskTypes Signed-off-by: Marino Faggiana <[email protected]> * NKTextProcessingTaskTypes Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Add init Signed-off-by: Milen Pivchev <[email protected]> * Change model Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * Add support for visionOS, fix tvOS and watchOS support (#67) * Add CoreServices import for visionOS Signed-off-by: Claudio Cambra <[email protected]> * Fix screen scaling calculation when UIScreen is not available (for visionOS) Signed-off-by: Claudio Cambra <[email protected]> * Fix availability of UIImage.resizeImage on non iOS platforms Signed-off-by: Claudio Cambra <[email protected]> * Add visionOS target support to NextcloudKit Signed-off-by: Claudio Cambra <[email protected]> * Bump watchOS version up, per dependency requirements Signed-off-by: Claudio Cambra <[email protected]> * Remove reachability observation on watchOS, as this is unsupported in Alamofire Signed-off-by: Claudio Cambra <[email protected]> * Remove free disk calculation on watchOS which cannot be done Signed-off-by: Claudio Cambra <[email protected]> * Bump up tvOS version per dependencies Signed-off-by: Claudio Cambra <[email protected]> * Also restrict free space calculation on tvOS, as unavailable Signed-off-by: Claudio Cambra <[email protected]> --------- Signed-off-by: Claudio Cambra <[email protected]> * Task description (#70) * coding Signed-off-by: Marino Faggiana <[email protected]> * task.taskDescription Signed-off-by: Marino Faggiana <[email protected]> * DownloadingFinish Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * change TypeIconFile (#71) Signed-off-by: Marino Faggiana <[email protected]> * Core Preview Improvements and use only fileId Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * Improvements Signed-off-by: Marino Faggiana <[email protected]> * added compressionQuality Signed-off-by: Marino Faggiana <[email protected]> * Improvements (#76) Signed-off-by: Marino Faggiana <[email protected]> * improved code Signed-off-by: Marino Faggiana <[email protected]> * fix paramenters default Signed-off-by: Marino Faggiana <[email protected]> * fix paramenters default Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * downloadPreview Signed-off-by: Marino Faggiana <[email protected]> * added downloadPreview url Signed-off-by: Marino Faggiana <[email protected]> * httpCookieStorage (#80) Signed-off-by: Marino Faggiana <[email protected]> * new getUserProfile() Signed-off-by: Marino Faggiana <[email protected]> * change paramenter name Signed-off-by: Marino Faggiana <[email protected]> * Account (#82) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * Revert "cod" This reverts commit 83b75a1. Signed-off-by: Marino Faggiana <[email protected]> * Filename validator (#83) * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * cleanup Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Make singleton Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> * fix session delegate Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * Filename validator (#92) * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * cleanup Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Make singleton Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * NextcloudKit Version 5 - Multisession (#94) --------- Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * NextcloudKit V 5 Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * requestCachePolicy Signed-off-by: Marino Faggiana <[email protected]> * cache Signed-off-by: Marino Faggiana <[email protected]> * cache Signed-off-by: Marino Faggiana <[email protected]> * cache Signed-off-by: Marino Faggiana <[email protected]> * Add optional spaces and periods - WCF Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> * Response (#97) * API Signed-off-by: Marino Faggiana <[email protected]> * assistant Signed-off-by: Marino Faggiana <[email protected]> * comments Signed-off-by: Marino Faggiana <[email protected]> * dashboard Signed-off-by: Marino Faggiana <[email protected]> * e2ee Signed-off-by: Marino Faggiana <[email protected]> * groupfolders Signed-off-by: Marino Faggiana <[email protected]> * hovercard Signed-off-by: Marino Faggiana <[email protected]> * login Signed-off-by: Marino Faggiana <[email protected]> * nctext Signed-off-by: Marino Faggiana <[email protected]> * pn Signed-off-by: Marino Faggiana <[email protected]> * richdocuments Signed-off-by: Marino Faggiana <[email protected]> * search Signed-off-by: Marino Faggiana <[email protected]> * share Signed-off-by: Marino Faggiana <[email protected]> * userstatus Signed-off-by: Marino Faggiana <[email protected]> * webdav Signed-off-by: Marino Faggiana <[email protected]> * upload Signed-off-by: Marino Faggiana <[email protected]> * API Signed-off-by: Marino Faggiana <[email protected]> * download Signed-off-by: Marino Faggiana <[email protected]> * upload Signed-off-by: Marino Faggiana <[email protected]> * NextcloudKitSessionDelegate Signed-off-by: Marino Faggiana <[email protected]> * normalized Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * ThreadSafeArray Signed-off-by: Marino Faggiana <[email protected]> * logger delegate Signed-off-by: Marino Faggiana <[email protected]> * fix message 503 Signed-off-by: Marino Faggiana <[email protected]> * public Signed-off-by: Marino Faggiana <[email protected]> * fix error Signed-off-by: Marino Faggiana <[email protected]> * Add reuse compliance (#96) * Auto rename (#99) * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * License Signed-off-by: Milen Pivchev <[email protected]> * Licenses Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Swiftlint fixes Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Fix lint issue Signed-off-by: Milen Pivchev <[email protected]> * Fix ordering Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * License Signed-off-by: Milen Pivchev <[email protected]> * Licenses Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Swiftlint fixes Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Fix lint issue Signed-off-by: Milen Pivchev <[email protected]> * Fix ordering Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Keep original extension Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * License (#102) Signed-off-by: Marino Faggiana <[email protected]> * ( multipathServiceType ) Signed-off-by: Marino Faggiana <[email protected]> * Add more extensive test for AutoRenamer (#101) * Add more extensive test Signed-off-by: Milen Pivchev <[email protected]> * Force check Signed-off-by: Milen Pivchev <[email protected]> * Revert "Force check" This reverts commit b7fadf6. * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Split NKModel.swift into designated source code files for every contained type. Signed-off-by: Iva Horn <[email protected]> * Update README.md (#106) Signed-off-by: Milen Pivchev <[email protected]> * Prettier Landing Page (#108) - Replaced logo with an self-created image based on the Apple symbol design for frameworks. - Removed the "V 2" in the top level heading because it contradicts the current major version 5. - Corrected alt text of image which appears to be copied and pasted from Nextcloud iOS app README. - Improved orthography on testing headings. - Added syntax definitions to some code fences. - Minor formatting improvements. * Reenabled build on macOS. (#109) Certain APIs used were not available on macOS in general or the currently supported version per package manifest. I added necessary code switches to make the code at least build again. Co-authored-by: Marino Faggiana <[email protected]> * Track ocId in NKTrash items (#110) Signed-off-by: Claudio Cambra <[email protected]> * Dav pagination (#111) * add paginate Signed-off-by: Marino Faggiana <[email protected]> * StandardHeaders Signed-off-by: Marino Faggiana <[email protected]> * code Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * Terms of Service (#112) * tos Signed-off-by: Marino Faggiana <[email protected]> * getTermsOfService Signed-off-by: Marino Faggiana <[email protected]> * getTermsOfService Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * code Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * signTermsOfService Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * Added capabilities to manage share download limits. (#107) - Requesting share download limit capability of files_downloadlimit app. - Augmented WebDAV metadata requests and responses with optional share download limits. - Extended NextcloudKit with methods to manage share download limits via OCS. Signed-off-by: Iva Horn <[email protected]> * Recommended files (#115) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * Allow setting custom destinations in chunked upload (#116) * Allow setting a different destination file name from local file name in chunked upload Using macOS File Provider APIs we rely on the system to provide us with a URL pointing the an item's local modified contents. This URL last path component is a UUID and does not represent the expected file name of the item. The current API of uploadChunk presents a problem because it assumes the local content file's filename is the same as what will eventually be uploaded to the server. This commit addresses the issue by allowing users of this function to provide a destination file name which will replace the provided local filename, if used. Signed-off-by: Claudio Cambra <[email protected]> * Make file chunks output directory customisable Currently the chunking procedure produces file chunks within the directory of the input file. However, this fails in cases where the directory is read-only. This can be fixed by allowing the chunked files output directory to be changed Signed-off-by: Claudio Cambra <[email protected]> --------- Signed-off-by: Claudio Cambra <[email protected]> * added httpMaximumConnectionsPerHost Signed-off-by: Marino Faggiana <[email protected]> * httpMaximumConnectionsPerHost Signed-off-by: Marino Faggiana <[email protected]> * appendSession Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * Added feature to get download limits explicitly via OCS API. Signed-off-by: Iva Horn <[email protected]> * Update FileNameValidator.swift * Make NextcloudKit Swift 6 compatible (#119) * Define NKDownloadLimit as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> * Define NKFile as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> * Define NKSession as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> f Signed-off-by: Claudio Cambra <[email protected]> * Define UTTypeConformsToServer as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> * Define NKError as a sendable, equatable struct Signed-off-by: Claudio Cambra <[email protected]> * Convert ThreadSafeArray into a sendable struct This also modifies the behaviour of its methods to be sendable compliant by using locking instead of a dispatch queue Signed-off-by: Claudio Cambra <[email protected]> * Make FileAutoRenamer Sendable compliant Signed-off-by: Claudio Cambra <[email protected]> f autorenamer Signed-off-by: Claudio Cambra <[email protected]> f autorenamer Signed-off-by: Claudio Cambra <[email protected]> f autorenamer 3 Signed-off-by: Claudio Cambra <[email protected]> * Make FileNameValidator Sendable compliant Signed-off-by: Claudio Cambra <[email protected]> f filenamevalidator Signed-off-by: Claudio Cambra <[email protected]> * Fix copyright header in NSLock extension Signed-off-by: Claudio Cambra <[email protected]> * Use self createFolder rather than going for shared instance Signed-off-by: Claudio Cambra <[email protected]> * Make NextcloudKitDelegate protocol sendable Signed-off-by: Claudio Cambra <[email protected]> * Make NKBackground a final class Signed-off-by: Claudio Cambra <[email protected]> * Make NextcloudKitSessionDelegate conform to sendable Signed-off-by: Claudio Cambra <[email protected]> * Use the appropriate nkCommonInstance in NKSession initialiser Signed-off-by: Claudio Cambra <[email protected]> * Make nkCommonInstance mutable in NextcloudKit Signed-off-by: Claudio Cambra <[email protected]> * Only provide shared NextcloudKit instance on swift <6 Signed-off-by: Claudio Cambra <[email protected]> f shared nckit Signed-off-by: Claudio Cambra <[email protected]> * When using swift 6, use a task to retrieve screen scale on iOS Signed-off-by: Claudio Cambra <[email protected]> * Make NKFileProperty a sendable struct Signed-off-by: Claudio Cambra <[email protected]> f nkfileproperty Signed-off-by: Claudio Cambra <[email protected]> * Convert NKCommon into a sendable struct This required modifying the caches into standard maps. Unfortunately NSCache is not sendable compliant. I have made the changes take effect only when building with Swift 6 Signed-off-by: Claudio Cambra <[email protected]> * Fix whitespace handling in FileAutoRenamer Signed-off-by: Claudio Cambra <[email protected]> * Remove leading dot for hidden file filenames in autorenamer This is seemingly expected by the autotests Signed-off-by: Claudio Cambra <[email protected]> --------- Signed-off-by: Claudio Cambra <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * Add static/refactor Signed-off-by: Milen Pivchev <[email protected]> * NextcloudKitDelegate Signed-off-by: Marino Faggiana <[email protected]> * change Name to NKMonitor Signed-off-by: Marino Faggiana <[email protected]> * Added NKInterceptor Signed-off-by: Marino Faggiana <[email protected]> * Interceptor Signed-off-by: Marino Faggiana <[email protected]> * Interceptor Signed-off-by: Marino Faggiana <[email protected]> * interceptor Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * Interceptor Signed-off-by: Marino Faggiana <[email protected]> * INterceptor Signed-off-by: Marino Faggiana <[email protected]> * sendable Signed-off-by: Marino Faggiana <[email protected]> * test Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * checkUnauthorized Signed-off-by: Marino Faggiana <[email protected]> * debug Signed-off-by: Marino Faggiana <[email protected]> * X-NC-CheckUnauthorized Signed-off-by: Marino Faggiana <[email protected]> * test Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * common (#121) * fix Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * added checkUnauthorized options Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * setupLog Signed-off-by: Marino Faggiana <[email protected]> * dependencies version updated Signed-off-by: Marino Faggiana <[email protected]> * improved code Signed-off-by: Marino Faggiana <[email protected]> * improved Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * debugPrint Signed-off-by: Marino Faggiana <[email protected]> * debugprint Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * log Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * LOG (#123) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * added request delagate Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * protocol NextcloudKitDelegate optional Signed-off-by: Marino Faggiana <[email protected]> * added getRequestBodyFileExists Signed-off-by: Marino Faggiana <[email protected]> * public Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * init Signed-off-by: Marino Faggiana <[email protected]> * Interceptor & Monitor Improved (#126) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * code Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Improved code Signed-off-by: Marino Faggiana <[email protected]> * Improvements Signed-off-by: Marino Faggiana <[email protected]> * Upload fix multisession (#129) * fix Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Fix: Login poll without cached responses. Signed-off-by: Milen Pivchev <[email protected]> * Assistant V2 Signed-off-by: Milen Pivchev <[email protected]> Fix compile Signed-off-by: Milen Pivchev <[email protected]> Refactor Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> Refactor Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> Refactor Signed-off-by: Milen Pivchev <[email protected]> Finish Signed-off-by: Milen Pivchev <[email protected]> Compliance Signed-off-by: Milen Pivchev <[email protected]> PR fixes Signed-off-by: Milen Pivchev <[email protected]> Assistant API v2 (#124) * WIP Signed-off-by: Milen Pivchev <[email protected]> * Fix compile Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * Finish Signed-off-by: Milen Pivchev <[email protected]> * Compliance Signed-off-by: Milen Pivchev <[email protected]> * PR fixes Signed-off-by: Milen Pivchev <[email protected]> * Upload fix multisession (#129) * fix Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Fix: Login poll without cached responses. Signed-off-by: Milen Pivchev <[email protected]> * Linter Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Claudio Cambra <[email protected]> Signed-off-by: Milen Pivchev <[email protected]> Signed-off-by: Iva Horn <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Claudio Cambra <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> Co-authored-by: Andy Scherzinger <[email protected]> Co-authored-by: Iva Horn <[email protected]>
* Version 6.0.4 (#131) * nextcloud/ios#2390 Signed-off-by: Marino Faggiana <[email protected]> * add async/await searchMedia Signed-off-by: Marino Faggiana <[email protected]> * Livephoto detect (#51) * Update NKModel.swift * cleaning Signed-off-by: Marino Faggiana <[email protected]> * Fix build on macOS broken by freeDisk change (#53) Signed-off-by: Claudio Cambra <[email protected]> * livePhotoFile -> fileId Signed-off-by: Marino Faggiana <[email protected]> * rollback Signed-off-by: Marino Faggiana <[email protected]> * rollback Signed-off-by: Marino Faggiana <[email protected]> * Fix error description chunk Signed-off-by: Marino Faggiana <[email protected]> * chunk error fix Signed-off-by: Marino Faggiana <[email protected]> * errorDescription Signed-off-by: Marino Faggiana <[email protected]> * added description Signed-off-by: Marino Faggiana <[email protected]> * Change to markdown Signed-off-by: Milen Pivchev <[email protected]> * Added e2ee options versionApi Signed-off-by: Marino Faggiana <[email protected]> * change variable name Signed-off-by: Marino Faggiana <[email protected]> * endpoint update Signed-off-by: Marino Faggiana <[email protected]> * Fix chunk S3 (#56) * cod Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * public func Signed-off-by: Marino Faggiana <[email protected]> * lint Signed-off-by: Marino Faggiana <[email protected]> * remove description Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * fix log Signed-off-by: Marino Faggiana <[email protected]> * Resolution - GPS (#59) * fix resolution-gps Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * set h, w to Double Signed-off-by: Marino Faggiana <[email protected]> * coding (#61) Signed-off-by: Marino Faggiana <[email protected]> * normalized taskHandler taskHandler(task) }. Signed-off-by: Marino Faggiana <[email protected]> * add filename in trash (#63) * add filename Signed-off-by: Marino Faggiana <[email protected]> * disable Build and test Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * Nextcloud Assistant (#66) * getTextProcessingTaskTypes Signed-off-by: Marino Faggiana <[email protected]> * getTextProcessingTaskTypes Signed-off-by: Marino Faggiana <[email protected]> * NKTextProcessingTaskTypes Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * coding Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Add init Signed-off-by: Milen Pivchev <[email protected]> * Change model Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * Add support for visionOS, fix tvOS and watchOS support (#67) * Add CoreServices import for visionOS Signed-off-by: Claudio Cambra <[email protected]> * Fix screen scaling calculation when UIScreen is not available (for visionOS) Signed-off-by: Claudio Cambra <[email protected]> * Fix availability of UIImage.resizeImage on non iOS platforms Signed-off-by: Claudio Cambra <[email protected]> * Add visionOS target support to NextcloudKit Signed-off-by: Claudio Cambra <[email protected]> * Bump watchOS version up, per dependency requirements Signed-off-by: Claudio Cambra <[email protected]> * Remove reachability observation on watchOS, as this is unsupported in Alamofire Signed-off-by: Claudio Cambra <[email protected]> * Remove free disk calculation on watchOS which cannot be done Signed-off-by: Claudio Cambra <[email protected]> * Bump up tvOS version per dependencies Signed-off-by: Claudio Cambra <[email protected]> * Also restrict free space calculation on tvOS, as unavailable Signed-off-by: Claudio Cambra <[email protected]> --------- Signed-off-by: Claudio Cambra <[email protected]> * Task description (#70) * coding Signed-off-by: Marino Faggiana <[email protected]> * task.taskDescription Signed-off-by: Marino Faggiana <[email protected]> * DownloadingFinish Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * change TypeIconFile (#71) Signed-off-by: Marino Faggiana <[email protected]> * Core Preview Improvements and use only fileId Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * Improvements Signed-off-by: Marino Faggiana <[email protected]> * added compressionQuality Signed-off-by: Marino Faggiana <[email protected]> * Improvements (#76) Signed-off-by: Marino Faggiana <[email protected]> * improved code Signed-off-by: Marino Faggiana <[email protected]> * fix paramenters default Signed-off-by: Marino Faggiana <[email protected]> * fix paramenters default Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * downloadPreview Signed-off-by: Marino Faggiana <[email protected]> * added downloadPreview url Signed-off-by: Marino Faggiana <[email protected]> * httpCookieStorage (#80) Signed-off-by: Marino Faggiana <[email protected]> * new getUserProfile() Signed-off-by: Marino Faggiana <[email protected]> * change paramenter name Signed-off-by: Marino Faggiana <[email protected]> * Account (#82) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * Revert "cod" This reverts commit 83b75a1. Signed-off-by: Marino Faggiana <[email protected]> * Filename validator (#83) * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * cleanup Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Make singleton Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> * fix session delegate Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * Filename validator (#92) * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * cleanup Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Make singleton Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * NextcloudKit Version 5 - Multisession (#94) --------- Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * NextcloudKit V 5 Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * requestCachePolicy Signed-off-by: Marino Faggiana <[email protected]> * cache Signed-off-by: Marino Faggiana <[email protected]> * cache Signed-off-by: Marino Faggiana <[email protected]> * cache Signed-off-by: Marino Faggiana <[email protected]> * Add optional spaces and periods - WCF Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> * Response (#97) * API Signed-off-by: Marino Faggiana <[email protected]> * assistant Signed-off-by: Marino Faggiana <[email protected]> * comments Signed-off-by: Marino Faggiana <[email protected]> * dashboard Signed-off-by: Marino Faggiana <[email protected]> * e2ee Signed-off-by: Marino Faggiana <[email protected]> * groupfolders Signed-off-by: Marino Faggiana <[email protected]> * hovercard Signed-off-by: Marino Faggiana <[email protected]> * login Signed-off-by: Marino Faggiana <[email protected]> * nctext Signed-off-by: Marino Faggiana <[email protected]> * pn Signed-off-by: Marino Faggiana <[email protected]> * richdocuments Signed-off-by: Marino Faggiana <[email protected]> * search Signed-off-by: Marino Faggiana <[email protected]> * share Signed-off-by: Marino Faggiana <[email protected]> * userstatus Signed-off-by: Marino Faggiana <[email protected]> * webdav Signed-off-by: Marino Faggiana <[email protected]> * upload Signed-off-by: Marino Faggiana <[email protected]> * API Signed-off-by: Marino Faggiana <[email protected]> * download Signed-off-by: Marino Faggiana <[email protected]> * upload Signed-off-by: Marino Faggiana <[email protected]> * NextcloudKitSessionDelegate Signed-off-by: Marino Faggiana <[email protected]> * normalized Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * ThreadSafeArray Signed-off-by: Marino Faggiana <[email protected]> * logger delegate Signed-off-by: Marino Faggiana <[email protected]> * fix message 503 Signed-off-by: Marino Faggiana <[email protected]> * public Signed-off-by: Marino Faggiana <[email protected]> * fix error Signed-off-by: Marino Faggiana <[email protected]> * Add reuse compliance (#96) * Auto rename (#99) * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * License Signed-off-by: Milen Pivchev <[email protected]> * Licenses Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Swiftlint fixes Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Fix lint issue Signed-off-by: Milen Pivchev <[email protected]> * Fix ordering Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * License Signed-off-by: Milen Pivchev <[email protected]> * Licenses Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Swiftlint fixes Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Fix lint issue Signed-off-by: Milen Pivchev <[email protected]> * Fix ordering Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Keep original extension Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * License (#102) Signed-off-by: Marino Faggiana <[email protected]> * ( multipathServiceType ) Signed-off-by: Marino Faggiana <[email protected]> * Add more extensive test for AutoRenamer (#101) * Add more extensive test Signed-off-by: Milen Pivchev <[email protected]> * Force check Signed-off-by: Milen Pivchev <[email protected]> * Revert "Force check" This reverts commit b7fadf6. * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Split NKModel.swift into designated source code files for every contained type. Signed-off-by: Iva Horn <[email protected]> * Update README.md (#106) Signed-off-by: Milen Pivchev <[email protected]> * Prettier Landing Page (#108) - Replaced logo with an self-created image based on the Apple symbol design for frameworks. - Removed the "V 2" in the top level heading because it contradicts the current major version 5. - Corrected alt text of image which appears to be copied and pasted from Nextcloud iOS app README. - Improved orthography on testing headings. - Added syntax definitions to some code fences. - Minor formatting improvements. * Reenabled build on macOS. (#109) Certain APIs used were not available on macOS in general or the currently supported version per package manifest. I added necessary code switches to make the code at least build again. Co-authored-by: Marino Faggiana <[email protected]> * Track ocId in NKTrash items (#110) Signed-off-by: Claudio Cambra <[email protected]> * Dav pagination (#111) * add paginate Signed-off-by: Marino Faggiana <[email protected]> * StandardHeaders Signed-off-by: Marino Faggiana <[email protected]> * code Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * Terms of Service (#112) * tos Signed-off-by: Marino Faggiana <[email protected]> * getTermsOfService Signed-off-by: Marino Faggiana <[email protected]> * getTermsOfService Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * code Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * signTermsOfService Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * Added capabilities to manage share download limits. (#107) - Requesting share download limit capability of files_downloadlimit app. - Augmented WebDAV metadata requests and responses with optional share download limits. - Extended NextcloudKit with methods to manage share download limits via OCS. Signed-off-by: Iva Horn <[email protected]> * Recommended files (#115) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * Allow setting custom destinations in chunked upload (#116) * Allow setting a different destination file name from local file name in chunked upload Using macOS File Provider APIs we rely on the system to provide us with a URL pointing the an item's local modified contents. This URL last path component is a UUID and does not represent the expected file name of the item. The current API of uploadChunk presents a problem because it assumes the local content file's filename is the same as what will eventually be uploaded to the server. This commit addresses the issue by allowing users of this function to provide a destination file name which will replace the provided local filename, if used. Signed-off-by: Claudio Cambra <[email protected]> * Make file chunks output directory customisable Currently the chunking procedure produces file chunks within the directory of the input file. However, this fails in cases where the directory is read-only. This can be fixed by allowing the chunked files output directory to be changed Signed-off-by: Claudio Cambra <[email protected]> --------- Signed-off-by: Claudio Cambra <[email protected]> * added httpMaximumConnectionsPerHost Signed-off-by: Marino Faggiana <[email protected]> * httpMaximumConnectionsPerHost Signed-off-by: Marino Faggiana <[email protected]> * appendSession Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * Added feature to get download limits explicitly via OCS API. Signed-off-by: Iva Horn <[email protected]> * Update FileNameValidator.swift * Make NextcloudKit Swift 6 compatible (#119) * Define NKDownloadLimit as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> * Define NKFile as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> * Define NKSession as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> f Signed-off-by: Claudio Cambra <[email protected]> * Define UTTypeConformsToServer as a sendable struct Signed-off-by: Claudio Cambra <[email protected]> * Define NKError as a sendable, equatable struct Signed-off-by: Claudio Cambra <[email protected]> * Convert ThreadSafeArray into a sendable struct This also modifies the behaviour of its methods to be sendable compliant by using locking instead of a dispatch queue Signed-off-by: Claudio Cambra <[email protected]> * Make FileAutoRenamer Sendable compliant Signed-off-by: Claudio Cambra <[email protected]> f autorenamer Signed-off-by: Claudio Cambra <[email protected]> f autorenamer Signed-off-by: Claudio Cambra <[email protected]> f autorenamer 3 Signed-off-by: Claudio Cambra <[email protected]> * Make FileNameValidator Sendable compliant Signed-off-by: Claudio Cambra <[email protected]> f filenamevalidator Signed-off-by: Claudio Cambra <[email protected]> * Fix copyright header in NSLock extension Signed-off-by: Claudio Cambra <[email protected]> * Use self createFolder rather than going for shared instance Signed-off-by: Claudio Cambra <[email protected]> * Make NextcloudKitDelegate protocol sendable Signed-off-by: Claudio Cambra <[email protected]> * Make NKBackground a final class Signed-off-by: Claudio Cambra <[email protected]> * Make NextcloudKitSessionDelegate conform to sendable Signed-off-by: Claudio Cambra <[email protected]> * Use the appropriate nkCommonInstance in NKSession initialiser Signed-off-by: Claudio Cambra <[email protected]> * Make nkCommonInstance mutable in NextcloudKit Signed-off-by: Claudio Cambra <[email protected]> * Only provide shared NextcloudKit instance on swift <6 Signed-off-by: Claudio Cambra <[email protected]> f shared nckit Signed-off-by: Claudio Cambra <[email protected]> * When using swift 6, use a task to retrieve screen scale on iOS Signed-off-by: Claudio Cambra <[email protected]> * Make NKFileProperty a sendable struct Signed-off-by: Claudio Cambra <[email protected]> f nkfileproperty Signed-off-by: Claudio Cambra <[email protected]> * Convert NKCommon into a sendable struct This required modifying the caches into standard maps. Unfortunately NSCache is not sendable compliant. I have made the changes take effect only when building with Swift 6 Signed-off-by: Claudio Cambra <[email protected]> * Fix whitespace handling in FileAutoRenamer Signed-off-by: Claudio Cambra <[email protected]> * Remove leading dot for hidden file filenames in autorenamer This is seemingly expected by the autotests Signed-off-by: Claudio Cambra <[email protected]> --------- Signed-off-by: Claudio Cambra <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> * Add static/refactor Signed-off-by: Milen Pivchev <[email protected]> * NextcloudKitDelegate Signed-off-by: Marino Faggiana <[email protected]> * change Name to NKMonitor Signed-off-by: Marino Faggiana <[email protected]> * Added NKInterceptor Signed-off-by: Marino Faggiana <[email protected]> * Interceptor Signed-off-by: Marino Faggiana <[email protected]> * Interceptor Signed-off-by: Marino Faggiana <[email protected]> * interceptor Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * Interceptor Signed-off-by: Marino Faggiana <[email protected]> * INterceptor Signed-off-by: Marino Faggiana <[email protected]> * sendable Signed-off-by: Marino Faggiana <[email protected]> * test Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * checkUnauthorized Signed-off-by: Marino Faggiana <[email protected]> * debug Signed-off-by: Marino Faggiana <[email protected]> * X-NC-CheckUnauthorized Signed-off-by: Marino Faggiana <[email protected]> * test Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * common (#121) * fix Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * added checkUnauthorized options Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * setupLog Signed-off-by: Marino Faggiana <[email protected]> * dependencies version updated Signed-off-by: Marino Faggiana <[email protected]> * improved code Signed-off-by: Marino Faggiana <[email protected]> * improved Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * debugPrint Signed-off-by: Marino Faggiana <[email protected]> * debugprint Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * log Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * LOG (#123) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> * added request delagate Signed-off-by: Marino Faggiana <[email protected]> * cleaning Signed-off-by: Marino Faggiana <[email protected]> * protocol NextcloudKitDelegate optional Signed-off-by: Marino Faggiana <[email protected]> * added getRequestBodyFileExists Signed-off-by: Marino Faggiana <[email protected]> * public Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * init Signed-off-by: Marino Faggiana <[email protected]> * Interceptor & Monitor Improved (#126) * cod Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * code Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> * improvements Signed-off-by: Marino Faggiana <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Improved code Signed-off-by: Marino Faggiana <[email protected]> * Improvements Signed-off-by: Marino Faggiana <[email protected]> * Upload fix multisession (#129) * fix Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Fix: Login poll without cached responses. Signed-off-by: Milen Pivchev <[email protected]> * Assistant V2 Signed-off-by: Milen Pivchev <[email protected]> Fix compile Signed-off-by: Milen Pivchev <[email protected]> Refactor Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> Refactor Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> WIP Signed-off-by: Milen Pivchev <[email protected]> Refactor Signed-off-by: Milen Pivchev <[email protected]> Finish Signed-off-by: Milen Pivchev <[email protected]> Compliance Signed-off-by: Milen Pivchev <[email protected]> PR fixes Signed-off-by: Milen Pivchev <[email protected]> Assistant API v2 (#124) * WIP Signed-off-by: Milen Pivchev <[email protected]> * Fix compile Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * WIP Signed-off-by: Milen Pivchev <[email protected]> * Refactor Signed-off-by: Milen Pivchev <[email protected]> * Finish Signed-off-by: Milen Pivchev <[email protected]> * Compliance Signed-off-by: Milen Pivchev <[email protected]> * PR fixes Signed-off-by: Milen Pivchev <[email protected]> * Upload fix multisession (#129) * fix Signed-off-by: Marino Faggiana <[email protected]> * fix Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> * Fix: Login poll without cached responses. Signed-off-by: Milen Pivchev <[email protected]> * Linter Signed-off-by: Milen Pivchev <[email protected]> --------- Signed-off-by: Milen Pivchev <[email protected]> Signed-off-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Claudio Cambra <[email protected]> Signed-off-by: Milen Pivchev <[email protected]> Signed-off-by: Iva Horn <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Claudio Cambra <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> Co-authored-by: Andy Scherzinger <[email protected]> Co-authored-by: Iva Horn <[email protected]> * cod Signed-off-by: Marino Faggiana <[email protected]> * remove unused parameter Signed-off-by: Marino Faggiana <[email protected]> --------- Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Marino Faggiana <[email protected]> Signed-off-by: Claudio Cambra <[email protected]> Signed-off-by: Milen Pivchev <[email protected]> Signed-off-by: Iva Horn <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Marino Faggiana <[email protected]> Co-authored-by: Claudio Cambra <[email protected]> Co-authored-by: Milen Pivchev <[email protected]> Co-authored-by: Andy Scherzinger <[email protected]> Co-authored-by: Iva Horn <[email protected]>
This PR makes it possible to build NextcloudKit with Swift 6.
Some types have been changed from classes into structs. I believe the API impacts of this should not be very big, though client code will probably need to change some
lets intovars.I have refactored the code of some of the filename-related classes to make them sendable compliant. API changes are not huge here either
The biggest change is the removal of the shared NextcloudKit singleton which is just not compatible with the Swift 6 safety model