@stream-io/video-react-native-sdk 1.45.1 → 1.46.0

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 (118) hide show
  1. package/CHANGELOG.md +36 -2
  2. package/android/build.gradle +7 -1
  3. package/dist/commonjs/components/Call/CallContent/CallContent.js +1 -1
  4. package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
  5. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +78 -7
  6. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  7. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +3 -0
  8. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  9. package/dist/commonjs/components/Call/RingingCallContent/OutgoingCall.js +4 -12
  10. package/dist/commonjs/components/Call/RingingCallContent/OutgoingCall.js.map +1 -1
  11. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js +27 -4
  12. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js.map +1 -1
  13. package/dist/commonjs/index.js +14 -1
  14. package/dist/commonjs/index.js.map +1 -1
  15. package/dist/commonjs/modules/encryption/EncryptionManager.js +305 -0
  16. package/dist/commonjs/modules/encryption/EncryptionManager.js.map +1 -0
  17. package/dist/commonjs/modules/encryption/eventMapping.js +143 -0
  18. package/dist/commonjs/modules/encryption/eventMapping.js.map +1 -0
  19. package/dist/commonjs/modules/encryption/index.js +13 -0
  20. package/dist/commonjs/modules/encryption/index.js.map +1 -0
  21. package/dist/commonjs/modules/encryption/parity.js +6 -0
  22. package/dist/commonjs/modules/encryption/parity.js.map +1 -0
  23. package/dist/commonjs/utils/StreamVideoRN/index.js +23 -0
  24. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  25. package/dist/commonjs/utils/internal/callingx/callingx.js +29 -4
  26. package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -1
  27. package/dist/commonjs/utils/internal/iosPipTrack.js +41 -0
  28. package/dist/commonjs/utils/internal/iosPipTrack.js.map +1 -0
  29. package/dist/commonjs/utils/internal/registerSDKGlobals.js +6 -0
  30. package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
  31. package/dist/commonjs/utils/internal/ringingCallLifecycle.js +142 -0
  32. package/dist/commonjs/utils/internal/ringingCallLifecycle.js.map +1 -0
  33. package/dist/commonjs/utils/push/internal/utils.js +4 -0
  34. package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
  35. package/dist/commonjs/version.js +1 -1
  36. package/dist/module/components/Call/CallContent/CallContent.js +1 -1
  37. package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
  38. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +80 -9
  39. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  40. package/dist/module/components/Call/CallContent/RTCViewPipNative.js +3 -0
  41. package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  42. package/dist/module/components/Call/RingingCallContent/OutgoingCall.js +4 -12
  43. package/dist/module/components/Call/RingingCallContent/OutgoingCall.js.map +1 -1
  44. package/dist/module/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js +28 -5
  45. package/dist/module/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js.map +1 -1
  46. package/dist/module/index.js +5 -0
  47. package/dist/module/index.js.map +1 -1
  48. package/dist/module/modules/encryption/EncryptionManager.js +301 -0
  49. package/dist/module/modules/encryption/EncryptionManager.js.map +1 -0
  50. package/dist/module/modules/encryption/eventMapping.js +135 -0
  51. package/dist/module/modules/encryption/eventMapping.js.map +1 -0
  52. package/dist/module/modules/encryption/index.js +4 -0
  53. package/dist/module/modules/encryption/index.js.map +1 -0
  54. package/dist/module/modules/encryption/parity.js +4 -0
  55. package/dist/module/modules/encryption/parity.js.map +1 -0
  56. package/dist/module/utils/StreamVideoRN/index.js +23 -0
  57. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  58. package/dist/module/utils/internal/callingx/callingx.js +29 -4
  59. package/dist/module/utils/internal/callingx/callingx.js.map +1 -1
  60. package/dist/module/utils/internal/iosPipTrack.js +35 -0
  61. package/dist/module/utils/internal/iosPipTrack.js.map +1 -0
  62. package/dist/module/utils/internal/registerSDKGlobals.js +6 -0
  63. package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
  64. package/dist/module/utils/internal/ringingCallLifecycle.js +134 -0
  65. package/dist/module/utils/internal/ringingCallLifecycle.js.map +1 -0
  66. package/dist/module/utils/push/internal/utils.js +4 -0
  67. package/dist/module/utils/push/internal/utils.js.map +1 -1
  68. package/dist/module/version.js +1 -1
  69. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
  70. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts +12 -0
  71. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
  72. package/dist/typescript/components/Call/RingingCallContent/OutgoingCall.d.ts.map +1 -1
  73. package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.d.ts +11 -0
  74. package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.d.ts.map +1 -1
  75. package/dist/typescript/index.d.ts +1 -0
  76. package/dist/typescript/index.d.ts.map +1 -1
  77. package/dist/typescript/modules/encryption/EncryptionManager.d.ts +190 -0
  78. package/dist/typescript/modules/encryption/EncryptionManager.d.ts.map +1 -0
  79. package/dist/typescript/modules/encryption/eventMapping.d.ts +38 -0
  80. package/dist/typescript/modules/encryption/eventMapping.d.ts.map +1 -0
  81. package/dist/typescript/modules/encryption/index.d.ts +2 -0
  82. package/dist/typescript/modules/encryption/index.d.ts.map +1 -0
  83. package/dist/typescript/modules/encryption/parity.d.ts +55 -0
  84. package/dist/typescript/modules/encryption/parity.d.ts.map +1 -0
  85. package/dist/typescript/utils/StreamVideoRN/index.d.ts +20 -1
  86. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  87. package/dist/typescript/utils/StreamVideoRN/types.d.ts +67 -0
  88. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  89. package/dist/typescript/utils/internal/callingx/callingx.d.ts +1 -1
  90. package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -1
  91. package/dist/typescript/utils/internal/iosPipTrack.d.ts +9 -0
  92. package/dist/typescript/utils/internal/iosPipTrack.d.ts.map +1 -0
  93. package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
  94. package/dist/typescript/utils/internal/ringingCallLifecycle.d.ts +27 -0
  95. package/dist/typescript/utils/internal/ringingCallLifecycle.d.ts.map +1 -0
  96. package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
  97. package/dist/typescript/version.d.ts +1 -1
  98. package/ios/RTCViewPip.swift +33 -8
  99. package/ios/RTCViewPipManager.mm +1 -0
  100. package/package.json +8 -8
  101. package/src/components/Call/CallContent/CallContent.tsx +1 -1
  102. package/src/components/Call/CallContent/RTCViewPipIOS.tsx +92 -10
  103. package/src/components/Call/CallContent/RTCViewPipNative.tsx +13 -0
  104. package/src/components/Call/RingingCallContent/OutgoingCall.tsx +4 -12
  105. package/src/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.tsx +58 -5
  106. package/src/index.ts +5 -0
  107. package/src/modules/encryption/EncryptionManager.ts +360 -0
  108. package/src/modules/encryption/eventMapping.ts +151 -0
  109. package/src/modules/encryption/index.ts +1 -0
  110. package/src/modules/encryption/parity.ts +83 -0
  111. package/src/utils/StreamVideoRN/index.ts +24 -1
  112. package/src/utils/StreamVideoRN/types.ts +68 -0
  113. package/src/utils/internal/callingx/callingx.ts +37 -2
  114. package/src/utils/internal/iosPipTrack.ts +39 -0
  115. package/src/utils/internal/registerSDKGlobals.ts +2 -0
  116. package/src/utils/internal/ringingCallLifecycle.ts +148 -0
  117. package/src/utils/push/internal/utils.ts +4 -0
  118. package/src/version.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RTCEncryptionAlgorithm","RTCEncryptionTrackType","trackTypeToNative","trackType","AUDIO","VIDEO","SCREEN_SHARE","SCREEN_SHARE_AUDIO","undefined","trackTypeFromNative","algorithmToNative","algorithm","AES_256_GCM","AES_128_GCM","toTrackPerf","row","userId","fps","maxCryptoMs","mapNativeEvent","event","type","keyIndex","version","reason","mapped","payload","encode","map","codec","decode","keyState","perUserKeys","sharedKeys","E2EE_EVENT_TYPES"],"sourceRoot":"../../../../src","sources":["modules/encryption/eventMapping.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { EncryptionManager } from './EncryptionManager';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EncryptionManager"],"sourceRoot":"../../../../src","sources":["modules/encryption/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,qBAAqB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/encryption/parity.ts"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { setRingingCallLifecycleHooks as storeRingingCallLifecycleHooks } from '../internal/ringingCallLifecycle';
