feat(mobile): keep voice recording active across apps and threads - #10140
Open
bentsignal wants to merge 4 commits into
Open
feat(mobile): keep voice recording active across apps and threads#10140bentsignal wants to merge 4 commits into
bentsignal wants to merge 4 commits into
Conversation
Contributor
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds app-scoped voice recording across threads and backgrounded apps, changing default recording lifecycle, draft mutation, and native audio entitlements. The cross-cutting platform behavior and unresolved lifecycle/configuration findings warrant human validation. Not approved because:
Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more. |
Contributor
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
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.
Switching threads mid-recording currently stops voice input and can leave it stuck saying another recording is active. You have to fully close and reopen the app to record again.
With this change, you can keep talking while you check another thread or switch to another app. When you return, the original recording is still going, and finishing it adds the transcript to that draft. Starting a second recording is blocked while the first is active.
I realize keeping recordings going when switching apps is a broader change. I'm happy to split out a smaller PR that just fixes voice input getting stuck after switching threads and requiring an app restart. I expanded it because I often start dictating, then check another app or thread and keep talking as I review things. Being able to come back and finish the same recording is useful for that.
Before
before.mp4
After
after.mp4
Implemented with GPT-6 in the Codex harness.
Note
Keep voice recording active across threads and app switching via app-scoped
VoiceInputProviderVoiceInputSession, an app-scoped recording owner that retains the originating draft key, text, and selection independently of whether the composer is mounted. A single recording runs at a time; other drafts cannot start, stop, or cancel it.VoiceInputProviderso the recorder and session survive route changes.useVoiceInputControllernow observes the shared session viauseSyncExternalStoreinstead of creating per-composer recorders.VoiceInputControllercleanup to tolerate an already-destroyed native recorder and explicitly deactivate the audio session even when mode cleanup throws.VoiceInputController.appMovedToBackgroundno longer interrupts an active recording; preparation is still cancelled. iOS builds now declare the audio background capability, which may require App Store review attention.Macroscope summarized d1a6712.