fix(macOS): Launch on Login#9773
Merged
Merged
Conversation
Collaborator
Author
|
/backport to stable-33.0 |
Contributor
There was a problem hiding this comment.
Pull request overview
Updates macOS “Launch on Login” handling to use the modern Service Management framework (macOS 13+), keeping the UI and stored config in sync with the actual system login-item state.
Changes:
- Replace plist-based login-item detection/toggling with
SMAppServiceon macOS. - Update the settings UI to read the real login-item state and re-sync after toggles.
- Link the ServiceManagement framework on Apple builds.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| src/gui/generalsettings.cpp | Populate and re-sync the autostart checkbox based on actual OS login-item state. |
| src/csync/CMakeLists.txt | Add ServiceManagement framework linking for Apple builds. |
| src/common/utility_mac.mm | Implement login-item state/toggling via SMAppService instead of LaunchAgents plist manipulation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fixes #9761 Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
8664e16 to
13859c6
Compare
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
Contributor
|
Artifact containing the AppImage: nextcloud-appimage-pr-9773.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. |
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #9761 by updating the code to use the Service Management framework which became available with macOS 13 which also is our minimum deployment target. This is an API compatible with sandboxed apps which no longer uses deprecated APIs to meddle in system files outside the app sandbox.
On macOS, users can manage login items in the central system settings. Switches in the user interface of third-party apps are only a redundant convenience alternative.
Screenshots