@stream-io/video-react-native-sdk 1.45.0 → 1.45.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +31 -7
  2. package/android/build.gradle +7 -1
  3. package/android/src/main/java/com/streamvideo/reactnative/audio/AudioDeviceManager.kt +110 -58
  4. package/android/src/main/java/com/streamvideo/reactnative/audio/CommunicationModeKeepAlive.kt +247 -0
  5. package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +16 -5
  6. package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +112 -26
  7. package/android/src/main/java/com/streamvideo/reactnative/util/CallAlivePermissionsHelper.kt +68 -37
  8. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +3 -1
  9. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
  10. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +38 -11
  11. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  12. package/dist/commonjs/utils/StreamVideoRN/index.js +23 -0
  13. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  14. package/dist/commonjs/utils/internal/callingx/callingx.js +37 -55
  15. package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -1
  16. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +43 -4
  17. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +1 -1
  18. package/dist/commonjs/utils/push/internal/android.js +28 -10
  19. package/dist/commonjs/utils/push/internal/android.js.map +1 -1
  20. package/dist/commonjs/version.js +1 -1
  21. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +3 -1
  22. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
  23. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +39 -12
  24. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  25. package/dist/module/utils/StreamVideoRN/index.js +23 -0
  26. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  27. package/dist/module/utils/internal/callingx/callingx.js +37 -55
  28. package/dist/module/utils/internal/callingx/callingx.js.map +1 -1
  29. package/dist/module/utils/keepCallAliveHeadlessTask.js +41 -3
  30. package/dist/module/utils/keepCallAliveHeadlessTask.js.map +1 -1
  31. package/dist/module/utils/push/internal/android.js +28 -10
  32. package/dist/module/utils/push/internal/android.js.map +1 -1
  33. package/dist/module/version.js +1 -1
  34. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -1
  35. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
  36. package/dist/typescript/utils/StreamVideoRN/index.d.ts +13 -0
  37. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  38. package/dist/typescript/utils/StreamVideoRN/types.d.ts +1 -2
  39. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  40. package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -1
  41. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +9 -0
  42. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +1 -1
  43. package/dist/typescript/utils/push/internal/android.d.ts.map +1 -1
  44. package/dist/typescript/version.d.ts +1 -1
  45. package/expo-config-plugin/dist/withAndroidPermissions.js +1 -1
  46. package/package.json +6 -6
  47. package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +13 -6
  48. package/src/hooks/useAndroidKeepCallAliveEffect.ts +59 -21
  49. package/src/modules/call-manager/native-module.d.ts +14 -0
  50. package/src/utils/StreamVideoRN/index.ts +27 -0
  51. package/src/utils/StreamVideoRN/types.ts +1 -2
  52. package/src/utils/internal/callingx/callingx.ts +47 -66
  53. package/src/utils/keepCallAliveHeadlessTask.ts +45 -3
  54. package/src/utils/push/internal/android.ts +31 -10
  55. package/src/version.ts +1 -1
@@ -41,8 +41,21 @@ function getCallDisplayName(callMembers, participants, currentUserId) {
41
41
  }
42
42
  return names.sort().join(', ');
43
43
  }
