Skip to content

fix(desktop): add macOS desktop Info.plist keys#35484

Merged
littledivy merged 2 commits into
denoland:mainfrom
littledivy:fix/desktop-macos-info-plist
Jun 25, 2026
Merged

fix(desktop): add macOS desktop Info.plist keys#35484
littledivy merged 2 commits into
denoland:mainfrom
littledivy:fix/desktop-macos-info-plist

Conversation

@littledivy

Copy link
Copy Markdown
Member

Summary

  • factor macOS Info.plist generation into a helper
  • add the Laufey principal class entry used by the CEF app bundle
  • add microphone, camera, and audio-capture usage-description keys alongside the existing Bluetooth entries

Why

Deno desktop bundles should carry the same principal-class metadata as the underlying Laufey macOS app bundle, and they need the standard TCC usage-description strings for media-related permission prompts. This keeps the generated plist closer to the Electron/Laufey app plist shape without broadening ATS defaults.

Verification

  • cargo fmt --all (run in rust:1.89 container)
  • parsed the generated plist template with Python plistlib after placeholder substitution to verify valid XML and the new keys
  • attempted a targeted cargo test -p deno --lib cli::tools::desktop::tests::macos_info_plist_includes_principal_class_and_tcc_usage_strings -- --exact, but the stock Rust container failed before compilation because cmake is not installed

@littledivy
littledivy enabled auto-merge (squash) June 25, 2026 04:05
@littledivy
littledivy merged commit caf8824 into denoland:main Jun 25, 2026
136 checks passed
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.

1 participant