livekit/client-sdk-js

`livekit-client` v2.1.2 breaks React Native compatibility

ariboren opened this issue · 2 comments

Describe the bug

Commit a087e036be1286a7bbf10b72aaaf6b261b70fa3f adds a call to receiver.getSynchronizationSources(), which does not exist on RTCRtpReceiver in React Native, resulting in runtime errors.

Reproduction

In a React Native application:

  1. Install livekit-client >2.1.1, @livekit/react-native-webrtc latest (currently 114.1.2), and @livekit/react-native 2.1.1.
  2. Attempt to subscribe to remote track.

Logs

ERROR  TypeError: i.getSynchronizationSources is not a function (it is undefined), js engine: hermes

System Info

@livekit/react-native@2.1.1
@livekit/react-native-expo-plugin@1.0.0
@livekit/react-native-webrtc@114.1.2
livekit-client@2.1.3

Severity

blocking an upgrade

Additional Information

No response

thanks for the report! Opened #1136 to address this

Unfortunately looks like there's no direct equivalent on the native side for this method. I think we might be able to get the ssrc timestamps from the stats objects, but it's a little sketchy there.