@stream-io/video-react-native-sdk 1.28.0 → 1.28.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.28.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.28.1...@stream-io/video-react-native-sdk-1.28.2) (2026-01-28)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/video-client` updated to version `1.41.2`
10
+ - `@stream-io/video-react-bindings` updated to version `1.13.2`
11
+
12
+ ## [1.28.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.28.0...@stream-io/video-react-native-sdk-1.28.1) (2026-01-26)
13
+
14
+ ### Dependency Updates
15
+
16
+ - `@stream-io/video-client` updated to version `1.41.1`
17
+ - `@stream-io/video-react-bindings` updated to version `1.13.1`
18
+
19
+ ### Bug Fixes
20
+
21
+ - always forward callkit audio events to webrtc ([#2089](https://github.com/GetStream/stream-video-js/issues/2089)) ([767041a](https://github.com/GetStream/stream-video-js/commit/767041a54dfaaa87145cbdc931a336dbe4fee821))
22
+ - use multiple settings to determine default audio device RN-338 ([#2096](https://github.com/GetStream/stream-video-js/issues/2096)) ([19cf136](https://github.com/GetStream/stream-video-js/commit/19cf13651112b647903587a84a70a555fc68fc9c)), closes [2BSettingsPriority.swift#L19](https://github.com/GetStream/2BSettingsPriority.swift/issues/L19)
23
+
5
24
  ## [1.28.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.27.4...@stream-io/video-react-native-sdk-1.28.0) (2026-01-20)
6
25
 
7
26
  ### Dependency Updates
@@ -9,9 +9,9 @@ const StreamInCallManagerNativeModule = _reactNative.NativeModules.StreamInCallM
9
9
  const streamRNVideoSDKGlobals = {
10
10
  callManager: {
11
11
  setup: ({
12
- default_device
12
+ defaultDevice
13
13
  }) => {
14
- StreamInCallManagerNativeModule.setDefaultAudioDeviceEndpointType(default_device);
14
+ StreamInCallManagerNativeModule.setDefaultAudioDeviceEndpointType(defaultDevice);
15
15
  StreamInCallManagerNativeModule.setup();
16
16
  },
17
17
  start: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","streamRNVideoSDKGlobals","callManager","setup","default_device","setDefaultAudioDeviceEndpointType","start","stop","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AAEzE,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAe,CAAC,KAAK;MAC7BN,+BAA+B,CAACO,iCAAiC,CAC/DD,cACF,CAAC;MACDN,+BAA+B,CAACK,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXR,+BAA+B,CAACQ,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVT,+BAA+B,CAACS,IAAI,CAAC,CAAC;IACxC;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGT,uBAAuB;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AAEzE,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAc,CAAC,KAAK;MAC5BN,+BAA+B,CAACO,iCAAiC,CAC/DD,aACF,CAAC;MACDN,+BAA+B,CAACK,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXR,+BAA+B,CAACQ,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVT,+BAA+B,CAACS,IAAI,CAAC,CAAC;IACxC;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGT,uBAAuB;EACnD;AACF","ignoreList":[]}
@@ -9,6 +9,7 @@ var _videoClient = require("@stream-io/video-client");
9
9
  var _libs = require("./libs");
10
10
  var _utils = require("./internal/utils");
11
11
  var _reactNative = require("react-native");
12
+ var _reactNativeWebrtc = require("@stream-io/react-native-webrtc");
12
13
  var _pushLogoutCallback = require("../internal/pushLogoutCallback");
13
14
  /**
14
15
  * This hook is used to listen to callkeep events and do the necessary actions
@@ -52,6 +53,33 @@ function setupIosCallKeepEvents(pushConfig) {
52
53
  iosCallkeepRejectCall(call_cid, callUUID, pushConfig);
53
54
  });
54
55
  }
56
+
57
+ /**
58
+ * CallKeep / CallKit audio-session events -> WebRTC (iOS)
59
+ *
60
+ * iOS CallKit is the authority that *activates* and *deactivates* the underlying `AVAudioSession`
61
+ * when a call is answered/ended from the system UI (lock screen, Call UI, Bluetooth, etc).
62
+ *
63
+ * WebRTC on iOS wraps `AVAudioSession` with `RTCAudioSession` and its AudioDeviceModule relies on
64
+ * being notified of those lifecycle transitions to correctly start/stop audio I/O and keep its
65
+ * internal activation state consistent (e.g. activation count, playout/recording start).
66
+ *
67
+ * If these callbacks don’t reach WebRTC, answering via the native dialer UI can result in:
68
+ * - no microphone capture / one-way audio
69
+ * - silent playout until the app forces an audio reconfiguration
70
+ * - flaky audio routing (speaker/earpiece/Bluetooth) across subsequent calls
71
+ *
72
+ * We forward CallKeep’s `didActivateAudioSession` / `didDeactivateAudioSession` events to WebRTC’s
73
+ * `RTCAudioSession.audioSessionDidActivate()` / `audioSessionDidDeactivate()` methods.
74
+ */
75
+ function didActivateAudioSession() {
76
+ logger.debug('didActivateAudioSession');
77
+ _reactNativeWebrtc.RTCAudioSession.audioSessionDidActivate();
78
+ }
79
+ function didDeactivateAudioSession() {
80
+ logger.debug('didDeactivateAudioSession');
81
+ _reactNativeWebrtc.RTCAudioSession.audioSessionDidDeactivate();
82
+ }
55
83
  function didDisplayIncomingCall(callUUID, payload) {
56
84
  const voipPushNotification = (0, _libs.getVoipPushNotificationLib)();
57
85
  // @ts-expect-error - call_cid is not part of RNCallKeepEventPayload
@@ -90,6 +118,16 @@ function setupIosCallKeepEvents(pushConfig) {
90
118
  }) => {
91
119
  didDisplayIncomingCall(callUUID, payload);
92
120
  });
121
+ const {
122
+ remove: removeDidActivateAudioSession
123
+ } = callkeep.addEventListener('didActivateAudioSession', () => {
124
+ didActivateAudioSession();
125
+ });
126
+ const {
127
+ remove: removeDidDeactivateAudioSession
128
+ } = callkeep.addEventListener('didDeactivateAudioSession', () => {
129
+ didDeactivateAudioSession();
130
+ });
93
131
  const {
94
132
  remove: removeDidLoadWithEvents
95
133
  } = callkeep.addEventListener('didLoadWithEvents', events => {
@@ -107,6 +145,10 @@ function setupIosCallKeepEvents(pushConfig) {
107
145
  answerCall(data.callUUID);
108
146
  } else if (name === 'RNCallKeepPerformEndCallAction') {
109
147
  endCall(data.callUUID);
148
+ } else if (name === 'RNCallKeepDidActivateAudioSession') {
149
+ didActivateAudioSession();
150
+ } else if (name === 'RNCallKeepDidDeactivateAudioSession') {
151
+ didDeactivateAudioSession();
110
152
  }
111
153
  });
112
154
  });
@@ -114,6 +156,8 @@ function setupIosCallKeepEvents(pushConfig) {
114
156
  removeAnswerCall();
115
157
  removeEndCall();
116
158
  removeDisplayIncomingCall();
159
+ removeDidActivateAudioSession();
160
+ removeDidDeactivateAudioSession();
117
161
  removeDidLoadWithEvents();
118
162
  });
119
163
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_rxSubjects","require","_videoClient","_libs","_utils","_reactNative","_pushLogoutCallback","setupIosCallKeepEvents","pushConfig","Platform","OS","ios","pushProviderName","android","incomingCallChannel","videoLoggerSystem","getLogger","debug","logger","callkeep","getCallKeepLib","getCallCid","callUUID","call_cid","NativeModules","StreamVideoReactNative","getIncomingCallCid","voipPushNotificationCallCId","RxUtils","getCurrentValue","voipPushNotificationCallCId$","next","undefined","answerCall","then","iosCallkeepAcceptCall","endCall","iosCallkeepRejectCall","didDisplayIncomingCall","payload","voipPushNotification","getVoipPushNotificationLib","AppState","currentState","processCallFromPushInBackground","voipCallkeepCallOnForegroundMap$","uuid","cid","onVoipNotificationCompleted","remove","removeAnswerCall","addEventListener","removeEndCall","removeDisplayIncomingCall","removeDidLoadWithEvents","events","Array","isArray","length","forEach","event","name","data","setPushLogoutCallback","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","clearPushWSEventSubscriptions","voipCallkeepAcceptedCallOnNativeDialerMap$","pushAcceptedIncomingCallCId$","removeIncomingCall"],"sourceRoot":"../../../../src","sources":["utils/push/setupIosCallKeepEvents.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_rxSubjects","require","_videoClient","_libs","_utils","_reactNative","_reactNativeWebrtc","_pushLogoutCallback","setupIosCallKeepEvents","pushConfig","Platform","OS","ios","pushProviderName","android","incomingCallChannel","videoLoggerSystem","getLogger","debug","logger","callkeep","getCallKeepLib","getCallCid","callUUID","call_cid","NativeModules","StreamVideoReactNative","getIncomingCallCid","voipPushNotificationCallCId","RxUtils","getCurrentValue","voipPushNotificationCallCId$","next","undefined","answerCall","then","iosCallkeepAcceptCall","endCall","iosCallkeepRejectCall","didActivateAudioSession","RTCAudioSession","audioSessionDidActivate","didDeactivateAudioSession","audioSessionDidDeactivate","didDisplayIncomingCall","payload","voipPushNotification","getVoipPushNotificationLib","AppState","currentState","processCallFromPushInBackground","voipCallkeepCallOnForegroundMap$","uuid","cid","onVoipNotificationCompleted","remove","removeAnswerCall","addEventListener","removeEndCall","removeDisplayIncomingCall","removeDidActivateAudioSession","removeDidDeactivateAudioSession","removeDidLoadWithEvents","events","Array","isArray","length","forEach","event","name","data","setPushLogoutCallback","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","clearPushWSEventSubscriptions","voipCallkeepAcceptedCallOnNativeDialerMap$","pushAcceptedIncomingCallCId$","removeIncomingCall"],"sourceRoot":"../../../../src","sources":["utils/push/setupIosCallKeepEvents.ts"],"mappings":"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","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '1.28.0';
7
+ const version = exports.version = '1.28.2';
8
8
  //# sourceMappingURL=version.js.map
@@ -3,9 +3,9 @@ const StreamInCallManagerNativeModule = NativeModules.StreamInCallManager;
3
3
  const streamRNVideoSDKGlobals = {
4
4
  callManager: {
5
5
  setup: ({
6
- default_device
6
+ defaultDevice
7
7
  }) => {
8
- StreamInCallManagerNativeModule.setDefaultAudioDeviceEndpointType(default_device);
8
+ StreamInCallManagerNativeModule.setDefaultAudioDeviceEndpointType(defaultDevice);
9
9
  StreamInCallManagerNativeModule.setup();
10
10
  },
11
11
  start: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","StreamInCallManagerNativeModule","StreamInCallManager","streamRNVideoSDKGlobals","callManager","setup","default_device","setDefaultAudioDeviceEndpointType","start","stop","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"AACA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAMC,+BAA+B,GAAGD,aAAa,CAACE,mBAAmB;AAEzE,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAe,CAAC,KAAK;MAC7BL,+BAA+B,CAACM,iCAAiC,CAC/DD,cACF,CAAC;MACDL,+BAA+B,CAACI,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXP,+BAA+B,CAACO,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVR,+BAA+B,CAACQ,IAAI,CAAC,CAAC;IACxC;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGT,uBAAuB;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","StreamInCallManagerNativeModule","StreamInCallManager","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"AACA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAMC,+BAA+B,GAAGD,aAAa,CAACE,mBAAmB;AAEzE,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAc,CAAC,KAAK;MAC5BL,+BAA+B,CAACM,iCAAiC,CAC/DD,aACF,CAAC;MACDL,+BAA+B,CAACI,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXP,+BAA+B,CAACO,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVR,+BAA+B,CAACQ,IAAI,CAAC,CAAC;IACxC;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGT,uBAAuB;EACnD;AACF","ignoreList":[]}
@@ -3,6 +3,7 @@ import { RxUtils, videoLoggerSystem } from '@stream-io/video-client';
3
3
  import { getCallKeepLib, getVoipPushNotificationLib } from './libs';
4
4
  import { clearPushWSEventSubscriptions, processCallFromPushInBackground } from './internal/utils';
5
5
  import { AppState, NativeModules, Platform } from 'react-native';
6
+ import { RTCAudioSession } from '@stream-io/react-native-webrtc';
6
7
  import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
7
8
  /**
8
9
  * This hook is used to listen to callkeep events and do the necessary actions
@@ -46,6 +47,33 @@ export function setupIosCallKeepEvents(pushConfig) {
46
47
  iosCallkeepRejectCall(call_cid, callUUID, pushConfig);
47
48
  });
48
49
  }
50
+
51
+ /**
52
+ * CallKeep / CallKit audio-session events -> WebRTC (iOS)
53
+ *
54
+ * iOS CallKit is the authority that *activates* and *deactivates* the underlying `AVAudioSession`
55
+ * when a call is answered/ended from the system UI (lock screen, Call UI, Bluetooth, etc).
56
+ *
57
+ * WebRTC on iOS wraps `AVAudioSession` with `RTCAudioSession` and its AudioDeviceModule relies on
58
+ * being notified of those lifecycle transitions to correctly start/stop audio I/O and keep its
59
+ * internal activation state consistent (e.g. activation count, playout/recording start).
60
+ *
61
+ * If these callbacks don’t reach WebRTC, answering via the native dialer UI can result in:
62
+ * - no microphone capture / one-way audio
63
+ * - silent playout until the app forces an audio reconfiguration
64
+ * - flaky audio routing (speaker/earpiece/Bluetooth) across subsequent calls
65
+ *
66
+ * We forward CallKeep’s `didActivateAudioSession` / `didDeactivateAudioSession` events to WebRTC’s
67
+ * `RTCAudioSession.audioSessionDidActivate()` / `audioSessionDidDeactivate()` methods.
68
+ */
69
+ function didActivateAudioSession() {
70
+ logger.debug('didActivateAudioSession');
71
+ RTCAudioSession.audioSessionDidActivate();
72
+ }
73
+ function didDeactivateAudioSession() {
74
+ logger.debug('didDeactivateAudioSession');
75
+ RTCAudioSession.audioSessionDidDeactivate();
76
+ }
49
77
  function didDisplayIncomingCall(callUUID, payload) {
50
78
  const voipPushNotification = getVoipPushNotificationLib();
51
79
  // @ts-expect-error - call_cid is not part of RNCallKeepEventPayload
@@ -84,6 +112,16 @@ export function setupIosCallKeepEvents(pushConfig) {
84
112
  }) => {
85
113
  didDisplayIncomingCall(callUUID, payload);
86
114
  });
115
+ const {
116
+ remove: removeDidActivateAudioSession
117
+ } = callkeep.addEventListener('didActivateAudioSession', () => {
118
+ didActivateAudioSession();
119
+ });
120
+ const {
121
+ remove: removeDidDeactivateAudioSession
122
+ } = callkeep.addEventListener('didDeactivateAudioSession', () => {
123
+ didDeactivateAudioSession();
124
+ });
87
125
  const {
88
126
  remove: removeDidLoadWithEvents
89
127
  } = callkeep.addEventListener('didLoadWithEvents', events => {
@@ -101,6 +139,10 @@ export function setupIosCallKeepEvents(pushConfig) {
101
139
  answerCall(data.callUUID);
102
140
  } else if (name === 'RNCallKeepPerformEndCallAction') {
103
141
  endCall(data.callUUID);
142
+ } else if (name === 'RNCallKeepDidActivateAudioSession') {
143
+ didActivateAudioSession();
144
+ } else if (name === 'RNCallKeepDidDeactivateAudioSession') {
145
+ didDeactivateAudioSession();
104
146
  }
105
147
  });
106
148
  });
@@ -108,6 +150,8 @@ export function setupIosCallKeepEvents(pushConfig) {
108
150
  removeAnswerCall();
109
151
  removeEndCall();
110
152
  removeDisplayIncomingCall();
153
+ removeDidActivateAudioSession();
154
+ removeDidDeactivateAudioSession();
111
155
  removeDidLoadWithEvents();
112
156
  });
113
157
  }
@@ -1 +1 @@
1
- {"version":3,"names":["pushAcceptedIncomingCallCId$","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","voipPushNotificationCallCId$","RxUtils","videoLoggerSystem","getCallKeepLib","getVoipPushNotificationLib","clearPushWSEventSubscriptions","processCallFromPushInBackground","AppState","NativeModules","Platform","setPushLogoutCallback","setupIosCallKeepEvents","pushConfig","OS","ios","pushProviderName","android","incomingCallChannel","getLogger","debug","logger","callkeep","getCallCid","callUUID","call_cid","StreamVideoReactNative","getIncomingCallCid","voipPushNotificationCallCId","getCurrentValue","next","undefined","answerCall","then","iosCallkeepAcceptCall","endCall","iosCallkeepRejectCall","didDisplayIncomingCall","payload","voipPushNotification","currentState","uuid","cid","onVoipNotificationCompleted","remove","removeAnswerCall","addEventListener","removeEndCall","removeDisplayIncomingCall","removeDidLoadWithEvents","events","Array","isArray","length","forEach","event","name","data","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","removeIncomingCall"],"sourceRoot":"../../../../src","sources":["utils/push/setupIosCallKeepEvents.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["pushAcceptedIncomingCallCId$","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","voipPushNotificationCallCId$","RxUtils","videoLoggerSystem","getCallKeepLib","getVoipPushNotificationLib","clearPushWSEventSubscriptions","processCallFromPushInBackground","AppState","NativeModules","Platform","RTCAudioSession","setPushLogoutCallback","setupIosCallKeepEvents","pushConfig","OS","ios","pushProviderName","android","incomingCallChannel","getLogger","debug","logger","callkeep","getCallCid","callUUID","call_cid","StreamVideoReactNative","getIncomingCallCid","voipPushNotificationCallCId","getCurrentValue","next","undefined","answerCall","then","iosCallkeepAcceptCall","endCall","iosCallkeepRejectCall","didActivateAudioSession","audioSessionDidActivate","didDeactivateAudioSession","audioSessionDidDeactivate","didDisplayIncomingCall","payload","voipPushNotification","currentState","uuid","cid","onVoipNotificationCompleted","remove","removeAnswerCall","addEventListener","removeEndCall","removeDisplayIncomingCall","removeDidActivateAudioSession","removeDidDeactivateAudioSession","removeDidLoadWithEvents","events","Array","isArray","length","forEach","event","name","data","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","removeIncomingCall"],"sourceRoot":"../../../../src","sources":["utils/push/setupIosCallKeepEvents.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.28.0';
1
+ export const version = '1.28.2';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupIosCallKeepEvents.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/setupIosCallKeepEvents.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAUhE;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,QA4HnD"}
1
+ {"version":3,"file":"setupIosCallKeepEvents.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/setupIosCallKeepEvents.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAWhE;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,QA4KnD"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.28.0";
1
+ export declare const version = "1.28.2";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.28.0",
3
+ "version": "1.28.2",
4
4
  "description": "Stream Video SDK for React Native",
5
5
  "author": "https://getstream.io",
6
6
  "homepage": "https://getstream.io/video/docs/react-native/",
@@ -50,8 +50,8 @@
50
50
  "!**/.*"
51
51
  ],
52
52
  "dependencies": {
53
- "@stream-io/video-client": "1.41.0",
54
- "@stream-io/video-react-bindings": "1.13.0",
53
+ "@stream-io/video-client": "1.41.2",
54
+ "@stream-io/video-react-bindings": "1.13.2",
55
55
  "intl-pluralrules": "2.0.1",
56
56
  "lodash.merge": "^4.6.2",
57
57
  "react-native-url-polyfill": "^3.0.0",
@@ -5,9 +5,9 @@ const StreamInCallManagerNativeModule = NativeModules.StreamInCallManager;
5
5
 
6
6
  const streamRNVideoSDKGlobals: StreamRNVideoSDKGlobals = {
7
7
  callManager: {
8
- setup: ({ default_device }) => {
8
+ setup: ({ defaultDevice }) => {
9
9
  StreamInCallManagerNativeModule.setDefaultAudioDeviceEndpointType(
10
- default_device,
10
+ defaultDevice,
11
11
  );
12
12
  StreamInCallManagerNativeModule.setup();
13
13
  },
@@ -12,6 +12,7 @@ import {
12
12
  processCallFromPushInBackground,
13
13
  } from './internal/utils';
14
14
  import { AppState, NativeModules, Platform } from 'react-native';
15
+ import { RTCAudioSession } from '@stream-io/react-native-webrtc';
15
16
  import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
16
17
 
17
18
  type PushConfig = NonNullable<StreamVideoConfig['push']>;
@@ -75,6 +76,34 @@ export function setupIosCallKeepEvents(
75
76
  });
76
77
  }
77
78
 
79
+ /**
80
+ * CallKeep / CallKit audio-session events -> WebRTC (iOS)
81
+ *
82
+ * iOS CallKit is the authority that *activates* and *deactivates* the underlying `AVAudioSession`
83
+ * when a call is answered/ended from the system UI (lock screen, Call UI, Bluetooth, etc).
84
+ *
85
+ * WebRTC on iOS wraps `AVAudioSession` with `RTCAudioSession` and its AudioDeviceModule relies on
86
+ * being notified of those lifecycle transitions to correctly start/stop audio I/O and keep its
87
+ * internal activation state consistent (e.g. activation count, playout/recording start).
88
+ *
89
+ * If these callbacks don’t reach WebRTC, answering via the native dialer UI can result in:
90
+ * - no microphone capture / one-way audio
91
+ * - silent playout until the app forces an audio reconfiguration
92
+ * - flaky audio routing (speaker/earpiece/Bluetooth) across subsequent calls
93
+ *
94
+ * We forward CallKeep’s `didActivateAudioSession` / `didDeactivateAudioSession` events to WebRTC’s
95
+ * `RTCAudioSession.audioSessionDidActivate()` / `audioSessionDidDeactivate()` methods.
96
+ */
97
+ function didActivateAudioSession() {
98
+ logger.debug('didActivateAudioSession');
99
+ RTCAudioSession.audioSessionDidActivate();
100
+ }
101
+
102
+ function didDeactivateAudioSession() {
103
+ logger.debug('didDeactivateAudioSession');
104
+ RTCAudioSession.audioSessionDidDeactivate();
105
+ }
106
+
78
107
  function didDisplayIncomingCall(callUUID: string, payload: object) {
79
108
  const voipPushNotification = getVoipPushNotificationLib();
80
109
  // @ts-expect-error - call_cid is not part of RNCallKeepEventPayload
@@ -118,6 +147,20 @@ export function setupIosCallKeepEvents(
118
147
  },
119
148
  );
120
149
 
150
+ const { remove: removeDidActivateAudioSession } = callkeep.addEventListener(
151
+ 'didActivateAudioSession',
152
+ () => {
153
+ didActivateAudioSession();
154
+ },
155
+ );
156
+
157
+ const { remove: removeDidDeactivateAudioSession } = callkeep.addEventListener(
158
+ 'didDeactivateAudioSession',
159
+ () => {
160
+ didDeactivateAudioSession();
161
+ },
162
+ );
163
+
121
164
  const { remove: removeDidLoadWithEvents } = callkeep.addEventListener(
122
165
  'didLoadWithEvents',
123
166
  (events) => {
@@ -133,6 +176,10 @@ export function setupIosCallKeepEvents(
133
176
  answerCall(data.callUUID);
134
177
  } else if (name === 'RNCallKeepPerformEndCallAction') {
135
178
  endCall(data.callUUID);
179
+ } else if (name === 'RNCallKeepDidActivateAudioSession') {
180
+ didActivateAudioSession();
181
+ } else if (name === 'RNCallKeepDidDeactivateAudioSession') {
182
+ didDeactivateAudioSession();
136
183
  }
137
184
  });
138
185
  },
@@ -142,6 +189,8 @@ export function setupIosCallKeepEvents(
142
189
  removeAnswerCall();
143
190
  removeEndCall();
144
191
  removeDisplayIncomingCall();
192
+ removeDidActivateAudioSession();
193
+ removeDidDeactivateAudioSession();
145
194
  removeDidLoadWithEvents();
146
195
  });
147
196
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.28.0';
1
+ export const version = '1.28.2';