3
4
  import pushLogoutCallbacks from '../internal/pushLogoutCallback';
4
5
  import { setupIosVoipPushEvents } from '../push/setupIosVoipPushEvents';
5
6
  import { setupAndroidPushEvents } from '../push/setupAndroidPushEvents';
@@ -107,6 +108,28 @@ export class StreamVideoRN {
107
108
  setupIosVoipPushEvents(pushConfig);
108
109
  setupAndroidPushEvents(pushConfig);
109
110
  }
111
+
112
+ /**
113
+ * Register hooks that run around a ringing call's join, for every ringing path:
114
+ * accepted from the CallKit/Telecom UI, accepted inside the app, and outgoing.
115
+ *
116
+ * Call this at your application's entry point, alongside
117
+ * {@link StreamVideoRN.setPushConfig} and **outside** the React tree. A call
118
+ * accepted from a push notification can be created and joined before any
119
+ * component mounts, so hooks registered from inside React would be missed on
120
+ * exactly the path that most needs them.
121
+ *
122
+ * Calling it again replaces the previously registered hooks.
123
+ *
124
+ * @example // in index.js
125
+ * StreamVideoRN.setRingingCallLifecycleHooks({
126
+ * onBeforeCallJoin: (call) => attachE2EEIfConfigured(call),
127
+ * onAfterCallLeave: (call) => disposeE2EEManager(call),
128
+ * });
129
+ */
130
+ static setRingingCallLifecycleHooks = hooks => {
131
+ storeRingingCallLifecycleHooks(hooks);
132
+ };
110
133
  static getConfig() {
111
134
  return this.config;
112
135
  }
@@ -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","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":[]}
1
+ {"version":3,"names":["setRingingCallLifecycleHooks","storeRingingCallLifecycleHooks","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","hooks","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":[]}
@@ -38,11 +38,14 @@ export function getCallDisplayName(callMembers, participants, currentUserId) {
38
38
  */
39
39
  function getCallingxCallArgs(call) {
40
40
  const callDisplayName = call.state.custom?.display_name || getCallDisplayName(call.state.members, call.state.participants, call.currentUserId);
41
+ const createdByHandle = call.state.createdBy?.id ?? callDisplayName;
41
42
  return [call.cid,
42
43
  // unique id for call
43
- call.state.createdBy?.id ?? callDisplayName,
44
- // handle for native call UI (prefer createdBy user id, fallback to call display name)
45
- callDisplayName,
44
+ // handle for the native call UI. On iOS it is shown in CallKit Recents and used for
45
+ // call-back, so we send the caller's user id (matches the Swift SDK). On Android the
46
+ // self-managed Telecom address is never displayed and callingx wraps it as
47
+ // `<packageName>:<handle>`, so we send the call id (matches the Android SDK).
48
+ Platform.OS === 'android' ? call.id : createdByHandle, callDisplayName,
46
49
  // display name for display in call screen
47
50
  call.state.settings?.video?.enabled ?? false // is video call?
48
51
  ];
@@ -72,7 +75,7 @@ export async function registerOutgoingCall(call) {
72
75
  * 2. Displays the incoming call in the callingx library
73
76
  * 3. Optionally for non-ringing calls also when ongoing calls are enabled.
74
77
  */
75
- export async function joinCallingxCall(call, activeCalls) {
78
+ export async function joinCallingxCall(call, activeCalls, isCancelled) {
76
79
  if (!CallingxModule || !CallingxModule.isSetup || call.isOwnTracksLoopbackAllowed) {
77
80
  return;
78
81
  }
@@ -93,16 +96,38 @@ export async function joinCallingxCall(call, activeCalls) {
93
96
  logger.error(`failed to leave active call ${activeCall.cid}`, e);
94
97
  });
95
98
  }
99
+ // Leaving the other calls above can take arbitrarily long, and this join may
100
+ // have been cancelled meanwhile. Registering now would create a native call
101
+ // nobody owns. The caller decides, not the call's state: a `Call` reused for
102
+ // a fresh ring is still `LEFT` here, because `setup()` runs after this.
103
+ if (isCancelled?.()) {
104
+ logger.debug(`joinCallingxCall: skipping registration for ${call.cid}: join cancelled while waiting for other calls`);
105
+ return;
106
+ }
96
107
  logger.debug(`joinCallingxCall: Joining call ${call.cid} isIncoming: ${isIncomingCall} isOutgoing: ${isOutcomingCall}`);
97
108
  const callArgs = getCallingxCallArgs(call);
98
109
  if (isIncomingCall) {
99
110
  await CallingxModule.displayIncomingCall(...callArgs);
111
+ // never answer a call that was hung up while the OS was displaying it -
112
+ // the cleanup below ends the registration instead
113
+ if (isCancelled?.()) return;
100
114
  await CallingxModule.answerIncomingCall(call.cid);
101
115
  } else {
102
116
  await CallingxModule.startCall(...callArgs);
103
117
  }
104
118
  } catch (error) {
105
119
  logger.error(`startCallingxCall: Error starting call in callingx: ${call.cid} isIncoming: ${isIncomingCall} isOutgoing: ${isOutcomingCall}`, error);
120
+ } finally {
121
+ // The registration above can outlive the join that asked for it: `leave()`
122
+ // may land while native is still bringing the call up, and by the time the
123
+ // caller aborts, the call exists natively with nobody to end it. Ringing
124
+ // calls have a lifecycle owner that would clean up; ordinary ones do not.
125
+ // Nothing was registered when the check above already skipped it, and
126
+ // `endCallingxCall` no-ops for an untracked cid, so this is safe either way.
127
+ if (isCancelled?.()) {
128
+ logger.debug(`joinCallingxCall: ending ${call.cid}: join was cancelled while registering`);
129
+ await endCallingxCall(call, 'canceled');
130
+ }
106
131
  }
107
132
  }
108
133
  export async function endCallingxCall(call, reason) {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","getCallingxLibIfAvailable","CallingState","videoLoggerSystem","CallingxModule","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","getLogger","debug","startCall","error","joinCallingxCall","activeCalls","isIncomingCall","isOngoingCall","c","isOngoingCallsEnabled","activeCallsToLeave","filter","callingState","LEFT","activeCall","leave","reason","catch","e","callArgs","displayIncomingCall","answerIncomingCall","endCallingxCall","isCallTracked","endCallWithReason","wireAudioEngineSubscription","OS","unwireAudioEngineSubscription"],"sourceRoot":"../../../../../src","sources":["utils/internal/callingx/callingx.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","getCallingxLibIfAvailable","CallingState","videoLoggerSystem","CallingxModule","getCallDisplayName","callMembers","participants","currentUserId","names","length","flatMap","member","user","id","name","participant","userId","find","sort","join","getCallingxCallArgs","call","callDisplayName","state","custom","display_name","members","createdByHandle","createdBy","cid","OS","settings","video","enabled","registerOutgoingCall","isSetup","isOwnTracksLoopbackAllowed","isOutcomingCall","ringing","isCreatedByMe","logger","getLogger","debug","startCall","error","joinCallingxCall","activeCalls","isCancelled","isIncomingCall","isOngoingCall","c","isOngoingCallsEnabled","activeCallsToLeave","filter","callingState","LEFT","activeCall","leave","reason","catch","e","callArgs","displayIncomingCall","answerIncomingCall","endCallingxCall","isCallTracked","endCallWithReason","wireAudioEngineSubscription","unwireAudioEngineSubscription"],"sourceRoot":"../../../../../src","sources":["utils/internal/callingx/callingx.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,yBAAyB,QAAQ,0BAA0B;AAMpE,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,yBAAyB;AAEzE,MAAMC,cAAc,GAAGH,yBAAyB,CAAC,CAAC;;AAElD;AACA;AACA;AACA,OAAO,SAASI,kBAAkBA,CAChCC,WAAyC,EACzCC,YAAkD,EAClDC,aAAiC,EACzB;EACR,IAAI,CAACF,WAAW,IAAI,CAACC,YAAY,IAAI,CAACC,aAAa,EAAE;IACnD,OAAO,MAAM;EACf;EAEA,IAAIC,KAAe,GAAG,EAAE;EAExB,IAAIH,WAAW,CAACI,MAAM,GAAG,CAAC,EAAE;IAC1B;IACAD,KAAK,GAAGH,WAAW,CAACK,OAAO,CAAEC,MAAM,IACjCA,MAAM,CAACC,IAAI,CAACC,EAAE,KAAKN,aAAa,IAAII,MAAM,CAACC,IAAI,CAACE,IAAI,GAChD,CAACH,MAAM,CAACC,IAAI,CAACE,IAAI,CAAC,GAClB,EACN,CAAC;EACH,CAAC,MAAM,IAAIR,YAAY,CAACG,MAAM,GAAG,CAAC,EAAE;IAClC;IACAD,KAAK,GAAGF,YAAY,CAACI,OAAO,CAAEK,WAAW,IACvCA,WAAW,CAACC,MAAM,KAAKT,aAAa,IAAIQ,WAAW,CAACD,IAAI,GACpD,CAACC,WAAW,CAACD,IAAI,CAAC,GAClB,EACN,CAAC;EACH;;EAEA;EACA,IAAIN,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IACtBD,KAAK,GAAG,CACNF,YAAY,CAACW,IAAI,CAAEF,WAAW,IAAKA,WAAW,CAACC,MAAM,KAAKT,aAAa,CAAC,EACpEO,IAAI,IAAI,MAAM,CACnB;EACH;EAEA,OAAON,KAAK,CAACU,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAChC;;AAEA;AACA;AACA;AACA;AACA,SAASC,mBAAmBA,CAACC,IAAU,EAAqC;EAC1E,MAAMC,eAAe,GACnBD,IAAI,CAACE,KAAK,CAACC,MAAM,EAAEC,YAAY,IAC/BrB,kBAAkB,CAChBiB,IAAI,CAACE,KAAK,CAACG,OAAO,EAClBL,IAAI,CAACE,KAAK,CAACjB,YAAY,EACvBe,IAAI,CAACd,aACP,CAAC;EACH,MAAMoB,eAAe,GAAGN,IAAI,CAACE,KAAK,CAACK,SAAS,EAAEf,EAAE,IAAIS,eAAe;EACnE,OAAO,CACLD,IAAI,CAACQ,GAAG;EAAE;EACV;EACA;EACA;EACA;EACA9B,QAAQ,CAAC+B,EAAE,KAAK,SAAS,GAAGT,IAAI,CAACR,EAAE,GAAGc,eAAe,EACrDL,eAAe;EAAE;EACjBD,IAAI,CAACE,KAAK,CAACQ,QAAQ,EAAEC,KAAK,EAAEC,OAAO,IAAI,KAAK,CAAE;EAAA,CAC/C;AACH;AAEA,OAAO,eAAeC,oBAAoBA,CAACb,IAAU,EAAE;EACrD,IACE,CAAClB,cAAc,IACf,CAACA,cAAc,CAACgC,OAAO,IACvBd,IAAI,CAACe,0BAA0B,EAC/B;IACA;EACF;EAEA,MAAMC,eAAe,GAAGhB,IAAI,CAACiB,OAAO,IAAIjB,IAAI,CAACkB,aAAa;EAC1D,IAAI,CAACF,eAAe,EAAE;IACpB;EACF;EAEA,MAAMG,MAAM,GAAGtC,iBAAiB,CAACuC,SAAS,CAAC,UAAU,CAAC;EAEtD,IAAI;IACFD,MAAM,CAACE,KAAK,CAAC,mDAAmDrB,IAAI,CAACQ,GAAG,EAAE,CAAC;IAC3E,MAAM1B,cAAc,CAACwC,SAAS,CAAC,GAAGvB,mBAAmB,CAACC,IAAI,CAAC,CAAC;EAC9D,CAAC,CAAC,OAAOuB,KAAK,EAAE;IACdJ,MAAM,CAACI,KAAK,CACV,sEAAsEvB,IAAI,CAACQ,GAAG,EAAE,EAChFe,KACF,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,gBAAgBA,CACpCxB,IAAU,EACVyB,WAAmB,EACnBC,WAA2B,EAC3B;EACA,IACE,CAAC5C,cAAc,IACf,CAACA,cAAc,CAACgC,OAAO,IACvBd,IAAI,CAACe,0BAA0B,EAC/B;IACA;EACF;EAEA,MAAMI,MAAM,GAAGtC,iBAAiB,CAACuC,SAAS,CAAC,UAAU,CAAC;EACtD,MAAMJ,eAAe,GAAGhB,IAAI,CAACiB,OAAO,IAAIjB,IAAI,CAACkB,aAAa;EAC1D,MAAMS,cAAc,GAAG3B,IAAI,CAACiB,OAAO,IAAI,CAACjB,IAAI,CAACkB,aAAa;EAC1D,MAAMU,aAAa,GAAIC,CAAO,IAC5B,CAACA,CAAC,CAACZ,OAAO,IACVnC,cAAc,CAACgD,qBAAqB,IACpC,CAACD,CAAC,CAACd,0BAA0B;EAE/B,IAAI,CAACY,cAAc,IAAI,CAACX,eAAe,IAAI,CAACY,aAAa,CAAC5B,IAAI,CAAC,EAAE;IAC/D;EACF;EAEA,IAAI;IACF,MAAM+B,kBAAkB,GAAGN,WAAW,CAACO,MAAM,CAC1CH,CAAC,IACAA,CAAC,CAACrB,GAAG,KAAKR,IAAI,CAACQ,GAAG,KACjBqB,CAAC,CAACZ,OAAO,IAAIW,aAAa,CAACC,CAAC,CAAC,CAAC,IAC/BA,CAAC,CAAC3B,KAAK,CAAC+B,YAAY,KAAKrD,YAAY,CAACsD,IAC1C,CAAC;IACD,KAAK,MAAMC,UAAU,IAAIJ,kBAAkB,EAAE;MAC3CZ,MAAM,CAACE,KAAK,CACV,iCAAiCc,UAAU,CAAC3B,GAAG,4BAA4BR,IAAI,CAACQ,GAAG,EACrF,CAAC;MACD,MAAM2B,UAAU,CAACC,KAAK,CAAC;QAAEC,MAAM,EAAE;MAAS,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;QACxDpB,MAAM,CAACI,KAAK,CAAC,+BAA+BY,UAAU,CAAC3B,GAAG,EAAE,EAAE+B,CAAC,CAAC;MAClE,CAAC,CAAC;IACJ;IACA;IACA;IACA;IACA;IACA,IAAIb,WAAW,GAAG,CAAC,EAAE;MACnBP,MAAM,CAACE,KAAK,CACV,+CAA+CrB,IAAI,CAACQ,GAAG,gDACzD,CAAC;MACD;IACF;IACAW,MAAM,CAACE,KAAK,CACV,kCAAkCrB,IAAI,CAACQ,GAAG,gBAAgBmB,cAAc,gBAAgBX,eAAe,EACzG,CAAC;IACD,MAAMwB,QAAQ,GAAGzC,mBAAmB,CAACC,IAAI,CAAC;IAC1C,IAAI2B,cAAc,EAAE;MAClB,MAAM7C,cAAc,CAAC2D,mBAAmB,CAAC,GAAGD,QAAQ,CAAC;MACrD;MACA;MACA,IAAId,WAAW,GAAG,CAAC,EAAE;MACrB,MAAM5C,cAAc,CAAC4D,kBAAkB,CAAC1C,IAAI,CAACQ,GAAG,CAAC;IACnD,CAAC,MAAM;MACL,MAAM1B,cAAc,CAACwC,SAAS,CAAC,GAAGkB,QAAQ,CAAC;IAC7C;EACF,CAAC,CAAC,OAAOjB,KAAK,EAAE;IACdJ,MAAM,CAACI,KAAK,CACV,uDAAuDvB,IAAI,CAACQ,GAAG,gBAAgBmB,cAAc,gBAAgBX,eAAe,EAAE,EAC9HO,KACF,CAAC;EACH,CAAC,SAAS;IACR;IACA;IACA;IACA;IACA;IACA;IACA,IAAIG,WAAW,GAAG,CAAC,EAAE;MACnBP,MAAM,CAACE,KAAK,CACV,4BAA4BrB,IAAI,CAACQ,GAAG,wCACtC,CAAC;MACD,MAAMmC,eAAe,CAAC3C,IAAI,EAAE,UAAU,CAAC;IACzC;EACF;AACF;AAEA,OAAO,eAAe2C,eAAeA,CAAC3C,IAAU,EAAEqC,MAAsB,EAAE;EACxE,IACE,CAACvD,cAAc,IACf,CAACA,cAAc,CAACgC,OAAO,IACvB,CAAChC,cAAc,CAAC8D,aAAa,CAAC5C,IAAI,CAACQ,GAAG,CAAC,EACvC;IACA;EACF;EAEA,MAAMW,MAAM,GAAGtC,iBAAiB,CAACuC,SAAS,CAAC,UAAU,CAAC;EACtD,IAAI;IACFD,MAAM,CAACE,KAAK,CAAC,gCAAgCrB,IAAI,CAACQ,GAAG,EAAE,CAAC;IACxD,MAAM1B,cAAc,CAAC+D,iBAAiB,CAAC7C,IAAI,CAACQ,GAAG,EAAE6B,MAAM,IAAI,OAAO,CAAC;EACrE,CAAC,CAAC,OAAOd,KAAK,EAAE;IACdJ,MAAM,CAACI,KAAK,CACV,mDAAmDvB,IAAI,CAACQ,GAAG,EAAE,EAC7De,KACF,CAAC;EACH;AACF;AAEA,OAAO,eAAeuB,2BAA2BA,CAAA,EAAG;EAClD,IAAI,CAAChE,cAAc,IAAI,CAACA,cAAc,CAACgC,OAAO,IAAIpC,QAAQ,CAAC+B,EAAE,KAAK,KAAK,EAAE;IACvE;EACF;EACA,MAAMU,MAAM,GAAGtC,iBAAiB,CAACuC,SAAS,CAAC,UAAU,CAAC;EAEtD,IAAI;IACFD,MAAM,CAACE,KAAK,CAAC,oDAAoD,CAAC;IAClEvC,cAAc,CAACgE,2BAA2B,CAAC,CAAC;EAC9C,CAAC,CAAC,OAAOvB,KAAK,EAAE;IACdJ,MAAM,CAACI,KAAK,CACV,+DAA+D,EAC/DA,KACF,CAAC;EACH;AACF;AAEA,OAAO,SAASwB,6BAA6BA,CAAA,EAAG;EAC9C,IAAI,CAACjE,cAAc,IAAI,CAACA,cAAc,CAACgC,OAAO,IAAIpC,QAAQ,CAAC+B,EAAE,KAAK,KAAK,EAAE;IACvE;EACF;EACA,MAAMU,MAAM,GAAGtC,iBAAiB,CAACuC,SAAS,CAAC,UAAU,CAAC;EAEtD,IAAI;IACFD,MAAM,CAACE,KAAK,CAAC,0DAA0D,CAAC;IACxEvC,cAAc,CAACiE,6BAA6B,CAAC,CAAC;EAChD,CAAC,CAAC,OAAOxB,KAAK,EAAE;IACdJ,MAAM,CAACI,KAAK,CACV,qEAAqE,EACrEA,KACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import { DebounceType } from '@stream-io/video-client';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ /**
6
+ * The track currently rendered by the native iOS Picture in Picture window,
7
+ * per Call instance. While set, the window's bounds are the demand of that
8
+ * track and the inline views of the same track stop requesting their layout.
9
+ */
10
+ const tracks = new WeakMap();
11
+ export const getIosPipTrack$ = call => {
12
+ let track$ = tracks.get(call);
13
+ if (!track$) {
14
+ track$ = new BehaviorSubject(undefined);
15
+ tracks.set(call, track$);
16
+ }
17
+ return track$;
18
+ };
19
+ export const setIosPipTrack = (call, track) => {
20
+ const track$ = getIosPipTrack$(call);
21
+ const previous = track$.getValue();
22
+ if (previous) {
23
+ // Clear before opening the gate: mounted inline views replay their layout
24
+ // synchronously on the gate change and overwrite this. If none is mounted,
25
+ // the cleared demand stands.
26
+ call.state.updateParticipantTracks(previous.trackType, {
27
+ [previous.sessionId]: {
28
+ dimension: undefined
29
+ }
30
+ });
31
+ call.trackSubscriptionManager.apply(DebounceType.MEDIUM);
32
+ }
33
+ track$.next(track);
34
+ };
35
+ //# sourceMappingURL=iosPipTrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DebounceType","BehaviorSubject","tracks","WeakMap","getIosPipTrack$","call","track$","get","undefined","set","setIosPipTrack","track","previous","getValue","state","updateParticipantTracks","trackType","sessionId","dimension","trackSubscriptionManager","apply","MEDIUM","next"],"sourceRoot":"../../../../src","sources":["utils/internal/iosPipTrack.ts"],"mappings":";;AAAA,SAEEA,YAAY,QAEP,yBAAyB;AAChC,SAASC,eAAe,QAAQ,MAAM;AAItC;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GAAG,IAAIC,OAAO,CAA8C,CAAC;AAEzE,OAAO,MAAMC,eAAe,GAAIC,IAAU,IAAK;EAC7C,IAAIC,MAAM,GAAGJ,MAAM,CAACK,GAAG,CAACF,IAAI,CAAC;EAC7B,IAAI,CAACC,MAAM,EAAE;IACXA,MAAM,GAAG,IAAIL,eAAe,CAAuBO,SAAS,CAAC;IAC7DN,MAAM,CAACO,GAAG,CAACJ,IAAI,EAAEC,MAAM,CAAC;EAC1B;EACA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,MAAMI,cAAc,GAAGA,CAACL,IAAU,EAAEM,KAA2B,KAAK;EACzE,MAAML,MAAM,GAAGF,eAAe,CAACC,IAAI,CAAC;EACpC,MAAMO,QAAQ,GAAGN,MAAM,CAACO,QAAQ,CAAC,CAAC;EAClC,IAAID,QAAQ,EAAE;IACZ;IACA;IACA;IACAP,IAAI,CAACS,KAAK,CAACC,uBAAuB,CAACH,QAAQ,CAACI,SAAS,EAAE;MACrD,CAACJ,QAAQ,CAACK,SAAS,GAAG;QAAEC,SAAS,EAAEV;MAAU;IAC/C,CAAC,CAAC;IACFH,IAAI,CAACc,wBAAwB,CAACC,KAAK,CAACpB,YAAY,CAACqB,MAAM,CAAC;EAC1D;EACAf,MAAM,CAACgB,IAAI,CAACX,KAAK,CAAC;AACpB,CAAC","ignoreList":[]}
@@ -6,6 +6,7 @@ import { AudioEngineMuteMode, audioDeviceModuleEvents } from '@stream-io/react-n
6
6
  import { getCallingxLibIfAvailable } from '../push/libs/callingx';
7
7
  import { endCallingxCall, registerOutgoingCall, joinCallingxCall, wireAudioEngineSubscription, unwireAudioEngineSubscription } from './callingx/callingx';
8
8
  import { registerCallMediaEngine } from './registerMediaEngine';
9
+ import { beforeJoin, onJoinFailed, onLeave } from './ringingCallLifecycle';
9
10
  import { callManager as publicCallManager } from '../../modules/call-manager';
10
11
  const StreamInCallManagerNativeModule = NativeModules.StreamInCallManager;
11
12
  const StreamVideoReactNativeModule = NativeModules.StreamVideoReactNative;
@@ -74,6 +75,11 @@ const streamRNVideoSDKGlobals = {
74
75
  wireAudioEngineSubscription: wireAudioEngineSubscription,
75
76
  unwireAudioEngineSubscription: unwireAudioEngineSubscription
76
77
  },
78
+ ringingCallLifecycle: {
79
+ beforeJoin,
80
+ onJoinFailed,
81
+ onLeave
82
+ },
77
83
  callManager: {
78
84
  setup: ({
79
85
  defaultDevice,
@@ -1 +1 @@
1
- {"version":3,"names":["videoLoggerSystem","NativeModules","PermissionsAndroid","Platform","AudioEngineMuteMode","audioDeviceModuleEvents","getCallingxLibIfAvailable","endCallingxCall","registerOutgoingCall","joinCallingxCall","wireAudioEngineSubscription","unwireAudioEngineSubscription","registerCallMediaEngine","callManager","publicCallManager","StreamInCallManagerNativeModule","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","safeNativeCall","label","fn","error","getLogger","warn","shouldBypassForCallKit","isRingingTypeCall","OS","bypass","isSetup","isOngoingCallsEnabled","isAndroidTelecomManaged","cid","isTelecomBacked","isCallTracked","streamRNVideoSDKGlobals","callingX","joinCall","endCall","setup","defaultDevice","isTelecomManaged","isCallKitManaged","setTelecomManagedMode","setDefaultAudioDeviceEndpointType","start","config","getStoredConfig","deviceOverride","audioRole","deviceEndpointType","undefined","setAudioRole","stereoOutput","setEnableStereoAudioOutput","stop","shouldStopCallManager","setRecordingAlwaysPreparedMode","setMutedRecordingPrepared","enabled","setMuteMode","VoiceProcessing","permissions","check","permission","nativeAndroidPermission","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","nativeEvents","speechActivity","subscribe","cb","subscription","addSpeechActivityListener","data","isSoundDetected","event","remove","registerSDKGlobals","globalThis","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["videoLoggerSystem","NativeModules","PermissionsAndroid","Platform","AudioEngineMuteMode","audioDeviceModuleEvents","getCallingxLibIfAvailable","endCallingxCall","registerOutgoingCall","joinCallingxCall","wireAudioEngineSubscription","unwireAudioEngineSubscription","registerCallMediaEngine","beforeJoin","onJoinFailed","onLeave","callManager","publicCallManager","StreamInCallManagerNativeModule","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","safeNativeCall","label","fn","error","getLogger","warn","shouldBypassForCallKit","isRingingTypeCall","OS","bypass","isSetup","isOngoingCallsEnabled","isAndroidTelecomManaged","cid","isTelecomBacked","isCallTracked","streamRNVideoSDKGlobals","callingX","joinCall","endCall","ringingCallLifecycle","setup","defaultDevice","isTelecomManaged","isCallKitManaged","setTelecomManagedMode","setDefaultAudioDeviceEndpointType","start","config","getStoredConfig","deviceOverride","audioRole","deviceEndpointType","undefined","setAudioRole","stereoOutput","setEnableStereoAudioOutput","stop","shouldStopCallManager","setRecordingAlwaysPreparedMode","setMutedRecordingPrepared","enabled","setMuteMode","VoiceProcessing","permissions","check","permission","nativeAndroidPermission","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","nativeEvents","speechActivity","subscribe","cb","subscription","addSpeechActivityListener","data","isSoundDetected","event","remove","registerSDKGlobals","globalThis","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ import { CallingState, videoLoggerSystem } from '@stream-io/video-client';
4
+ const logger = videoLoggerSystem.getLogger('ringingCallLifecycle');
5
+
6
+ /**
7
+ * How long `onBeforeCallJoin` may take before the join gives up on it.
8
+ *
9
+ * The hook runs inside the CallKit accept, which iOS gives a hard deadline of
10
+ * roughly 30s before killing the app. Failing well short of that leaves room to
11
+ * report the failure and end the native call cleanly, and a hook that legitimately
12
+ * needs longer than this does not belong on the accept path at all.
13
+ */
14
+ const ON_BEFORE_CALL_JOIN_TIMEOUT_MS = 5_000;
15
+
16
+ /**
17
+ * The registered hooks.
18
+ *
19
+ * Held here rather than on `StreamVideoRN.config` so the push internals and the
20
+ * globals bridge can both reach them without importing the `StreamVideoRN`
21
+ * class, which would close an import cycle through the push setup modules.
22
+ */
23
+ let hooks;
24
+ export const setRingingCallLifecycleHooks = next => {
25
+ hooks = next;
26
+ };
27
+
28
+ /**
29
+ * How to release what a call's setup hook installed.
30
+ *
31
+ * Kept per call rather than in a single current-call slot: an abandoned call's
32
+ * hook can still finish after the next call has joined, and it has to release
33
+ * its own manager rather than whatever is current. An entry exists only for a
34
+ * call whose setup hook actually ran.
35
+ */
36
+ const cleanups = new WeakMap();
37
+
38
+ /** Invokes the release hook, swallowing whatever it throws. */
39
+ const fireRelease = call => {
40
+ const hook = hooks?.onAfterCallLeave;
41
+ if (!hook) return;
42
+ try {
43
+ Promise.resolve(hook(call)).catch(e => {
44
+ logger.warn(`onAfterCallLeave failed for callCid: ${call.cid}`, e);
45
+ });
46
+ } catch (e) {
47
+ logger.warn(`onAfterCallLeave threw for callCid: ${call.cid}`, e);
48
+ }
49
+ };
50
+
51
+ /** Releases what the setup hook installed, at most once. */
52
+ const requestRelease = call => {
53
+ const cleanup = cleanups.get(call);
54
+ if (!cleanup) return;
55
+ // Dropped before it runs: that is what makes a failed join followed by a
56
+ // leave release exactly once.
57
+ cleanups.delete(call);
58
+ cleanup();
59
+ };
60
+
61
+ /**
62
+ * Runs the app's pre-join setup, bounded by the deadline.
63
+ *
64
+ * Rejecting fails the join closed - joining without whatever this installs would
65
+ * publish unencrypted media on a call the user believes is private.
66
+ */
67
+ export const beforeJoin = call => {
68
+ const hook = hooks?.onBeforeCallJoin;
69
+ if (!hook) return Promise.resolve();
70
+
71
+ // Invoked synchronously - a caller expects its hook to start now - but a
72
+ // synchronous throw becomes a rejection so it cannot escape the bookkeeping.
73
+ let started;
74
+ try {
75
+ started = Promise.resolve(hook(call));
76
+ } catch (error) {
77
+ started = Promise.reject(error);
78
+ }
79
+
80
+ // Cleanup tracks the hook's own promise, never the bounded wait below. The
81
+ // deadline ends this join's wait but cannot cancel the app's work, so a
82
+ // manager the hook creates late still has an owner waiting to release it.
83
+ const settled = started.catch(() => {});
84
+ cleanups.set(call, () => void settled.then(() => fireRelease(call)));
85
+ let timeout;
86
+ const expiry = new Promise((_, reject) => {
87
+ timeout = setTimeout(() => reject(new Error(`onBeforeCallJoin did not settle within ${ON_BEFORE_CALL_JOIN_TIMEOUT_MS}ms`)), ON_BEFORE_CALL_JOIN_TIMEOUT_MS);
88
+ });
89
+ return Promise.race([started, expiry]).finally(() => clearTimeout(timeout));
90
+ };
91
+
92
+ /**
93
+ * The join failed and will not be retried on this call.
94
+ *
95
+ * Ends the ringing flow rather than leaving the call sitting in `RINGING`: one
96
+ * `Call` is one call flow, so the accept button must not be able to offer this
97
+ * instance again. Never rejects, so the original join error survives.
98
+ */
99
+ export const onJoinFailed = async call => {
100
+ if (call.state.callingState !== CallingState.LEFT) {
101
+ try {
102
+ // Takes the call out of the client's list, which unmounts the ringing UI.
103
+ // `reject: false`: the join failed locally, so this is not the callee
104
+ // declining, and the native call has already been ended with 'error'.
105
+ await call.leave({
106
+ reject: false
107
+ });
108
+ } catch (error) {
109
+ logger.warn(`failed to leave after a failed join: ${call.cid}`, error);
110
+ }
111
+ }
112
+ // The leave above notifies {@link onLeave}, which consumes the cleanup. This
113
+ // covers what it could not: a call already left, or a leave that itself failed.
114
+ requestRelease(call);
115
+ };
116
+
117
+ /**
118
+ * The call has ended.
119
+ *
120
+ * Releases what the setup hook installed, once the hook has actually settled -
121
+ * a hook still running may yet install something, and releasing before it
122
+ * finishes would strand that.
123
+ */
124
+ export const onLeave = call => {
125
+ // A release-only registration has nothing to pair with, so its hook belongs to
126
+ // the call ending rather than to a join: it is owed for every ringing call
127
+ // that ends, including one declined without ever joining.
128
+ if (!hooks?.onBeforeCallJoin) {
129
+ fireRelease(call);
130
+ return;
131
+ }
132
+ requestRelease(call);
133
+ };
134
+ //# sourceMappingURL=ringingCallLifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CallingState","videoLoggerSystem","logger","getLogger","ON_BEFORE_CALL_JOIN_TIMEOUT_MS","hooks","setRingingCallLifecycleHooks","next","cleanups","WeakMap","fireRelease","call","hook","onAfterCallLeave","Promise","resolve","catch","e","warn","cid","requestRelease","cleanup","get","delete","beforeJoin","onBeforeCallJoin","started","error","reject","settled","set","then","timeout","expiry","_","setTimeout","Error","race","finally","clearTimeout","onJoinFailed","state","callingState","LEFT","leave","onLeave"],"sourceRoot":"../../../../src","sources":["utils/internal/ringingCallLifecycle.ts"],"mappings":"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","ignoreList":[]}
@@ -83,6 +83,10 @@ export const processCallFromPushInBackground = async (pushConfig, call_cid, acti
83
83
  await callFromPush.join();
84
84
  } catch (e) {
85
85
  logger.warn('processCallFromPushInBackground: failed to join call from push notification', e);
86
+ // Cleanup is not repeated here: `join()`'s own failure boundary already
87
+ // released whatever the pre-join hook installed, and a second call would
88
+ // invoke a release-only registration twice.
89
+ onIOSActionCanBeFulfilled(true);
86
90
  }
87
91
  } else if (action === 'decline') {
88
92
  const alreadyLeft = callFromPush.state.callingState === CallingState.LEFT;
@@ -1 +1 @@
1
- {"version":3,"names":["CallingState","videoLoggerSystem","pushUnsubscriptionCallbacks","AppState","logger","getLogger","shouldCallBeEnded","callFromPush","created_by_id","receiver_id","callSession","state","session","rejected_by","accepted_by","mustEndCall","endCallReason","endedAt","debug","cid","processCallFromPushInBackground","pushConfig","call_cid","action","onIOSActionCanBeFulfilled","videoClient","createStreamVideoClient","Error","e","error","onRingingCall","publishOptions","updatePublishOptions","callingState","RINGING","IDLE","join","warn","alreadyLeft","LEFT","canReject","isCurrentUserMember","members","some","member","user_id","currentUserId","reject","leave","reason","clearPushWSEventSubscriptions","unsubscriptionCallbacks","get","forEach","cb","delete","canAddPushWSSubscriptionsRef","current","canListenToWS","currentState","shouldCallBeClosed","call","pushData"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CallingState","videoLoggerSystem","pushUnsubscriptionCallbacks","AppState","logger","getLogger","shouldCallBeEnded","callFromPush","created_by_id","receiver_id","callSession","state","session","rejected_by","accepted_by","mustEndCall","endCallReason","endedAt","debug","cid","processCallFromPushInBackground","pushConfig","call_cid","action","onIOSActionCanBeFulfilled","videoClient","createStreamVideoClient","Error","e","error","onRingingCall","publishOptions","updatePublishOptions","callingState","RINGING","IDLE","join","warn","alreadyLeft","LEFT","canReject","isCurrentUserMember","members","some","member","user_id","currentUserId","reject","leave","reason","clearPushWSEventSubscriptions","unsubscriptionCallbacks","get","forEach","cb","delete","canAddPushWSSubscriptionsRef","current","canListenToWS","currentState","shouldCallBeClosed","call","pushData"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export const version = '1.45.1';
3
+ export const version = '1.46.0';
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RTCViewPipIOS.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipIOS.tsx"],"names":[],"mappings":"AAcA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAYhE,KAAK,KAAK,GAAG;IACX,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,aAAa,oCAAsB,KAAK,uBAuLnD,CAAC"}
1
+ {"version":3,"file":"RTCViewPipIOS.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipIOS.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA8BxE,KAAK,KAAK,GAAG;IACX,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,aAAa,oCAAsB,KAAK,uBAsPnD,CAAC"}
@@ -2,12 +2,24 @@ import React from 'react';
2
2
  export type PiPChangeEvent = {
3
3
  active: boolean;
4
4
  };
5
+ export type PiPBoundsChangeEvent = {
6
+ /** the laid out width of the native window, in logical points */
7
+ width: number;
8
+ /** the laid out height of the native window, in logical points */
9
+ height: number;
10
+ };
5
11
  type RTCViewPipNativeProps = {
6
12
  streamURL?: string;
7
13
  mirror?: boolean;
8
14
  onPiPChange?: (event: {
9
15
  nativeEvent: PiPChangeEvent;
10
16
  }) => void;
17
+ /**
18
+ * Reports the actual laid out bounds of the native Picture in Picture window.
19
+ */
20
+ onPiPBoundsChange?: (event: {
21
+ nativeEvent: PiPBoundsChangeEvent;
22
+ }) => void;
11
23
  /** The participant's name for the avatar placeholder when video is disabled */
12
24
  participantName?: string;
13
25
  /** The URL string for the participant's profile image */
@@ -1 +1 @@
1
- {"version":3,"file":"RTCViewPipNative.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAKF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,QAMlD;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAaf;AAED;2CAC2C;AAC3C,eAAO,MAAM,gBAAgB,yFAqC5B,CAAC"}
1
+ {"version":3,"file":"RTCViewPipNative.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,oBAAoB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAKF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,QAMlD;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAaf;AAED;2CAC2C;AAC3C,eAAO,MAAM,gBAAgB,yFAuC5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OutgoingCall.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/RingingCallContent/OutgoingCall.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,GAAG;IAC1D;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC7E;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,2DAI1B,iBAAiB,sBAmEnB,CAAC"}
1
+ {"version":3,"file":"OutgoingCall.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/RingingCallContent/OutgoingCall.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,GAAG;IAC1D;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC7E;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,2DAI1B,iBAAiB,sBAmEnB,CAAC"}
@@ -10,6 +10,13 @@ type TrackSubscriberProps = {
10
10
  * the last reported layout survives a remount of this component.
11
11
  */
12
12
  dimensions$: BehaviorSubject<SfuModels.VideoDimension | undefined>;
13
+ /**
14
+ * Set by the native iOS Picture in Picture window, whose bounds this
15
+ * subscriber requests. While it does, the inline views of the same track
16
+ * stop requesting their own, hidden layout. Only rendered on iOS; on other
17
+ * platforms the gate is always open.
18
+ */
19
+ isPipWriter?: boolean;
13
20
  };
14
21
  /**
15
22
  * This component is used to subscribe to the video + audio track of the participant in the following cases:
@@ -21,6 +28,10 @@ type TrackSubscriberProps = {
21
28
  * This component is used to unsubscribe to video track and subscribe only to the audio track of the participant (by passing undefined dimensions) in the following cases:
22
29
  * 1. When the participant stops publishing the video track
23
30
  * 2. When the participant becomes invisible
31
+ *
32
+ * The same component serves the native iOS Picture in Picture window, which
33
+ * renders one of the tracks too. Its bounds take precedence over the inline
34
+ * views of that track for as long as it is on screen.
24
35
  */
25
36
  declare const TrackSubscriber: {
26
37
  (props: TrackSubscriberProps): null;
@@ -1 +1 @@
1
- {"version":3,"file":"TrackSubscriber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,IAAI,EAKJ,SAAS,EAET,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EAMhB,MAAM,MAAM,CAAC;AAEd,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACpE,CAAC;AAEF;;;;;;;;;;EAUE;AACF,QAAA,MAAM,eAAe;YAAW,oBAAoB;;CAsDnD,CAAC;AAIF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"TrackSubscriber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,IAAI,EAKJ,SAAS,EAET,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EAOhB,MAAM,MAAM,CAAC;AAMd,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IACnE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;EAcE;AACF,QAAA,MAAM,eAAe;YAAW,oBAAoB;;CA0FnD,CAAC;AAIF,eAAe,eAAe,CAAC"}
@@ -16,5 +16,6 @@ export * from './translations';
16
16
  export * from './modules/call-manager';
17
17
  export { StreamVideo } from './providers/StreamVideo';
18
18
  export { StreamCall } from './providers/StreamCall';
19
+ export { EncryptionManager } from './modules/encryption';
19
20
  export * from './providers/NoiseCancellation';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,+CAA+C;AAC/C,OAAO,wBAAwB,CAAC;AAChC,8BAA8B;AAC9B,OAAO,gCAAgC,CAAC;AACxC,6IAA6I;AAC7I,OAAO,kBAAkB,CAAC;AAK1B,OAAO,mCAAmC,CAAC;AAa3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,+CAA+C;AAC/C,OAAO,wBAAwB,CAAC;AAChC,8BAA8B;AAC9B,OAAO,gCAAgC,CAAC;AACxC,6IAA6I;AAC7I,OAAO,kBAAkB,CAAC;AAK1B,OAAO,mCAAmC,CAAC;AAa3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,cAAc,+BAA+B,CAAC"}