Skip to content

fix: audio recordings fixes and performance improvements#3514

Merged
isekovanic merged 13 commits intodevelopfrom
fix/audio-recordings-fixes
Mar 25, 2026
Merged

fix: audio recordings fixes and performance improvements#3514
isekovanic merged 13 commits intodevelopfrom
fix/audio-recordings-fixes

Conversation

@isekovanic
Copy link
Contributor

🎯 Goal

This PR fixes several SDK side audio bugs and interaction issues around voice recordings and audio attachments.

The main change is a (long overdue) rewrite of our audio playing management so that it no longer relies on react-native-video for stream-chat-react-native. The main rationale' was the fact that it would appear the specific format we use was not seekable at all (and no way to force react-native-video to seek with AdtsExtractor.FLAG_ENABLE_CONSTANT_BITRATE_SEEKING_ALWAYS, at least that I know of). In addition to that, using react-native-nitro-sound is much more stable and performant.

Additionally, this PR also includes:

  • a complete rewrite of how our waveform component works (WaveProgressBar)
  • smoother waveform playback/drag behavior in WaveProgressBar
  • fixed drag crash caused by incorrect worklet usage
  • fixed seek release oscillation in audio attachments
  • improved drag hit area
  • fixed thumb tail overshoot
  • reduced idle waveform rendering cost
  • stabilized duration label width to avoid layout churn
  • fixed Android native speed change while paused starting playback
  • fixed Expo iOS seek by converting ms to seconds in the Expo audio adapter

🛠 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

@isekovanic isekovanic requested a review from oliverlaz March 25, 2026 23:26
@Stream-SDK-Bot
Copy link
Contributor

Stream-SDK-Bot commented Mar 25, 2026

SDK Size

title develop branch diff status
js_bundle_size 374 KB 375 KB +327 B 🟡

@isekovanic isekovanic merged commit 6c2e98e into develop Mar 25, 2026
5 checks passed
@isekovanic isekovanic deleted the fix/audio-recordings-fixes branch March 25, 2026 23:47
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.

2 participants