Repository navigation
fix(voice): offer restart for microphone access after an update - #472
Draft
johnmatthewtennant wants to merge 1 commit into
Draft
johnmatthewtennant wants to merge 1 commit into
johnmatthewtennant wants to merge 1 commit into
Conversation
Signed-off-by: John Tennant <jtennant@block.xyz> Co-authored-by: Darcy <756b3e94a13d7979c09d32291e4fd4da46848bdaa53340021ac24fb843e28d57@buzz.block.builderlab.xyz>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
On macOS, an update can replace the running bundle before Voice settings first checks microphone permission. That check then reports denied even when System Settings still allows Berd. The existing warning sends users to change a permission that relaunching Berd restores.
This bug fix offers Restart Berd through the existing updater when an update is installed and microphone permission reads denied. Ordinary permission denials retain the System Settings action, and authorized access receives no restart warning. This changes recovery guidance; update installation timing is unchanged.
Related issue
None found.
Testing
Reproduced with the signed 0.5.42 app and its released updater installing 0.5.43. Opening Voice settings for the first time after installation showed the false denial. Relaunching removed the warning without changing the saved macOS grant.
The regression fails against the old warning and passes with this change. In a native macOS candidate, the updater replaced the running bundle before the first Voice permission read. The new warning offered Restart Berd. Activating it once relaunched the app, cleared the warning without opening System Settings or changing the saved microphone grant, and allowed a real spoken exchange with local speech recognition and playback.
The candidate recovery run used ad-hoc signing and a private HTTPS updater feed that reinstalled the same candidate payload. The signed released-app reproduction above was a separate run; a distribution-signed released-to-candidate upgrade was not tested.
The additional voice-reply crash also reproduces in the unmodified, Block-signed released 0.5.43 app with the same exception and audio-render stack. It predates this fix and is tracked separately in the voice playback crash issue. The native microphone-recovery acceptance checks passed.
Screenshots
Installed update, before restarting
After restarting