Skip to content

fix(expo): ask for an audio library only when neither expo-audio nor expo-av is installed - #3954

Merged
isekovanic merged 1 commit into
fix/sample-app-start-conversationfrom
fix/expo-audio-log
Nov 9, 2026
Merged

isekovanic merged 1 commit into
fix/sample-app-start-conversationfrom
fix/expo-audio-log

Conversation

@isekovanic

Copy link
Copy Markdown
Contributor

Ticket: https://linear.app/stream/issue/REACT-1538

Stacked on #3953.

🎯 Goal

Stop stream-chat-expo from logging "install the expo-av package" in apps that have expo-audio installed. Audio works in those apps, so the log is wrong, and it points to a package Expo has deprecated.

🛠 Implementation details

AudioVideo.ts logged whenever require('expo-av') failed, without checking for expo-audio. Audio.ts and Sound.ts use expo-audio first and fall back to expo-av only when it's missing.

  • The log is removed from AudioVideo.ts.
  • Sound.ts already loads both packages, so it now logs once, only when neither is installed, and names expo-audio, for playback and voice recording.

The expo-av fallback stays. stream-chat-expo v10 supports Expo 53 and 54, where expo-av still works, so an app that never moved to expo-audio keeps its audio without a log. The same log has been on develop since v7, so this isn't a v10 regression.

🎨 UI Changes

None.

🧪 Testing

  • New Sound.test.ts, with the optional packages mocked. With only expo-audio installed there's no log, with only expo-av there's no log, and with neither there's one log naming expo-audio. Without the fix, the first and third cases fail.
  • The expo-package typecheck, yarn test:typecheck, prettier and yarn lint pass.

☑️ 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

…expo-av is installed

`stream-chat-expo` logged "install the expo-av package" whenever expo-av was
missing, even with expo-audio installed, which playback and recording use
first. The log now runs once, when neither package is installed, and names
expo-audio, since Expo has deprecated expo-av.
@isekovanic
isekovanic added this pull request to stack #3955 November 9, 2026 13:49
@Stream-SDK-Bot

Copy link
Copy Markdown
Contributor

SDK Size

title develop branch diff status
js_bundle_size 2026 KB 2026 KB 0 B 🟢
ai_components_size 163 KB 163 KB 0 B 🟢

@isekovanic
isekovanic requested a review from oliverlaz November 9, 2026 13:54
@isekovanic
isekovanic merged commit ac7e22e into develop Nov 9, 2026
9 of 10 checks passed
@isekovanic
isekovanic deleted the fix/expo-audio-log branch November 9, 2026 13:58
This was referenced Nov 10, 2026
@stream-ci-bot

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 10.0.1 🎉

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.

4 participants