Skip to content

Make system-audio meeting warnings actionable - #1761

Merged
r3dbars merged 3 commits into
mainfrom
codex/audio-permission-recovery-1162
Sep 28, 2026
Merged

r3dbars merged 3 commits into
mainfrom
codex/audio-permission-recovery-1162

Conversation

@r3dbars

@r3dbars r3dbars commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Targets main so audio-permission recovery can be validated independently of the unreleased 1.1.62 version bump in #1756. The 1.1.62 candidate must include this fix and be rebuilt before release.

A confirmed system-audio-only denial at meeting start now shows Grant System Audio Access, opening the audio-only macOS Settings pane. An unverified or failed live stream instead shows Check Access without claiming denial or running a competing capture probe. Keep Recording and End & Transcribe remain available. Copy explains that a changed permission requires a new recording. The CTA is tied to the specific error transition so it cannot appear on an unrelated transcription error.

Validation: permission/status tests 53/53; UI surface contracts 299/299; signed app build and integration smoke pass; independent static review found no blocker. Native AX/visual and real TCC denial/recovery are not yet verified on this exact code. The prior stacked CI failure was solely the 1.1.62 candidate vs still-published 1.1.61 release metadata; this PR now runs against main.

Update: merged with main (2026-09-27)

main rebuilt the mid-meeting Check Access button after this PR was written, with its own copy and tests. So the conflicted files keep main's version, and this PR's two suites for the old design are dropped (their copy strings and shouldOfferAccessCheck no longer exist).

What main still lacked is ported onto today's code:

  • A start that macOS refused for System Audio Recording (a typed missing grant, or an observed capture denial; never a silent or timed-out probe) sets MeetingSessionController.systemAudioPermissionRecoveryNeeded. Every other state change clears it.
  • Old pill: the error notice's action slot shows Grant Access (VoiceOver: "Grant System Audio Access") instead of Open. It opens the audio-only Settings pane.
  • Notch island: the meeting-error drop-down gets the same Grant Access button, routed through the same primary action.

Checks: bash build-deps.sh --force, bash build.sh --no-open, TZ=America/Chicago bash run-tests.sh (18776/18776), bash run-integration-smoke.sh, check-source-pins --changed-only, check-telemetry-keys.

Not checked by hand: a real TCC denial on hardware.

@r3dbars
r3dbars force-pushed the codex/audio-permission-recovery-1162 branch from 81e53fe to d1639df Compare September 23, 2026 02:00
@r3dbars
r3dbars changed the base branch from claude/project-thread-odyhmk to main September 23, 2026 02:00
main already rebuilt the mid-meeting Check Access button (with its own
copy and tests), so the conflicted files keep main's version and the two
suites for the old design are dropped. What main lacked is ported onto
today's code: a start that macOS refused for System Audio Recording (a
typed missing grant or an observed capture denial, never a silent or
timed-out probe) sets systemAudioPermissionRecoveryNeeded, and both
overlays offer Grant Access, which opens the audio-only Settings pane.
The pill uses its error action slot; the island adds the button to its
meeting-error drop-down.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Picks up the VM test socket-path fix (#1883) and everything merged today.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@r3dbars
r3dbars merged commit 5b0f3d8 into main Sep 28, 2026
8 checks passed
@r3dbars
r3dbars deleted the codex/audio-permission-recovery-1162 branch September 28, 2026 08:26
r3dbars added a commit that referenced this pull request Sep 28, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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