Fix Mail Automation permission: missing entitlement, not an OS bug
Confab.entitlements was missing com.apple.security.automation.apple-events, so tccd's hardened-runtime policy silently refused to even prompt for Automation consent to Mail.app — confirmed via tccd's own log, the same failure class as the earlier Calendar/Contacts entitlement bug. Unhides the Mail integration (MailTools.isHiddenPendingAppleFix = false). Live-verified: Request Access now grants successfully on macOS 27 beta 7.
This commit is contained in:
@@ -16,5 +16,7 @@
|
|||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.personal-information.location</key>
|
<key>com.apple.security.personal-information.location</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>com.apple.security.automation.apple-events</key>
|
||||||
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -32,13 +32,15 @@ enum PersonalDataTools {
|
|||||||
static let isHiddenPendingAppleFix = false
|
static let isHiddenPendingAppleFix = false
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Kill switch for the Mail integration, hidden while blocked by a confirmed macOS 27 beta bug:
|
/// Kill switch for the Mail integration. Was hidden after first-time Automation consent grants
|
||||||
/// first-time Automation consent grants never show a dialog or create a TCC record at all (not
|
/// appeared to fail on macOS 27 beta with no dialog and no TCC record — turned out to be a real
|
||||||
/// fixable in-app — see feature_mail_applescript_integration in memory for the full investigation).
|
/// Confab bug, not an OS bug: `Confab.entitlements` was missing `com.apple.security.automation.
|
||||||
/// Same shape as `PersonalDataTools` above. Flip back to `false` once Rune confirms a newer beta/RC
|
/// apple-events`, so `tccd` refused to even prompt (confirmed via `tccd`'s own log, same failure
|
||||||
/// fixes it — the tool code itself is complete and doesn't need changes, just re-enabling.
|
/// class as the earlier Calendar/Contacts entitlement bug on `PersonalDataTools`). Fixed and
|
||||||
|
/// live-verified granting successfully on beta 7 (2026-08-26). Same shape as `PersonalDataTools`
|
||||||
|
/// above — kept as infrastructure, not deleted, in case a future regression needs it again.
|
||||||
enum MailTools {
|
enum MailTools {
|
||||||
static let isHiddenPendingAppleFix = true
|
static let isHiddenPendingAppleFix = false
|
||||||
}
|
}
|
||||||
|
|
||||||
@Observable
|
@Observable
|
||||||
|
|||||||
@@ -1140,9 +1140,8 @@ It's better to admit "I need more information" or "I cannot do that" than to fak
|
|||||||
|
|
||||||
@ViewBuilder
|
@ViewBuilder
|
||||||
private var mailSection: some View {
|
private var mailSection: some View {
|
||||||
// Hidden while MailTools.isHiddenPendingAppleFix is true — blocked by a confirmed macOS 27
|
// MailTools.isHiddenPendingAppleFix: was a missing entitlement, not an OS bug — fixed, see
|
||||||
// beta bug (first-time Automation consent grants never work), not an app bug. See
|
// feature_mail_applescript_integration in memory. Kill switch kept as infrastructure.
|
||||||
// feature_mail_applescript_integration in memory. Flip the switch back once fixed.
|
|
||||||
if !MailTools.isHiddenPendingAppleFix {
|
if !MailTools.isHiddenPendingAppleFix {
|
||||||
VStack(alignment: .leading, spacing: 8) {
|
VStack(alignment: .leading, spacing: 8) {
|
||||||
HStack(spacing: 8) {
|
HStack(spacing: 8) {
|
||||||
|
|||||||
Reference in New Issue
Block a user