1152 Commits

Author SHA1 Message Date
f68722ab08 fix(macOS): Enabled hardened runtime in code signing.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2026-01-09 11:39:23 +01:00
a8da938aeb chore(macOS): Added log messages to Craft.sh
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2026-01-07 16:32:45 +01:00
d4bb775dfd fix(NextcloudFileProviderKit): Lowered Swift package version to 6.1
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>
2026-01-06 14:54:20 +01:00
eb1ec30b80 chore(macOS): Migrated GitHub actions workflows of NextcloudFileProviderKit.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-19 10:29:41 +01:00
14cfdcb3fb chore(macOS): Removed references to no longer existing files in Xcode project.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-19 10:20:48 +01:00
d357677cb0 fix(macOS): Added missing reference to NextcloudFileProviderKit in FileProviderUIExt target.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-19 10:20:48 +01:00
347d41716b chore(macOS): Replaced NextcloudFileProviderKit GitHub reference with local reference.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-19 10:16:29 +01:00
c4ca1d6d49 Merge branch 'i2h3/chore/nextcloudfileproviderkit-migration' into i2h3/chore/nextcloudfileproviderkit-migrated 2025-12-19 10:13:50 +01:00
4861c0d07a feat(mac-crafter): Significantly accelerated signing with mac-crafter by signing whole bundles at once and concurrently.
- 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>
2025-12-19 09:04:18 +01:00
9ae167a1c9 fix(CI): Disabling code signing for macOS by default.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:41 +01:00
d5b5a85e5e chore(macOS): Xcode removed an orphaned reference from the project file.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
79aa712d64 fix(macOS): Signing identity.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
5aca5a693a chore(file-provider): Updated to NextcloudFileProviderKit 4.0.0
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
f4996589cb chore(macOS): Made whole "src" instead of just "gui" folder accessible conveniently from Xcode.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
28421ec96a fix: Fixed too long socket paths (max 104 characters).
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
eed595004a fix(macOS): Defined "FileProviderUIExt" as target dependency to "desktopclient".
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>
2025-12-18 10:29:40 +01:00
291156dd48 fix(macOS): Development team group identifier prefix.
- 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>
2025-12-18 10:29:40 +01:00
09005a0e94 fix(file-provider): App group container lookup API change in NextcloudFileProviderKit.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
b6cfd6d683 fix(macOS): Writable check on debug archive destination directory.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
92981228b2 fix(macOS): NextcloudDesktopClientSocketKit signing.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
7bd2315137 chore(macOS): Added default values to build settings file.
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>
2025-12-18 10:29:40 +01:00
c947db9127 chore(macOS): Creating build settings file on demand from template.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
6afb39ae6d chore(macOS): Updated bundle identifier in Xcode project to Nextcloud.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
645b628f23 chore(macOS): Outsourced some build settings from Xcode project into file.
- CODE_SIGN_IDENTITY
- CODE_SIGN_STYLE
- DEVELOPMENT_TEAM

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
d7a6d7c881 chore(macOS): Removed obsolete values from Info.plist
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
1a5082aaf8 fix(macOS): Relocated socket files into sandboxed containers.
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>
2025-12-18 10:29:40 +01:00
5f2dd67534 fix(macOS): Updated signing settings for all targets.
- 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>
2025-12-18 10:29:40 +01:00
5d882e245a chore(macOS): Updated Xcode build settings.
- Removed redundant build settings about signing.
- Updated default base identifier from ownCloud to Nextcloud.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
1de9cef1e6 fix(macOS): Enforce valid app group identifier.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-18 10:29:40 +01:00
028a1dff1f fix(macOS): use relative path to src in xcodeproj.
So it works in all environments.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2025-12-17 08:52:37 +01:00
e8bd02e5b5 fix(file-provider): Sync state for excluded lock files.
- 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>
2025-12-03 17:40:53 +01:00
6f66393c4a chore(file-provider): Moved NextcloudFileProviderKit into subdirectory.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-03 16:48:23 +01:00
fb1e250d28 fix(file-provider): Signal enumerator for working set after file (un)lock.
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>
2025-12-02 10:18:26 +01:00
1e62d2d5c8 Fix: Resolving file provider services based on security-scoped URL access.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-12-02 08:47:24 +01:00
cb65d1a56e chore(file-provider): Dependency updates.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-11-21 16:40:47 +01:00
d3c2cb6086 fix(file-provider): Root container enumeration to process remote updates correctly.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-11-21 16:40:47 +01:00
2fee56bbf5 chore(macOS): Replaced "gui" with "src" folder reference in Xcode project.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-11-21 16:40:47 +01:00
e2b35a77a5 fix: Do not compare item lock property like it is an optional.
- 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>
2025-11-14 15:06:50 +01:00
721fb3893e chore(file-provider): Improved locking overlay layout in Finder.
- 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>
2025-11-14 11:29:50 +01:00
a3117fb696 fix(file-provider): Fix button title in item locking user interface.
- 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>
2025-11-13 14:32:06 +01:00
6bc71a0275 chore(file-provider): Updated dependencies.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-11-13 13:39:23 +01:00
25f0c01f65 fix(l10n): Update translations from Transifex
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-11-03 09:31:54 +01:00
b7560ff276 fix(file-provider): Dependency update.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-30 15:01:37 +01:00
7437cf217d fix(file-provider): Updated dependencies.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-30 14:10:56 +01:00
b42a4b773b fix(file-provider): Share permissions.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-30 14:10:56 +01:00
2feb7075ba chore(file-provider): Removed obsolete README section.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-27 15:17:39 +01:00
e46c884b2b fix(file-provider): Added missing translation keys to catalog.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-27 15:17:39 +01:00
e232b0ebcc fix(file-provider): Pulled updated localizations from Transifex.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-27 15:17:39 +01:00
c556b5d74c fix(file-provider): Missing application of localized strings to share user interface.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-27 15:17:39 +01:00
3220e9ec88 fix(file-provider): Fix #8914 by omitting the faulty NSFileProviderRequest argument on enumerator request.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2025-10-23 16:51:53 +02:00