Skip to content

[stable-33.0] Disable file provider on macOS 13 Ventura#10023

Merged
i2h3 merged 1 commit into
stable-33.0from
backport/10021/stable-33.0
May 13, 2026
Merged

[stable-33.0] Disable file provider on macOS 13 Ventura#10023
i2h3 merged 1 commit into
stable-33.0from
backport/10021/stable-33.0

Conversation

@backportbot
Copy link
Copy Markdown

@backportbot backportbot Bot commented May 12, 2026

Backport of #10021

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts
  • Review and verify the backported changes
  • Amend HEAD commit to remove the line stating to skip CI

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

@backportbot backportbot Bot requested a review from i2h3 May 12, 2026 14:51
@backportbot backportbot Bot added bug os: 🍎 macOS Apple macOS, formerly also known as OS X 3. to review feature: 📁 file provider macOS File Provider Extension, more general also known as virtual file system. labels May 12, 2026
@backportbot backportbot Bot added this to the 33.0.5 milestone May 12, 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>
@i2h3 i2h3 force-pushed the backport/10021/stable-33.0 branch from 0f3d43d to ea8caaf Compare May 13, 2026 09:20
@i2h3
Copy link
Copy Markdown
Collaborator

i2h3 commented May 13, 2026

I needed to manually adapt the backport.

@github-actions
Copy link
Copy Markdown

Artifact containing the AppImage: nextcloud-appimage-pr-10023.zip

Digest: sha256:1cf6219e7a008093e572d0e8c40acbfa5202955b31ccf1b1413f8e88a8bb3574

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.

@i2h3 i2h3 marked this pull request as ready for review May 13, 2026 09:50
@i2h3 i2h3 merged commit 4eab04b into stable-33.0 May 13, 2026
20 of 21 checks passed
@i2h3 i2h3 deleted the backport/10021/stable-33.0 branch May 13, 2026 10:20
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)
1 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review bug feature: 📁 file provider macOS File Provider Extension, more general also known as virtual file system. os: 🍎 macOS Apple macOS, formerly also known as OS X

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant