Skip to content

Conversation

@isekovanic
Copy link
Contributor

🎯 Goal

This PR adds support for the expo-audio library. The reason why we need to do this now is the fact that in expo-av is going to be completely removed starting Expo 54 and is now not supported at all for more recent versions of Expo.

However, since we support versions >=51.0.0 in the SDK, this made it impossible to:

  • Support only expo-audio (it's unavailable in 51 and is very early beta in 52)
  • Support only expo-av (it's going to be completely gone in the near future and is likely very unstable on 53 as well)
  • Bump the minimum Expo version to 53 in V8 because it's too big of a jump

So, we have to support both for a while.

I played around with this quite a bit today and managed to resolve everything through adapters and interfacing. For now, the APIs we use from expo-av are deemed the default ones so that I don't have to do a bunch of UI changes too. The imperative approach was also taken for expo-audio (not using their hooks at all) in order to make this possible. We can ditch expo-av completely once Expo 53 becomes baseline for our SDK.

🛠 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 Jun 19, 2025

SDK Size

title develop branch diff status
js_bundle_size 450 KB 450 KB 0 B 🟢

Copy link
Member

@khushal87 khushal87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving it. Just take care of the expo-audio bug shared on slack

@isekovanic
Copy link
Contributor Author

Approving it. Just take care of the expo-audio bug shared on slack

Done, as discussed offline. Thanks for the detailed review !

@isekovanic isekovanic merged commit e1f555f into develop Jun 23, 2025
3 checks passed
@isekovanic isekovanic deleted the chore/expo-audio-support branch June 23, 2025 12:37
@github-actions github-actions bot mentioned this pull request Jun 23, 2025
6 tasks
@stream-ci-bot
Copy link
Contributor

🎉 This PR is included in version 7.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants