Hide Mail integration behind a kill switch pending the macOS 27 beta fix

Confirmed via live debugging this is a genuine OS bug (first-time
Automation consent grants never work on this beta), not fixable in-app.
Rather than ship a Settings section that can't currently work, added
MailTools.isHiddenPendingAppleFix (true for now) mirroring the existing
PersonalDataTools kill switch used for the same purpose during an earlier
Calendar/Contacts TCC bug — hides the Settings UI and forces mailEnabled
to false regardless of the persisted value, with no code deleted. Flip
back to false once a newer beta/RC is confirmed to fix it.
This commit is contained in:
2026-08-19 15:17:40 +02:00
parent 1dc485badb
commit e105aa7378
2 changed files with 15 additions and 1 deletions
+10 -1
View File
@@ -32,6 +32,15 @@ enum PersonalDataTools {
static let isHiddenPendingAppleFix = false
}
/// Kill switch for the Mail integration, hidden while blocked by a confirmed macOS 27 beta bug:
/// first-time Automation consent grants never show a dialog or create a TCC record at all (not
/// fixable in-app see feature_mail_applescript_integration in memory for the full investigation).
/// Same shape as `PersonalDataTools` above. Flip back to `false` once Rune confirms a newer beta/RC
/// fixes it the tool code itself is complete and doesn't need changes, just re-enabling.
enum MailTools {
static let isHiddenPendingAppleFix = true
}
@Observable
class SettingsService {
static let shared = SettingsService()
@@ -760,7 +769,7 @@ class SettingsService {
// MARK: - Mail Settings (Apple Mail.app via AppleScript)
var mailEnabled: Bool {
get { cache["mailEnabled"] == "true" }
get { !MailTools.isHiddenPendingAppleFix && cache["mailEnabled"] == "true" }
set {
cache["mailEnabled"] = String(newValue)
DatabaseService.shared.setSetting(key: "mailEnabled", value: String(newValue))
+5
View File
@@ -1033,6 +1033,10 @@ It's better to admit "I need more information" or "I cannot do that" than to fak
}
// MARK: Mail
// Hidden while MailTools.isHiddenPendingAppleFix is true blocked by a confirmed macOS 27
// beta bug (first-time Automation consent grants never work), not an app bug. See
// feature_mail_applescript_integration in memory. Flip the switch back once fixed.
if !MailTools.isHiddenPendingAppleFix {
Divider()
VStack(alignment: .leading, spacing: 8) {
@@ -1120,6 +1124,7 @@ It's better to admit "I need more information" or "I cannot do that" than to fak
}
}
}
}
}
// MARK: - External MCP Servers Section