Repository navigation
Conversation
…der extensions
The File Provider extension and its UI extension open connections to the
Nextcloud server themselves, but unlike the main app bundle
(cmake/modules/MacOSXBundleInfo.plist.in) their Info.plist files did not
declare NSLocalNetworkUsageDescription. On macOS 15+ the Local Network
privacy restriction is attributed per executable, so a server on the LAN
is blocked for the extension ("Local network prohibited",
NSURLErrorDomain -1009) even when the main app has already been granted
Local Network access.
Declare the usage-description string in both extension bundles so macOS
can attribute and request Local Network access for the extensions
themselves.
Refs: nextcloud#10996
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Raspunt <67462620+Raspunt@users.noreply.github.com>
Raspunt
force-pushed
the
fix/fileprovider-local-network-usage-description
branch
from
October 24, 2026 15:12
060c1c4 to
eb62933
Compare
claucambra
reviewed
Oct 25, 2026
claucambra
left a comment
Collaborator
There was a problem hiding this comment.
Interesting... Apple explicitly says to put NSLocalNetworkUsageDescription the containing app’s Info.plist, not the extension’s. Extensions generally share their containing app’s Local Network permission. Apple TN3179
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.
While I was setting up my home server, I ran into a bug caused by macOS's
networking rules and couldn't properly use my cloud. I went through the code
with Claude Code, and it managed to track down the bug. I built the client
with a temporary dev certificate and everything worked, so I decided to share.
Resolves
#10996
Summary
On macOS the File Provider extension can't reach a Nextcloud server on the
local network — the logs show "Local network prohibited" and
NSURLErrorDomain -1009, and Finder shows "Signed out" — even though the main
app connects fine and Local Network access is granted to it.
The extension bundles don't declare
NSLocalNetworkUsageDescription, while themain app bundle (
cmake/modules/MacOSXBundleInfo.plist.in) already does. SincemacOS 15 the Local Network privacy permission is attributed per executable, so
the grant given to the main app doesn't cover the extension, and its
connections to a LAN address get blocked.
This PR adds
NSLocalNetworkUsageDescriptionto both extension Info.plistfiles (
FileProviderExtandFileProviderUIExt).Testing
Apple Development certificate
(
https://nextcloud.home, split DNS)prohibited" entries in the logs (previously hundreds)
Note: verified on my own setup with the key present; I did not run a controlled
build without the key. (The issue suggested adding this key as "a cheap first
experiment".)
Checklist
AI (if applicable)