[stable-33.0] Disable file provider on macOS 13 Ventura#10023
Merged
Conversation
) The file provider extension is completely incompatible with macOS 13 Ventura (see #9927). Until a code-level fix is possible, hide the feature at runtime on Ventura while leaving macOS 14 Sonoma and later unchanged. A single static gate `Mac::FileProvider::available()` (false on Ventura, true on Sonoma+) is wired in at every user-visible VFS entry point: - Wizard default: `OwncloudWizard::useVirtualFileSyncByDefault()` returns false on Ventura so the wizard takes the classic-sync setup path. - Wizard VFS radio: `OwncloudAdvancedSetupPage` no longer auto-selects `rVirtualFileSync` on Ventura and `initializePage` unconditionally hides the radio + layout, even with experimental options enabled. - Account settings: `AccountSettings` skips constructing the file provider settings panel on Ventura and hides it. - Startup cleanup: `FileProviderSettingsController` is instantiated unconditionally at GUI setup time (via the QML singleton registration in `owncloudgui.cpp`). Its constructor now branches — skipping `restoreMissingDomains`, `reconnectAll`, and `configureXPC` on Ventura, and instead looping over accounts with a non-empty `fileProviderDomainIdentifier` to reuse the existing `setVfsEnabledForAccount(..., false)` path. `NSFileProviderDomainRemovalModePreserveDirtyUserData` keeps any dirty user data on disk, as the issue requires. - Defensive guard: `FileProvider::configureXPC()` early-returns on Ventura, so any path that reaches it is a no-op. Each Ventura-only branch carries a comment noting it can be removed once Ventura is no longer supported (same precedent as `SingleInstanceManager`). Note: the original master commit (#10021) also touched `src/gui/application.cpp` to gate a direct `configureXPC()` call there and to instantiate `FileProviderSettingsController` explicitly on Ventura. On stable-33.0 that hunk is unnecessary — `application.cpp` does not call `configureXPC()` directly, and `FileProviderSettingsController::instance()` is already created unconditionally via the QML singleton registration in `src/gui/owncloudgui.cpp`, so the Ventura cleanup path is reached. Fixes #10018 Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
0f3d43d to
ea8caaf
Compare
Collaborator
|
I needed to manually adapt the backport. |
|
Artifact containing the AppImage: nextcloud-appimage-pr-10023.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. |
|
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.




Backport of #10021
Warning, This backport's changes differ from the original and might be incomplete⚠️
Todo
Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.