Environment
| Package |
Version |
@livekit/react-native |
2.11.0 |
@livekit/react-native-webrtc |
144.1.0 |
@livekit/react-native-expo-plugin |
1.0.2 |
@config-plugins/react-native-webrtc |
13.0.0 |
livekit-client |
2.19.1 |
expo |
54.0.35 |
react-native |
0.81.5 |
| New Architecture |
disabled (newArchEnabled: false) |
| Build method |
EAS Cloud Build |
| Device |
iPhone 16 Pro, iOS 26.5 |
What happens
After calling both registerGlobals() and LivekitReactNative.setup(), RTCDataChannel is undefined while all other WebRTC globals are correctly registered:
registerGlobals();
console.log(typeof (global as any).RTCPeerConnection); // "function"
console.log(typeof (global as any).RTCDataChannel); // "undefined"
console.log(typeof (global as any).MediaStream); // "function"
console.log(typeof (global as any).RTCIceCandidate); // "function"
Calling new Room() throws: TypeError: Cannot read property 'prototype' of undefined
Setup
registerGlobals() called at module level and at app entry point (_layout.tsx).
LivekitReactNative.setup() added to AppDelegate.swift — both manually and via
custom Expo Config Plugin. Verified present in built binary via npx expo prebuild.
newArchEnabled: false set at root level in app.json.
Key observation
Only RTCDataChannel is missing. All other WebRTC globals (RTCPeerConnection, MediaStream, RTCIceCandidate) are correctly registered. Not a general registerGlobals() failure.
Question
Is there a known issue with @livekit/react-native-webrtc@144.1.0 where RTCDataChannel is not exposed as a JS global?
Environment
@livekit/react-native@livekit/react-native-webrtc@livekit/react-native-expo-plugin@config-plugins/react-native-webrtclivekit-clientexporeact-nativenewArchEnabled: false)What happens
After calling both
registerGlobals()andLivekitReactNative.setup(),RTCDataChannelisundefinedwhile all other WebRTC globals are correctly registered:Calling
new Room()throws: TypeError: Cannot read property 'prototype' of undefinedSetup
registerGlobals()called at module level and at app entry point (_layout.tsx).LivekitReactNative.setup()added to AppDelegate.swift — both manually and viacustom Expo Config Plugin. Verified present in built binary via
npx expo prebuild.newArchEnabled: falseset at root level inapp.json.Key observation
Only
RTCDataChannelis missing. All other WebRTC globals (RTCPeerConnection,MediaStream,RTCIceCandidate) are correctly registered. Not a generalregisterGlobals()failure.Question
Is there a known issue with
@livekit/react-native-webrtc@144.1.0whereRTCDataChannelis not exposed as a JS global?