Skip to content

fix: voice recording race conditions#3382

Merged
isekovanic merged 3 commits intodevelopfrom
fix/voice-recording-race-conditions
Feb 3, 2026
Merged

fix: voice recording race conditions#3382
isekovanic merged 3 commits intodevelopfrom
fix/voice-recording-race-conditions

Conversation

@isekovanic
Copy link
Contributor

🎯 Goal

This PR fixes a couple of race conditions and locked stale state issues with regards to voice recording in the SDK.

Most notably, the following:

  • Disabling permissions prevents voice recording from being played ever again
  • Quickly jumping from recording to prevented recording breaks the recording state
  • Mismatch between when we're actually recording and the state updating (possible missed recording by up to a second)
  • The underlying Pressable's gesture not being recognized sometimes as the Tap gesture from RNGH took precedence

It also includes various optimizations for the animations to make sure we are not rerendering heavily when the animations are running (or recreating gesture detector primitives).

🛠 Implementation details

🎨 UI Changes

iOS
Before After
Android
Before After

🧪 Testing

☑️ Checklist

  • I have signed the Stream CLA (required)
  • PR targets the develop branch
  • Documentation is updated
  • New code is tested in main example apps, including all possible scenarios
    • SampleApp iOS and Android
    • Expo iOS and Android

@Stream-SDK-Bot
Copy link
Contributor

Stream-SDK-Bot commented Feb 3, 2026

SDK Size

title develop branch diff status
js_bundle_size 356 KB 355 KB -200 B 🚀

@isekovanic isekovanic merged commit 0acaa8c into develop Feb 3, 2026
5 of 6 checks passed
@isekovanic isekovanic deleted the fix/voice-recording-race-conditions branch February 3, 2026 11:02
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.

3 participants