From 9212415ec6370e9502136fd9a01f893299572076 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Wed, 22 Jul 2026 12:46:20 -0700 Subject: [PATCH] fix(macos): declare app data privacy purpose --- config/mac-privacy-usage-descriptions.cjs | 2 ++ config/scripts/electron-builder-config.test.mjs | 1 + 2 files changed, 3 insertions(+) diff --git a/config/mac-privacy-usage-descriptions.cjs b/config/mac-privacy-usage-descriptions.cjs index c14e1fabcd9..b57f4e27c51 100644 --- a/config/mac-privacy-usage-descriptions.cjs +++ b/config/mac-privacy-usage-descriptions.cjs @@ -8,6 +8,8 @@ const { join } = require('node:path') // the effective requesting app and needs the same strings as the main app — // otherwise TCC denies with a silent EPERM and no dialog (#9756). const macPrivacyUsageDescriptions = { + NSAppDataUsageDescription: + "Orca allows terminal-launched developer tools to access other apps' data when you request it.", NSAppleEventsUsageDescription: 'Orca allows terminal-launched developer tools to automate local apps when you request it.', NSBluetoothAlwaysUsageDescription: diff --git a/config/scripts/electron-builder-config.test.mjs b/config/scripts/electron-builder-config.test.mjs index bb5ba182759..0e41f1e4143 100644 --- a/config/scripts/electron-builder-config.test.mjs +++ b/config/scripts/electron-builder-config.test.mjs @@ -101,6 +101,7 @@ describe('electron-builder config', () => { // Why: the detached PTY daemon runs inside the Electron helper bundle, so the // helper needs the same TCC usage descriptions as the main app (#9756). it('keeps the main-app extendInfo privacy strings in the shared helper-bundle map', () => { + expect(macPrivacyUsageDescriptions.NSAppDataUsageDescription).toBeTruthy() expect(electronBuilderConfig.mac.extendInfo).toMatchObject(macPrivacyUsageDescriptions) const extendInfoUsageKeys = Object.keys(electronBuilderConfig.mac.extendInfo).filter((key) => key.endsWith('UsageDescription')