Skip to content

Commit c6486d6

Browse files
committed
Merge origin/main into nik/dashboard-chat (resolve CHANGELOG conflict)
The 'Fixed call recordings' entry is already in 0.11.275 release on main. Keep only the new dashboard chat entry in unreleased.
2 parents 602ad7b + 91dc34e commit c6486d6

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

desktop/CHANGELOG.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
{
22
"unreleased": [
3-
"Fixed call recordings being labeled as a single speaker by re-enabling system audio capture (now with drift compensation, no more crackling)",
43
"Replaced Conversations on Dashboard with embedded Chat (Ask omi anything) and moved the Conversations list to its own sidebar page"
54
],
65
"releases": [
6+
{
7+
"version": "0.11.275",
8+
"date": "2026-04-09",
9+
"changes": [
10+
"Fixed call recordings being labeled as a single speaker by re-enabling system audio capture (now with drift compensation, no more crackling)"
11+
]
12+
},
713
{
814
"version": "0.11.273",
915
"date": "2026-04-09",

desktop/Desktop/Sources/AppState.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -861,14 +861,18 @@ class AppState: ObservableObject {
861861
// Stale TCC entry from old developer signing: CGPreflight says granted but
862862
// actual capture fails. The user must toggle OFF then ON in System Settings
863863
// to update the code signing requirement (csreq) stored in the TCC database.
864+
// NOTE: Do NOT call tccutil reset here — it wipes the user's permission entry
865+
// entirely and forces them to re-grant manually. This was the root cause of
866+
// users' screen recording permission getting reset "for no reason" after
867+
// local rebuilds of Omi Beta (binary hash changes → stale csreq → self-reset).
868+
// The correct recovery is for the user to toggle the permission in System
869+
// Settings, which refreshes csreq in place. See PR #5616 / a2bc4471d for history.
864870
if !realPermission && !isScreenRecordingStale {
865871
log("Screen capture: stale TCC entry detected (developer signing changed)")
872+
log(
873+
"Screen capture: please toggle Screen Recording OFF then ON for this app in System Settings → Privacy & Security → Screen Recording"
874+
)
866875
isScreenRecordingStale = true
867-
// Try tccutil reset in case it works (it may not on macOS 15+ for system TCC)
868-
Task.detached {
869-
ScreenCaptureService.ensureLaunchServicesRegistrationSync()
870-
_ = ScreenCaptureService.resetScreenCapturePermission()
871-
}
872876
} else if realPermission {
873877
// Permission recovered (user toggled off/on in System Settings)
874878
isScreenRecordingStale = false

0 commit comments

Comments
 (0)