Fix FinderSync Extension - #9528
Conversation
…system. Signed-off-by: Iva Horn <[email protected]>
The FinderSync target contained a custom "Run Script" build phase which copied the branded icon assets into the extension bundle. Due to the lack of specification of output files it was run on every build, likely resulting in unnecessary and cacheable results. Signed-off-by: Iva Horn <[email protected]>
Xcode could no longer resolve the debugging symbols for the main binary. This fixes it. Signed-off-by: Iva Horn <[email protected]>
Check for a socket file to exist before trying to connect. Signed-off-by: Iva Horn <[email protected]>
This used to be necessary many years ago but no longer is. Signed-off-by: Iva Horn <[email protected]>
- Replaced socketApiSocketPath() with socketApiSocketUrl() - Improved logging - Fixed socket path Signed-off-by: Iva Horn <[email protected]>
Signed-off-by: Iva Horn <[email protected]>
There was a problem hiding this comment.
Pull request overview
This PR aims to restore correct behavior of the macOS FinderSync extension by aligning the socket location/handling between the desktop client and the extension, plus a few supporting build/logging adjustments.
Changes:
- Switch the macOS SocketAPI helper from returning a
QStringpath to returning aQUrl, and use it to derive the local socket path in the desktop client. - Update FinderSync extension to use the App Group container root socket (
…/s) and improve logging/diagnostics. - Adjust macOS integration build steps (Xcode project script phase naming/outputs, mac-crafter dSYM copying) and modernize logging in the socket client.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
src/gui/socketapi/socketapi_mac.mm |
Changes SocketAPI helper to return a QUrl for the App Group socket location. |
src/gui/socketapi/socketapi.h |
Updates macOS SocketAPI declaration and includes QUrl to support by-value return. |
src/gui/socketapi/socketapi.cpp |
Uses the new macOS socket URL helper, adds debug logging around listen/startup. |
shell_integration/MacOSX/NextcloudIntegration/NextcloudIntegration.xcodeproj/project.pbxproj |
Renames shell script phase and adds an output path for incremental builds. |
shell_integration/MacOSX/NextcloudIntegration/NCDesktopClientSocketKit/LocalSocketClient.m |
Switches from NSLog to os_log, adds logger creation, minor string fix. |
shell_integration/MacOSX/NextcloudIntegration/FinderSyncExt/Info.plist |
Removes NSPrincipalClass entry for the extension. |
shell_integration/MacOSX/NextcloudIntegration/FinderSyncExt/FinderSync.m |
Updates socket path derivation and logging; adds existence check before starting client. |
admin/osx/mac-crafter/Sources/Commands/Build.swift |
Copies main app dSYM in dev mode and adjusts shell integration dSYM path selection. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
/backport to stable-33.0 |
|
😍🤞 |
|
Artifact containing the AppImage: nextcloud-appimage-pr-9528.zip Digest: To test this change/fix you can download the above artifact file, unzip it, and run it. Please make sure to quit your existing Nextcloud app and backup your data. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Iva Horn <[email protected]>
Signed-off-by: Iva Horn <[email protected]>
ebe7a59 to
289bdbd
Compare
|



This fixes the correct function of the FinderSync extension on macOS. Several small changes on the way. See commit messages for details.