To stay compatible with the existing tool chain in our CI. The requirement of 6.2 is not necessary as of now.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Signing individual frameworks, libraries and bundles as a whole is much faster than signing every contained file individually.
- Updated minimum macOS deployment target of mac-crafter to macOS 12. Because we are using Qt 6.9, we already have that as a requirement for our client anyway. So the raise is safe.
- The Sparkle framework is now downloaded directly with first-party network API instead of shelling out to wget which is unnecessary.
- Concurrent signing: This parallelizes the signing of dynamic libraries and frameworks on the same file system level to leverage available resources and reduce the signing time.
- Rebased branch onto i2h3/proper-macos-sandboxing
- Removed extension entitlement source files and related build settings from the Xcode project to be build with CMake instead.
- Set up CMake to generate the required entitlement manifests by itself to be used later on by Mac Crafter in the code signing.
- Updated the mac-crafter build subcommand to rely on URLs instead of path strings.
- Updated the mac-crafter build subcommand to reference the entitlement manifests generated by CMake.
- Updated the mac-crafter codesign subcommand to require arguments for specifying the entitlement manifests to sign the app extensions.
- Updated README of mac-crafter and removed a lot of outdated and redundant information.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
This was still missing in contrast to FileProviderExt. "desktopclient" is no the actual app for macOS but only a shallow wrapper and meta target to enable convenient build of everything in the Xcode project without building the main Qt app.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Replaced "group." with DEVELOPMENT_TEAM.
- Removed every occurrence of SOCKETAPI_TEAM_IDENTIFIER_PREFIX.
- Removed NCFPKAppGroupIdentifier from MacOSXBundleInfo.plist.in.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
Also replaced the template file with a default file for build settings which can be overridden by environment variables.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
Content of sandboxed apps must not be created on the root level of a container but lower in the hierarchy of it.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Use automatically managed code signing.
- Defined Nextcloud GmbH (NKUJUXUJ3B) as the default development team.
- Set default code sign identity to "Apple Development".
- This is necessary because the new and correct group container identifier "group.com.nextcloud.desktopclient" requires a provisioning profile which requires development signing.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Removed redundant build settings about signing.
- Updated default base identifier from ownCloud to Nextcloud.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Added debug logging to file provider extension about its sync actions.
- Added debug logging to file provider extension about its sync state reported to the main app through the socket.
- Added debug logging to the main app about the sync state received from a file provider extension through the socket.
- Updated sync action management to not consider the exclusion of a lock file as an error.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
With replicated file provider extensions on macOS, any remote change update should be based on signaling for the working set. Based on debugging observations, this also accelerates the process. For the individual item, there is a notable delay while the working set causes an immediate enumeration of remote changes.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Some time ago, I implemented the token based locks. In scope of that I temporarily changed the "lock" property to a complex type before reverting it. I probably forgot to turn back the changes here which compare the property like it is an optional struct even though it is a boolean.
- Improved code formatting and updated some calls to use asynchronous methods of NextcloudKit directly without continuations.
- Set the key equivalent of the close button to the escape key.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Mostly, I removed redundant and unnecessary constraints.
- Increased spacing around user interface elements to give it more room to breath, screen space is ample here.
- Consolidated fonts used.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- The close button in the Finder overlay is supposed to present a system defined image and not a text-based title which may appear for some users.
- The button title was removed and its accessibility title is now defined programmatically with the translated string instead.
- This avoids the appearance of the textual title on top of the image.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>