44
- function getCallDisplayNameFromCall(call) {
45
- return call.state.custom?.display_name || getCallDisplayName(call.state.members, call.state.participants, call.currentUserId);
44
+
45
+ /**
46
+ * Args shared by the callingx call registration APIs:
47
+ * `(callId, phoneNumber, callerName, hasVideo)`.
48
+ */
49
+ function getCallingxCallArgs(call) {
50
+ const callDisplayName = call.state.custom?.display_name || getCallDisplayName(call.state.members, call.state.participants, call.currentUserId);
51
+ return [call.cid,
52
+ // unique id for call
53
+ call.state.createdBy?.id ?? callDisplayName,
54
+ // handle for native call UI (prefer createdBy user id, fallback to call display name)
55
+ callDisplayName,
56
+ // display name for display in call screen
57
+ call.state.settings?.video?.enabled ?? false // is video call?
58
+ ];
46
59
  }
47
60
  async function registerOutgoingCall(call) {
48
61
  if (!CallingxModule || !CallingxModule.isSetup || call.isOwnTracksLoopbackAllowed) {
@@ -55,15 +68,7 @@ async function registerOutgoingCall(call) {
55
68
  const logger = _videoClient.videoLoggerSystem.getLogger('callingx');
56
69
  try {
57
70
  logger.debug(`registerOutgoingCall: Registering outgoing call ${call.cid}`);
58
- const callDisplayName = getCallDisplayNameFromCall(call);
59
- await CallingxModule.startCall(call.cid,
60
- // unique id for call
61
- call.state.createdBy?.id ?? callDisplayName,
62
- // handle for native call UI (prefer createdBy user id, fallback to call display name)
63
- callDisplayName,
64
- // display name for display in call screen
65
- call.state.settings?.video?.enabled ?? false // is video call?
66
- );
71
+ await CallingxModule.startCall(...getCallingxCallArgs(call));
67
72
  } catch (error) {
68
73
  logger.error(`registerOutgoingCall: Error registering outgoing call in callingx: ${call.cid}`, error);
69
74
  }
@@ -84,53 +89,30 @@ async function joinCallingxCall(call, activeCalls) {
84
89
  const logger = _videoClient.videoLoggerSystem.getLogger('callingx');
85
90
  const isOutcomingCall = call.ringing && call.isCreatedByMe;
86
91
  const isIncomingCall = call.ringing && !call.isCreatedByMe;
87
- const startCallInCallingx = async () => {
88
- logger.debug(`joinCallingxCall: Joining call ${call.cid}`);
89
- const callDisplayName = getCallDisplayNameFromCall(call);
90
- await CallingxModule.startCall(call.cid,
91
- // unique id for call
92
- call.state.createdBy?.id ?? callDisplayName,
93
- // handle for native call UI (prefer createdBy user id, fallback to call display name)
94
- callDisplayName,
95
- // display name for display in call screen
96
- call.state.settings?.video?.enabled ?? false // is video call?
97
- );
98
- };
99
- if (isOutcomingCall || !call.ringing && CallingxModule.isOngoingCallsEnabled) {
100
- try {
101
- await startCallInCallingx();
102
- } catch (error) {
103
- logger.error(`startCallingxCall: Error starting call in callingx: ${call.cid}`, error);
92
+ const isOngoingCall = c => !c.ringing && CallingxModule.isOngoingCallsEnabled && !c.isOwnTracksLoopbackAllowed;
93
+ if (!isIncomingCall && !isOutcomingCall && !isOngoingCall(call)) {
94
+ return;
95
+ }
96
+ try {
97
+ const activeCallsToLeave = activeCalls.filter(c => c.cid !== call.cid && (c.ringing || isOngoingCall(c)) && c.state.callingState !== _videoClient.CallingState.LEFT);
98
+ for (const activeCall of activeCallsToLeave) {
99
+ logger.debug(`leaving currently-active-call:${activeCall.cid} before joining the call:${call.cid}`);
100
+ await activeCall.leave({
101
+ reason: 'cancel'
102
+ }).catch(e => {
103
+ logger.error(`failed to leave active call ${activeCall.cid}`, e);
104
+ });
104
105
  }
105
- } else if (isIncomingCall) {
106
- logger.debug(`joinCallingxCall: Joining incoming call ${call.cid}`);
107
- try {
108
- // Leave any existing active ringing calls before joining a new ringing call
109
- const activeCallsToLeave = activeCalls.filter(c => c.cid !== call.cid && c.ringing && c.state.callingState !== _videoClient.CallingState.LEFT);
110
- for (const activeCall of activeCallsToLeave) {
111
- logger.debug(`leaving active call ${activeCall.cid} before joining ${call.cid}`);
112
- await activeCall.leave({
113
- reason: 'cancel'
114
- }).catch(e => {
115
- logger.error(`failed to leave active call ${activeCall.cid}`, e);
116
- });
117
- }
118
- // Awaits native CallKit/Telecom registration before answering.
119
- // Safe to call even if the call is already registered (e.g. from VoIP push) --
120
- // iOS early-returns with no error, Android sends the registered broadcast.
121
- const callDisplayName = getCallDisplayNameFromCall(call);
122
- await CallingxModule.displayIncomingCall(call.cid,
123
- // unique id for call
124
- call.state.createdBy?.id ?? callDisplayName,
125
- // handle for native call UI (prefer createdBy user id, fallback to call display name)
126
- callDisplayName,
127
- // display name for display in call screen
128
- call.state.settings?.video?.enabled ?? false // is video call?
129
- );
106
+ logger.debug(`joinCallingxCall: Joining call ${call.cid} isIncoming: ${isIncomingCall} isOutgoing: ${isOutcomingCall}`);
107
+ const callArgs = getCallingxCallArgs(call);
108
+ if (isIncomingCall) {
109
+ await CallingxModule.displayIncomingCall(...callArgs);
130
110
  await CallingxModule.answerIncomingCall(call.cid);
131
- } catch (error) {
132
- logger.error(`Error joining incoming call in callingx: ${call.cid}`, error);
111
+ } else {
112
+ await CallingxModule.startCall(...callArgs);
133
113
  }
114
+ } catch (error) {
115
+ logger.error(`startCallingxCall: Error starting call in callingx: ${call.cid} isIncoming: ${isIncomingCall} isOutgoing: ${isOutcomingCall}`, error);
134
116
  }
135
117
  }
136
118
  async function endCallingxCall(call, reason) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_callingx","_videoClient","CallingxModule","getCallingxLibIfAvailable","getCallDisplayName","callMembers","participants","currentUserId","names","length","flatMap","member","user","id","name","participant","userId","find","sort","join","getCallDisplayNameFromCall","call","state","custom","display_name","members","registerOutgoingCall","isSetup","isOwnTracksLoopbackAllowed","isOutcomingCall","ringing","isCreatedByMe","logger","videoLoggerSystem","getLogger","debug","cid","callDisplayName","startCall","createdBy","settings","video","enabled","error","joinCallingxCall","activeCalls","isIncomingCall","startCallInCallingx","isOngoingCallsEnabled","activeCallsToLeave","filter","c","callingState","CallingState","LEFT","activeCall","leave","reason","catch","e","displayIncomingCall","answerIncomingCall","endCallingxCall","isCallTracked","endCallWithReason","wireAudioEngineSubscription","Platform","OS","unwireAudioEngineSubscription"],"sourceRoot":"../../../../../src","sources":["utils/internal/callingx/callingx.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_callingx","_videoClient","CallingxModule","getCallingxLibIfAvailable","getCallDisplayName","callMembers","participants","currentUserId","names","length","flatMap","member","user","id","name","participant","userId","find","sort","join","getCallingxCallArgs","call","callDisplayName","state","custom","display_name","members","cid","createdBy","settings","video","enabled","registerOutgoingCall","isSetup","isOwnTracksLoopbackAllowed","isOutcomingCall","ringing","isCreatedByMe","logger","videoLoggerSystem","getLogger","debug","startCall","error","joinCallingxCall","activeCalls","isIncomingCall","isOngoingCall","c","isOngoingCallsEnabled","activeCallsToLeave","filter","callingState","CallingState","LEFT","activeCall","leave","reason","catch","e","callArgs","displayIncomingCall","answerIncomingCall","endCallingxCall","isCallTracked","endCallWithReason","wireAudioEngineSubscription","Platform","OS","unwireAudioEngineSubscription"],"sourceRoot":"../../../../../src","sources":["utils/internal/callingx/callingx.ts"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.keepCallAliveCallRef = exports.KEEP_CALL_ALIVE_HEADLESS_TASK_NAME = void 0;
6
+ exports.keepCallAliveCallRef = exports.endKeepCallAliveHeadlessTask = exports.KEEP_CALL_ALIVE_HEADLESS_TASK_NAME = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _videoClient = require("@stream-io/video-client");
9
9
  var _StreamVideoRN = require("./StreamVideoRN");
@@ -16,6 +16,21 @@ const KEEP_CALL_ALIVE_HEADLESS_TASK_NAME = exports.KEEP_CALL_ALIVE_HEADLESS_TASK
16
16
  const keepCallAliveCallRef = exports.keepCallAliveCallRef = {
17
17
  current: undefined
18
18
  };
19
+ let resolveRunningTask;
20
+
21
+ /**
22
+ * Ends the currently running keep-alive headless task.
23
+ *
24
+ * The task's promise is app-provided (`foregroundService.android.taskToRun`) and by default never
25
+ * resolves, so stopping the native service alone would leave the task registered in
26
+ * `HeadlessJsTaskContext` forever - which keeps RN's timer choreographer callback posted for the
27
+ * rest of the process lifetime. Resolving it here lets React Native unwind the task properly.
28
+ */
29
+ const endKeepCallAliveHeadlessTask = () => {
30
+ resolveRunningTask?.();
31
+ resolveRunningTask = undefined;
32
+ };
33
+ exports.endKeepCallAliveHeadlessTask = endKeepCallAliveHeadlessTask;
19
34
  function registerKeepCallAliveHeadlessTaskOnce() {
20
35
  if (_reactNative.Platform.OS !== 'android') return;
21
36
  _reactNative.AppRegistry.registerHeadlessTask(KEEP_CALL_ALIVE_HEADLESS_TASK_NAME, () => async data => {
@@ -37,10 +52,34 @@ function registerKeepCallAliveHeadlessTaskOnce() {
37
52
  }
38
53
  const config = _StreamVideoRN.StreamVideoRN.getConfig();
39
54
  const taskToRun = config.foregroundService.android.taskToRun;
55
+ // A previous task (if any) must not keep hanging around.
56
+ endKeepCallAliveHeadlessTask();
57
+ const taskEnded = new Promise(resolve => {
58
+ resolveRunningTask = resolve;
59
+ });
60
+ const ownResolver = resolveRunningTask;
61
+
62
+ // React Native stops the foreground service as soon as the promise returned from here
63
+ // settles. `taskToRun` is app-provided and may resolve early - or immediately - so its
64
+ // completion must not end the keep-alive: that would drop the call's background protection
65
+ // while the call is still ongoing. The task's lifetime is owned by the SDK instead, and ends
66
+ // via endKeepCallAliveHeadlessTask() when the call is left.
67
+ (async () => {
68
+ try {
69
+ await taskToRun(call);
70
+ logger.debug('Keep-alive taskToRun completed, keeping the call alive until the call ends');
71
+ } catch (e) {
72
+ logger.error('Keep-alive headless task failed', e);
73
+ }
74
+ })();
40
75
  try {
41
- await taskToRun(call);
42
- } catch (e) {
43
- logger.error('Keep-alive headless task failed', e);
76
+ await taskEnded;
77
+ } finally {
78
+ // a newer task may already have installed its own resolver - clearing it here would leave
79
+ // that task with no way to be ended.
80
+ if (resolveRunningTask === ownResolver) {
81
+ resolveRunningTask = undefined;
82
+ }
44
83
  }
45
84
  });
46
85
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_videoClient","_StreamVideoRN","KEEP_CALL_ALIVE_HEADLESS_TASK_NAME","exports","keepCallAliveCallRef","current","undefined","registerKeepCallAliveHeadlessTaskOnce","Platform","OS","AppRegistry","registerHeadlessTask","data","logger","videoLoggerSystem","getLogger","callCid","call","warn","cid","activeCallCid","config","StreamVideoRN","getConfig","taskToRun","foregroundService","android","e","error"],"sourceRoot":"../../../src","sources":["utils/keepCallAliveHeadlessTask.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEO,MAAMG,kCAAkC,GAAAC,OAAA,CAAAD,kCAAA,GAAG,0BAA0B;;AAE5E;AACA;AACA;AACA;AACO,MAAME,oBAAmD,GAAAD,OAAA,CAAAC,oBAAA,GAAG;EACjEC,OAAO,EAAEC;AACX,CAAC;AAED,SAASC,qCAAqCA,CAAA,EAAG;EAC/C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;EAE/BC,wBAAW,CAACC,oBAAoB,CAC9BT,kCAAkC,EAClC,MAAM,MAAOU,IAAsC,IAAK;IACtD,MAAMC,MAAM,GAAGC,8BAAiB,CAACC,SAAS,CACxC,+BACF,CAAC;IACD,MAAMC,OAAO,GAAGJ,IAAI,EAAEI,OAAO;IAE7B,MAAMC,IAAI,GAAGb,oBAAoB,CAACC,OAAO;IACzC,IAAI,CAACY,IAAI,EAAE;MACTJ,MAAM,CAACK,IAAI,CACT,kEAAkE,EAClE;QAAEF;MAAQ,CACZ,CAAC;MACD;IACF;IACA,IAAIA,OAAO,IAAIC,IAAI,CAACE,GAAG,IAAIF,IAAI,CAACE,GAAG,KAAKH,OAAO,EAAE;MAC/CH,MAAM,CAACK,IAAI,CACT,+DAA+D,EAC/D;QAAEF,OAAO;QAAEI,aAAa,EAAEH,IAAI,CAACE;MAAI,CACrC,CAAC;MACD;IACF;IAEA,MAAME,MAAM,GAAGC,4BAAa,CAACC,SAAS,CAAC,CAAC;IACxC,MAAMC,SAAS,GAAGH,MAAM,CAACI,iBAAiB,CAACC,OAAO,CAACF,SAAS;IAC5D,IAAI;MACF,MAAMA,SAAS,CAACP,IAAI,CAAC;IACvB,CAAC,CAAC,OAAOU,CAAC,EAAE;MACVd,MAAM,CAACe,KAAK,CAAC,iCAAiC,EAAED,CAAC,CAAC;IACpD;EACF,CACF,CAAC;AACH;AAEApB,qCAAqC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_videoClient","_StreamVideoRN","KEEP_CALL_ALIVE_HEADLESS_TASK_NAME","exports","keepCallAliveCallRef","current","undefined","resolveRunningTask","endKeepCallAliveHeadlessTask","registerKeepCallAliveHeadlessTaskOnce","Platform","OS","AppRegistry","registerHeadlessTask","data","logger","videoLoggerSystem","getLogger","callCid","call","warn","cid","activeCallCid","config","StreamVideoRN","getConfig","taskToRun","foregroundService","android","taskEnded","Promise","resolve","ownResolver","debug","e","error"],"sourceRoot":"../../../src","sources":["utils/keepCallAliveHeadlessTask.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEO,MAAMG,kCAAkC,GAAAC,OAAA,CAAAD,kCAAA,GAAG,0BAA0B;;AAE5E;AACA;AACA;AACA;AACO,MAAME,oBAAmD,GAAAD,OAAA,CAAAC,oBAAA,GAAG;EACjEC,OAAO,EAAEC;AACX,CAAC;AAED,IAAIC,kBAA4C;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,4BAA4B,GAAGA,CAAA,KAAM;EAChDD,kBAAkB,GAAG,CAAC;EACtBA,kBAAkB,GAAGD,SAAS;AAChC,CAAC;AAACH,OAAA,CAAAK,4BAAA,GAAAA,4BAAA;AAEF,SAASC,qCAAqCA,CAAA,EAAG;EAC/C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;EAE/BC,wBAAW,CAACC,oBAAoB,CAC9BX,kCAAkC,EAClC,MAAM,MAAOY,IAAsC,IAAK;IACtD,MAAMC,MAAM,GAAGC,8BAAiB,CAACC,SAAS,CACxC,+BACF,CAAC;IACD,MAAMC,OAAO,GAAGJ,IAAI,EAAEI,OAAO;IAE7B,MAAMC,IAAI,GAAGf,oBAAoB,CAACC,OAAO;IACzC,IAAI,CAACc,IAAI,EAAE;MACTJ,MAAM,CAACK,IAAI,CACT,kEAAkE,EAClE;QAAEF;MAAQ,CACZ,CAAC;MACD;IACF;IACA,IAAIA,OAAO,IAAIC,IAAI,CAACE,GAAG,IAAIF,IAAI,CAACE,GAAG,KAAKH,OAAO,EAAE;MAC/CH,MAAM,CAACK,IAAI,CACT,+DAA+D,EAC/D;QAAEF,OAAO;QAAEI,aAAa,EAAEH,IAAI,CAACE;MAAI,CACrC,CAAC;MACD;IACF;IAEA,MAAME,MAAM,GAAGC,4BAAa,CAACC,SAAS,CAAC,CAAC;IACxC,MAAMC,SAAS,GAAGH,MAAM,CAACI,iBAAiB,CAACC,OAAO,CAACF,SAAS;IAC5D;IACAlB,4BAA4B,CAAC,CAAC;IAC9B,MAAMqB,SAAS,GAAG,IAAIC,OAAO,CAAQC,OAAO,IAAK;MAC/CxB,kBAAkB,GAAGwB,OAAO;IAC9B,CAAC,CAAC;IACF,MAAMC,WAAW,GAAGzB,kBAAkB;;IAEtC;IACA;IACA;IACA;IACA;IACA,CAAC,YAAY;MACX,IAAI;QACF,MAAMmB,SAAS,CAACP,IAAI,CAAC;QACrBJ,MAAM,CAACkB,KAAK,CACV,4EACF,CAAC;MACH,CAAC,CAAC,OAAOC,CAAC,EAAE;QACVnB,MAAM,CAACoB,KAAK,CAAC,iCAAiC,EAAED,CAAC,CAAC;MACpD;IACF,CAAC,EAAE,CAAC;IAEJ,IAAI;MACF,MAAML,SAAS;IACjB,CAAC,SAAS;MACR;MACA;MACA,IAAItB,kBAAkB,KAAKyB,WAAW,EAAE;QACtCzB,kBAAkB,GAAGD,SAAS;MAChC;IACF;EACF,CACF,CAAC;AACH;AAEAG,qCAAqC,CAAC,CAAC","ignoreList":[]}
@@ -50,6 +50,32 @@ const onRingNotificationReceived = async data => {
50
50
  nativeLog(`Finishing background task for callCid: ${call_cid}`);
51
51
  callingx.releaseBackgroundTask(backgroundTaskOwner);
52
52
  };
53
+
54
+ /**
55
+ * Gives up on this push: dismisses the call the native push path already displayed, then asks
56
+ * the call service to stop. `stopService` is only a request — it no-ops while any other call is
57
+ * registered or being registered — so this call must be ended explicitly rather than relying on
58
+ * the service teardown to wipe it.
59
+ */
60
+ const abandonPush = async () => {
61
+ if (asForegroundService) {
62
+ finishBackgroundTask();
63
+ }
64
+ // Each step is contained on its own: failing to dismiss the call must not skip the stop
65
+ // request, and neither may skip the unsubscription cleanup — a stale entry makes every later
66
+ // push for this cid look like a duplicate and get discarded.
67
+ try {
68
+ await callingx.endCallWithReason(call_cid, 'error');
69
+ } catch (error) {
70
+ nativeLog(`Failed to end call ${call_cid}: ${error}`, 'error');
71
+ }
72
+ try {
73
+ await callingx.stopService();
74
+ } catch (error) {
75
+ nativeLog(`Failed to stop the call service for ${call_cid}: ${error}`, 'error');
76
+ }
77
+ _constants.pushUnsubscriptionCallbacks.delete(call_cid);
78
+ };
53
79
  if (asForegroundService) {
54
80
  // initialize the callback array immediately to avoid race condition
55
81
  _constants.pushUnsubscriptionCallbacks.set(call_cid, []);
@@ -65,21 +91,13 @@ const onRingNotificationReceived = async data => {
65
91
  client = await pushConfig.createStreamVideoClient();
66
92
  if (!client) {
67
93
  nativeLog(`video client not found, skipping the call.ring notification`);
68
- if (asForegroundService) {
69
- finishBackgroundTask();
70
- }
71
- await callingx.stopService();
72
- _constants.pushUnsubscriptionCallbacks.delete(call_cid);
94
+ await abandonPush();
73
95
  return;
74
96
  }
75
97
  } catch (error) {
76
98
  //we need to release the background task and stop the service to avoid stale owner
77
99
  nativeLog(`Failed to create video client: ${error}`, 'error');
78
- if (asForegroundService) {
79
- finishBackgroundTask();
80
- }
81
- await callingx.stopService();
82
- _constants.pushUnsubscriptionCallbacks.delete(call_cid);
100
+ await abandonPush();
83
101
  return;
84
102
  }
85
103
  if (asForegroundService) {
@@ -1 +1 @@
1
- {"version":3,"names":["_videoClient","require","_reactNative","_libs","_StreamVideoRN","_constants","_utils","onRingNotificationReceived","data","Platform","OS","nativeLog","message","level","getCallingxLibIfAvailable","log","pushConfig","StreamVideoRN","getConfig","push","sender","type","call_cid","callingx","getCallingxLib","pushUnsubscriptionCallbacks","has","asForegroundService","canListenToWS","backgroundTaskOwner","finishBackgroundTask","releaseBackgroundTask","set","acquireBackgroundTask","catch","e","client","createStreamVideoClient","stopService","delete","error","callFromPush","onRingingCall","mustEndCall","endCallReason","shouldCallBeClosed","endCallWithReason","leave","reject","unsubscribeFunctions","get","unsubscribe","on","event","_canListenToWS","forEach","fn","mustEndCallFromEvent","endCallReasonFromEvent","stateSubscription","state","callingState$","subscribe","callingState","CallingState","IDLE","LEFT","appStateSubscription","AppState","addEventListener","nextAppState","remove","exports"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/android.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoClient","require","_reactNative","_libs","_StreamVideoRN","_constants","_utils","onRingNotificationReceived","data","Platform","OS","nativeLog","message","level","getCallingxLibIfAvailable","log","pushConfig","StreamVideoRN","getConfig","push","sender","type","call_cid","callingx","getCallingxLib","pushUnsubscriptionCallbacks","has","asForegroundService","canListenToWS","backgroundTaskOwner","finishBackgroundTask","releaseBackgroundTask","abandonPush","endCallWithReason","error","stopService","delete","set","acquireBackgroundTask","catch","e","client","createStreamVideoClient","callFromPush","onRingingCall","mustEndCall","endCallReason","shouldCallBeClosed","leave","reject","unsubscribeFunctions","get","unsubscribe","on","event","_canListenToWS","forEach","fn","mustEndCallFromEvent","endCallReasonFromEvent","stateSubscription","state","callingState$","subscribe","callingState","CallingState","IDLE","LEFT","appStateSubscription","AppState","addEventListener","nextAppState","remove","exports"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/android.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.45.0';
7
+ const version = exports.version = '1.45.2';
8
8
  //# sourceMappingURL=version.js.map
@@ -81,7 +81,9 @@ export const useCallingExpWithCallingStateEffect = () => {
81
81
  logger.debug(`useCallingExpWithCallingStateEffect:No active call cid to update callingx: ${activeCallCid} isCallTracked: ${isCallTracked}`);
82
82
  return;
83
83
  }
84
- callingx.updateDisplay(activeCallCid, createdByUserId ?? callDisplayName, callDisplayName, isIncoming);
84
+ callingx.updateDisplay(activeCallCid, createdByUserId ?? callDisplayName, callDisplayName, isIncoming).catch(error => {
85
+ logger.debug(`useCallingExpWithCallingStateEffect: Error updating display in callingx: ${activeCallCid}`, error);
86
+ });
85
87
  }, [activeCallCid, createdByUserId, callDisplayName, isIncoming]);
86
88
 
87
89
  // Sync microphone mute state from app → CallKit
@@ -1 +1 @@
1
- {"version":3,"names":["CallingState","videoLoggerSystem","useCall","useCallStateHooks","useEffect","useMemo","Platform","AudioDeviceModule","filter","take","getCallDisplayName","getCallingxLibIfAvailable","logger","getLogger","useCallingExpWithCallingStateEffect","useMicrophoneState","useParticipants","useCallMembers","activeCall","optimisticStatus","microphone","callMembers","participants","activeCallCid","cid","createdByUserId","state","createdBy","id","callCustomDisplayName","custom","display_name","currentUserId","isIncoming","ringing","isCreatedByMe","callDisplayName","callingx","isSetup","shouldMakeCallActive","call","isOngoingCallsEnabled","subscription","callingState$","pipe","callingState","JOINED","isCallTracked","subscribe","setCurrentCallActive","unsubscribe","debug","endCallWithReason","catch","error","updateDisplay","undefined","setMutedCall","addEventListener","event","callId","muted","isCurrentlyMuted","disable","enable","remove","activateSubscription","tracer","trace","deactivateSubscription","OS","timeouts","Set","traceRecordingState","trigger","status","isRecording","isEngineRunning","isMicrophoneMuted","warn","scheduleCheck","delayMs","timeout","setTimeout","delete","add","joinedSubscription","activationSubscription","forEach","clearTimeout","clear"],"sourceRoot":"../../../../src","sources":["hooks/push/useCallingExpWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CallingState","videoLoggerSystem","useCall","useCallStateHooks","useEffect","useMemo","Platform","AudioDeviceModule","filter","take","getCallDisplayName","getCallingxLibIfAvailable","logger","getLogger","useCallingExpWithCallingStateEffect","useMicrophoneState","useParticipants","useCallMembers","activeCall","optimisticStatus","microphone","callMembers","participants","activeCallCid","cid","createdByUserId","state","createdBy","id","callCustomDisplayName","custom","display_name","currentUserId","isIncoming","ringing","isCreatedByMe","callDisplayName","callingx","isSetup","shouldMakeCallActive","call","isOngoingCallsEnabled","subscription","callingState$","pipe","callingState","JOINED","isCallTracked","subscribe","setCurrentCallActive","unsubscribe","debug","endCallWithReason","catch","error","updateDisplay","undefined","setMutedCall","addEventListener","event","callId","muted","isCurrentlyMuted","disable","enable","remove","activateSubscription","tracer","trace","deactivateSubscription","OS","timeouts","Set","traceRecordingState","trigger","status","isRecording","isEngineRunning","isMicrophoneMuted","warn","scheduleCheck","delayMs","timeout","setTimeout","delete","add","joinedSubscription","activationSubscription","forEach","clearTimeout","clear"],"sourceRoot":"../../../../src","sources":["hooks/push/useCallingExpWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { useEffect, useRef } from 'react';
5
5
  import { StreamVideoRN } from '../utils';
6
6
  import { AppState, NativeModules, PermissionsAndroid, Platform } from 'react-native';
7
7
  import { CallingState, videoLoggerSystem } from '@stream-io/video-client';
8
- import { keepCallAliveCallRef } from '../utils/keepCallAliveHeadlessTask';
8
+ import { endKeepCallAliveHeadlessTask, keepCallAliveCallRef } from '../utils/keepCallAliveHeadlessTask';
9
9
  import { getCallingxLibIfAvailable } from '../utils/push/libs';
10
10
  async function stopForegroundServiceNoThrow() {
11
11
  const logger = videoLoggerSystem.getLogger('stopForegroundServiceNoThrow');
@@ -15,6 +15,10 @@ async function stopForegroundServiceNoThrow() {
15
15
  logger.warn('Failed to stop keep-call-alive foreground service', e);
16
16
  }
17
17
  }
18
+
19
+ /**
20
+ * @returns true when the native foreground service was asked to start.
21
+ */
18
22
  async function startForegroundService(call_cid) {
19
23
  const logger = videoLoggerSystem.getLogger('startForegroundService');
20
24
  const isCallAliveConfigured = await (async () => {
@@ -26,14 +30,14 @@ async function startForegroundService(call_cid) {
26
30
  }
27
31
  })();
28
32
  if (!isCallAliveConfigured) {
29
- logger.info('KeepCallAlive is not configured. Skipping foreground service setup.');
30
- return;
33
+ logger.warn('KeepCallAlive is not configured, the call will not survive the app going to the ' + 'background: audio publishing stops and the user is eventually dropped from the call. ' + 'Declare android.permission.FOREGROUND_SERVICE and ' + 'android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK in the app manifest (see logcat, ' + 'tag StreamVideoReactNative, for the exact list of missing permissions).');
34
+ return false;
31
35
  }
32
36
  // Check for notification permission (Android 13+) before starting the service.
33
37
  const hasPostNotificationsPermission = Number(Platform.Version) < 33 || (await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS));
34
38
  if (!hasPostNotificationsPermission) {
35
39
  logger.info('Notification permission not granted, can not start foreground service to keep the call alive');
36
- return;
40
+ return false;
37
41
  }
38
42
  const videoConfig = StreamVideoRN.getConfig();
39
43
  const foregroundServiceConfig = videoConfig.foregroundService;
@@ -44,12 +48,25 @@ async function startForegroundService(call_cid) {
44
48
  // NOTE: we use requestAnimationFrame to ensure that the foreground service is started after all the current UI operations are done
45
49
  // this is a workaround for the crash - android.app.RemoteServiceException$ForegroundServiceDidNotStartInTimeException: Context.startForegroundService() did not then call Service.startForeground()
46
50
  // this crash was reproducible only in some android devices
47
- requestAnimationFrame(async () => {
48
- try {
49
- await NativeModules.StreamVideoReactNative.startKeepCallAliveService(call_cid, channel.id, channel.name, notificationTexts.title, notificationTexts.body, smallIconName ?? null);
50
- } catch (e) {
51
- logger.warn('Failed to start keep-call-alive foreground service', e);
52
- }
51
+ return new Promise(resolve => {
52
+ requestAnimationFrame(async () => {
53
+ // The service declares the camera/microphone foreground service types, which are
54
+ // while-in-use permissions: Android requires startForegroundService() to be called while the
55
+ // app has a visible activity, otherwise the start is rejected. The frame we deferred to can
56
+ // land after the app left the foreground, so re-check before calling native.
57
+ if (AppState.currentState !== 'active') {
58
+ logger.info('App is no longer in the foreground, not starting the keep-call-alive foreground service');
59
+ resolve(false);
60
+ return;
61
+ }
62
+ try {
63
+ await NativeModules.StreamVideoReactNative.startKeepCallAliveService(call_cid, channel.id, channel.name, notificationTexts.title, notificationTexts.body, smallIconName ?? null);
64
+ resolve(true);
65
+ } catch (e) {
66
+ logger.warn('Failed to start keep-call-alive foreground service', e);
67
+ resolve(false);
68
+ }
69
+ });
53
70
  });
54
71
  }
55
72
 
@@ -110,8 +127,15 @@ export const useAndroidKeepCallAliveEffect = () => {
110
127
  if (foregroundServiceStartedRef.current) {
111
128
  return;
112
129
  }
113
- await startForegroundService(activeCallCid);
114
- foregroundServiceStartedRef.current = true;
130
+ try {
131
+ // only mark as started when native actually accepted the start, so that a later render
132
+ // while still joined can retry.
133
+ foregroundServiceStartedRef.current = await startForegroundService(activeCallCid);
134
+ } catch (e) {
135
+ // run() is intentionally not awaited, so anything thrown here would surface as an
136
+ // unhandled rejection. Leave the ref false so a later render can retry.
137
+ videoLoggerSystem.getLogger('useAndroidKeepCallAliveEffect').warn('Failed to start the keep-call-alive foreground service', e);
138
+ }
115
139
  };
116
140
 
117
141
  // ensure that app is active before running the function
@@ -130,6 +154,8 @@ export const useAndroidKeepCallAliveEffect = () => {
130
154
  } else if (isCallEnded) {
131
155
  if (foregroundServiceStartedRef.current) {
132
156
  keepCallAliveCallRef.current = undefined;
157
+ // let the headless task resolve so RN unwinds it, then stop the foreground service
158
+ endKeepCallAliveHeadlessTask();
133
159
  // stop foreground service when the call is not active
134
160
  stopForegroundServiceNoThrow();
135
161
  foregroundServiceStartedRef.current = false;
@@ -142,6 +168,7 @@ export const useAndroidKeepCallAliveEffect = () => {
142
168
  // stop foreground service when this effect is unmounted
143
169
  if (foregroundServiceStartedRef.current) {
144
170
  keepCallAliveCallRef.current = undefined;
171
+ endKeepCallAliveHeadlessTask();
145
172
  stopForegroundServiceNoThrow();
146
173
  foregroundServiceStartedRef.current = false;
147
174
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","AppState","NativeModules","PermissionsAndroid","Platform","CallingState","videoLoggerSystem","keepCallAliveCallRef","getCallingxLibIfAvailable","stopForegroundServiceNoThrow","logger","getLogger","StreamVideoReactNative","stopKeepCallAliveService","e","warn","startForegroundService","call_cid","isCallAliveConfigured","info","hasPostNotificationsPermission","Number","Version","check","PERMISSIONS","POST_NOTIFICATIONS","videoConfig","getConfig","foregroundServiceConfig","foregroundService","notificationTexts","android","channel","smallIconName","push","smallIcon","requestAnimationFrame","startKeepCallAliveService","id","name","title","body","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","callingxKeepAliveOwnerRef","undefined","call","current","activeCallCid","cid","useCallCallingState","callingState","isCallJoined","JOINED","isRingingCall","ringing","shouldStartForegroundService","OS","callingx","isCallingxManaged","isSetup","isOngoingCallsEnabled","isCallEnded","IDLE","LEFT","currentOwner","releaseBackgroundTask","catch","owner","acquireBackgroundTask","run","currentState","sub","addEventListener","nextAppState","remove"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","AppState","NativeModules","PermissionsAndroid","Platform","CallingState","videoLoggerSystem","endKeepCallAliveHeadlessTask","keepCallAliveCallRef","getCallingxLibIfAvailable","stopForegroundServiceNoThrow","logger","getLogger","StreamVideoReactNative","stopKeepCallAliveService","e","warn","startForegroundService","call_cid","isCallAliveConfigured","hasPostNotificationsPermission","Number","Version","check","PERMISSIONS","POST_NOTIFICATIONS","info","videoConfig","getConfig","foregroundServiceConfig","foregroundService","notificationTexts","android","channel","smallIconName","push","smallIcon","Promise","resolve","requestAnimationFrame","currentState","startKeepCallAliveService","id","name","title","body","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","callingxKeepAliveOwnerRef","undefined","call","current","activeCallCid","cid","useCallCallingState","callingState","isCallJoined","JOINED","isRingingCall","ringing","shouldStartForegroundService","OS","callingx","isCallingxManaged","isSetup","isOngoingCallsEnabled","isCallEnded","IDLE","LEFT","currentOwner","releaseBackgroundTask","catch","owner","acquireBackgroundTask","run","sub","addEventListener","nextAppState","remove"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -127,6 +127,29 @@ export class StreamVideoRN {
127
127
  pushLogoutCallbacks.current = [];
128
128
  }
129
129
 
130
+ /**
131
+ * Android only. Opt out of the Android 11+ communication-mode keep-alive.
132
+ *
133
+ * By default the SDK plays a silent voice-communication track for the duration of a
134
+ * communicator-role call, so Android does not reset `MODE_IN_COMMUNICATION` ~6s after it is
135
+ * set (which breaks audio routing and echo cancellation).
136
+ * See {@link https://issuetracker.google.com/issues/209493718}
137
+ *
138
+ * Call this at app start, alongside {@link setPushConfig} — the native audio manager
139
+ * rejects the change once it has been activated for a call. No-op on iOS and on
140
+ * Android below API 30.
141
+ */
142
+ static setDisableCommunicationModeWorkaround(disabled) {
143
+ if (Platform.OS !== 'android') {
144
+ return;
145
+ }
146
+ try {
147
+ NativeModules.StreamInCallManager?.setDisableCommunicationModeWorkaround(disabled);
148
+ } catch (error) {
149
+ videoLoggerSystem.getLogger('StreamVideoRN').warn('setDisableCommunicationModeWorkaround failed', error);
150
+ }
151
+ }
152
+
130
153
  /**
131
154
  * Play native busy tone for call rejection
132
155
  */
@@ -1 +1 @@
1
- {"version":3,"names":["pushLogoutCallbacks","setupIosVoipPushEvents","setupAndroidPushEvents","setupCallingExpEvents","extractCallingExpOptions","getCallingxLib","NativeModules","Platform","videoLoggerSystem","deepMerge","target","source","result","key","undefined","Array","isArray","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","notificationTexts","title","body","taskToRun","Promise","StreamVideoRN","config","updateConfig","setPushConfig","pushConfig","push","callingx","getLogger","info","JSON","stringify","options","setup","Error","getConfig","onPushLogout","callbacks","current","resolve","all","map","callback","then","clearPushLogoutCallbacks","playBusyTone","StreamVideoReactNative","stopBusyTone","androidHasAudioOutputHardware","OS","hasAudioOutputHardware","androidHasMicrophoneHardware","hasMicrophoneHardware","androidHasCameraHardware","hasCameraHardware"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["pushLogoutCallbacks","setupIosVoipPushEvents","setupAndroidPushEvents","setupCallingExpEvents","extractCallingExpOptions","getCallingxLib","NativeModules","Platform","videoLoggerSystem","deepMerge","target","source","result","key","undefined","Array","isArray","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","notificationTexts","title","body","taskToRun","Promise","StreamVideoRN","config","updateConfig","setPushConfig","pushConfig","push","callingx","getLogger","info","JSON","stringify","options","setup","Error","getConfig","onPushLogout","callbacks","current","resolve","all","map","callback","then","clearPushLogoutCallbacks","setDisableCommunicationModeWorkaround","disabled","OS","StreamInCallManager","error","warn","playBusyTone","StreamVideoReactNative","stopBusyTone","androidHasAudioOutputHardware","hasAudioOutputHardware","androidHasMicrophoneHardware","hasMicrophoneHardware","androidHasCameraHardware","hasCameraHardware"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"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","ignoreList":[]}