Skip to content

fix: Add NSLocalNetworkUsageDescription to Info.plist#308457

Merged
deepak1556 merged 1 commit intomainfrom
robo/update_network_usage_plist_entry
Apr 8, 2026
Merged

fix: Add NSLocalNetworkUsageDescription to Info.plist#308457
deepak1556 merged 1 commit intomainfrom
robo/update_network_usage_plist_entry

Conversation

@deepak1556
Copy link
Copy Markdown
Collaborator

macOS shows a "Local Network" privacy prompt when an app opens TCP/UDP connections to devices on the local network over Wi-Fi per Apple TN3179.

Chromium's built-in DNS client (enabled by default on macOS via the kAsyncDns feature flag) sends DNS queries directly over UDP sockets to the system-configured nameservers (when DoH is not enabled or in the fallback mode) unlike the system resolver path (getaddrinfo → mDNSResponder). On most Wi-Fi networks, the DNS server is in the same-subnet address and triggers the prompt on every launch.

Before

test

macOS shows a "Local Network" privacy prompt when an app opens TCP/UDP
connections to devices on the local network over Wi-Fi (per Apple TN3179).

Chromium's built-in DNS client (enabled by default on macOS via the
kAsyncDns feature flag) sends DNS queries directly over UDP sockets to
the system-configured nameservers. On most Wi-Fi networks, the DNS
server is in the same-subnet address and triggers the prompt on
every launch.

Unlike the system resolver path (getaddrinfo → mDNSResponder), the
built-in client opens raw UDP sockets from the app process in default (kOff mode)
to config.nameservers[] via DnsUDPAttempt::Start() in
net/dns/dns_transaction.cc.
@deepak1556 deepak1556 added this to the 1.116.0 milestone Apr 8, 2026
@deepak1556 deepak1556 self-assigned this Apr 8, 2026
Copilot AI review requested due to automatic review settings April 8, 2026 08:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the missing macOS privacy usage string for local network access so that VS Code (and embedded builds) present an appropriate NSLocalNetworkUsageDescription when Chromium’s async DNS triggers the Local Network permission prompt.

Changes:

  • Update the main app bundle Info.plist during signing to include NSLocalNetworkUsageDescription.
  • Apply the same Info.plist update to the embedded app bundle (when present).

Comment thread build/darwin/sign.ts
Comment thread build/darwin/sign.ts
@deepak1556
Copy link
Copy Markdown
Collaborator Author

@deepak1556 deepak1556 merged commit eb756b1 into main Apr 8, 2026
37 of 38 checks passed
@deepak1556 deepak1556 deleted the robo/update_network_usage_plist_entry branch April 8, 2026 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants