Disable file provider on macOS 13 Ventura#10021
Merged
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: `Application` instantiates `FileProviderSettingsController` on Ventura. Its constructor now branches — skipping `restoreMissingDomains`, `reconnectAll`, and `configureXPC`, 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`). Fixes #10018 Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
2b3b879 to
15e7740
Compare
Collaborator
Author
|
/backport to stable-33.0 |
|
3 tasks
i2h3
added a commit
that referenced
this pull request
May 13, 2026
) 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>
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.




Closes #10018.
The file provider extension is completely incompatible with macOS 13 Ventura (see #9927). Until a code-level fix is possible, this PR stops exposing the feature on Ventura at runtime. macOS 14 Sonoma and later are unchanged.
A single static gate
Mac::FileProvider::available()(returnsfalseon Ventura,trueon Sonoma+) is wired in at every user-visible VFS entry point:OwncloudWizard::useVirtualFileSyncByDefault()returnsfalseon Ventura, so the wizard takes the classic-sync setup path;useVirtualFileSync(), the per-folder check inslotCreateLocalAndRemoteFolders, and the file-provider branch inslotAssistantFinishedall naturally follow.OwncloudAdvancedSetupPageno longer auto-selectsrVirtualFileSyncon Ventura, andinitializePageunconditionally hides the radio + layout (even with experimental options enabled).AccountSettingsskips constructing the file provider settings panel on Ventura and hides it.ApplicationinstantiatesFileProviderSettingsControlleron Ventura, which now branches in its constructor: skipsrestoreMissingDomains/reconnectAll/configureXPC, and instead calls a new helper that loops over accounts with a non-emptyfileProviderDomainIdentifierand reusesthe existing
setVfsEnabledForAccount(..., false)path.NSFileProviderDomainRemovalModePreserveDirtyUserDatakeeps any dirty user data on disk, as the issue requires.FileProvider::configureXPC()early-returns on Ventura, so any code 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).