@stream-io/video-react-native-sdk 1.29.0-beta.3 → 1.29.1

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 (224) hide show
  1. package/CHANGELOG.md +3126 -0
  2. package/android/src/main/AndroidManifest.xml +1 -8
  3. package/android/src/main/AndroidManifestNew.xml +0 -11
  4. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +5 -42
  5. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +6 -70
  6. package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +4 -6
  7. package/android/src/main/java/com/streamvideo/reactnative/util/CallAliveServiceChecker.kt +95 -0
  8. package/dist/commonjs/components/Call/CallContent/CallContent.js +7 -2
  9. package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
  10. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +8 -1
  11. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  12. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +3 -0
  13. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  14. package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +160 -0
  15. package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
  16. package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
  17. package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
  18. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +97 -64
  19. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  20. package/dist/commonjs/index.js +0 -1
  21. package/dist/commonjs/index.js.map +1 -1
  22. package/dist/commonjs/modules/call-manager/CallManager.js +0 -26
  23. package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
  24. package/dist/commonjs/providers/StreamCall/index.js +6 -6
  25. package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
  26. package/dist/commonjs/utils/StreamVideoRN/index.js +21 -33
  27. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  28. package/dist/commonjs/utils/internal/registerSDKGlobals.js +15 -52
  29. package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
  30. package/dist/commonjs/utils/push/android.js +202 -155
  31. package/dist/commonjs/utils/push/android.js.map +1 -1
  32. package/dist/commonjs/utils/push/internal/ios.js +32 -16
  33. package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
  34. package/dist/commonjs/utils/push/internal/rxSubjects.js +20 -1
  35. package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -1
  36. package/dist/commonjs/utils/push/internal/utils.js +16 -28
  37. package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
  38. package/dist/commonjs/utils/push/ios.js.map +1 -1
  39. package/dist/commonjs/utils/push/libs/callkeep.js +17 -0
  40. package/dist/commonjs/utils/push/libs/callkeep.js.map +1 -0
  41. package/dist/commonjs/utils/push/libs/index.js +19 -8
  42. package/dist/commonjs/utils/push/libs/index.js.map +1 -1
  43. package/dist/commonjs/utils/push/libs/notifee/index.js +19 -0
  44. package/dist/commonjs/utils/push/libs/notifee/index.js.map +1 -1
  45. package/dist/commonjs/utils/push/libs/voipPushNotification.js +17 -0
  46. package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +1 -0
  47. package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +205 -0
  48. package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +1 -0
  49. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +6 -7
  50. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
  51. package/dist/commonjs/version.js +1 -1
  52. package/dist/commonjs/version.js.map +1 -1
  53. package/dist/module/components/Call/CallContent/CallContent.js +7 -2
  54. package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
  55. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +8 -1
  56. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  57. package/dist/module/components/Call/CallContent/RTCViewPipNative.js +3 -0
  58. package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  59. package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +153 -0
  60. package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
  61. package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
  62. package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
  63. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +99 -66
  64. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  65. package/dist/module/index.js +0 -1
  66. package/dist/module/index.js.map +1 -1
  67. package/dist/module/modules/call-manager/CallManager.js +0 -26
  68. package/dist/module/modules/call-manager/CallManager.js.map +1 -1
  69. package/dist/module/providers/StreamCall/index.js +6 -6
  70. package/dist/module/providers/StreamCall/index.js.map +1 -1
  71. package/dist/module/utils/StreamVideoRN/index.js +21 -33
  72. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  73. package/dist/module/utils/internal/registerSDKGlobals.js +16 -53
  74. package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
  75. package/dist/module/utils/push/android.js +204 -157
  76. package/dist/module/utils/push/android.js.map +1 -1
  77. package/dist/module/utils/push/internal/ios.js +32 -16
  78. package/dist/module/utils/push/internal/ios.js.map +1 -1
  79. package/dist/module/utils/push/internal/rxSubjects.js +19 -0
  80. package/dist/module/utils/push/internal/rxSubjects.js.map +1 -1
  81. package/dist/module/utils/push/internal/utils.js +15 -25
  82. package/dist/module/utils/push/internal/utils.js.map +1 -1
  83. package/dist/module/utils/push/ios.js.map +1 -1
  84. package/dist/module/utils/push/libs/callkeep.js +11 -0
  85. package/dist/module/utils/push/libs/callkeep.js.map +1 -0
  86. package/dist/module/utils/push/libs/index.js +2 -1
  87. package/dist/module/utils/push/libs/index.js.map +1 -1
  88. package/dist/module/utils/push/libs/notifee/index.js +18 -0
  89. package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
  90. package/dist/module/utils/push/libs/voipPushNotification.js +11 -0
  91. package/dist/module/utils/push/libs/voipPushNotification.js.map +1 -0
  92. package/dist/module/utils/push/setupIosCallKeepEvents.js +199 -0
  93. package/dist/module/utils/push/setupIosCallKeepEvents.js.map +1 -0
  94. package/dist/module/utils/push/setupIosVoipPushEvents.js +6 -7
  95. package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
  96. package/dist/module/version.js +1 -1
  97. package/dist/module/version.js.map +1 -1
  98. package/dist/typescript/components/Call/CallContent/CallContent.d.ts +2 -2
  99. package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
  100. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts +4 -0
  101. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
  102. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts +9 -6
  103. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
  104. package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts +5 -0
  105. package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +1 -0
  106. package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
  107. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
  108. package/dist/typescript/index.d.ts +0 -1
  109. package/dist/typescript/index.d.ts.map +1 -1
  110. package/dist/typescript/modules/call-manager/CallManager.d.ts +0 -5
  111. package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
  112. package/dist/typescript/utils/StreamVideoRN/index.d.ts +2 -20
  113. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  114. package/dist/typescript/utils/StreamVideoRN/types.d.ts +29 -54
  115. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  116. package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
  117. package/dist/typescript/utils/push/android.d.ts +2 -1
  118. package/dist/typescript/utils/push/android.d.ts.map +1 -1
  119. package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
  120. package/dist/typescript/utils/push/internal/rxSubjects.d.ts +12 -0
  121. package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -1
  122. package/dist/typescript/utils/push/internal/utils.d.ts +1 -8
  123. package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
  124. package/dist/typescript/utils/push/ios.d.ts +2 -1
  125. package/dist/typescript/utils/push/ios.d.ts.map +1 -1
  126. package/dist/typescript/utils/push/libs/callkeep.d.ts +3 -0
  127. package/dist/typescript/utils/push/libs/callkeep.d.ts.map +1 -0
  128. package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts +2 -16
  129. package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts.map +1 -1
  130. package/dist/typescript/utils/push/libs/index.d.ts +2 -1
  131. package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
  132. package/dist/typescript/utils/push/libs/notifee/index.d.ts +1 -0
  133. package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
  134. package/dist/typescript/utils/push/libs/voipPushNotification.d.ts +3 -0
  135. package/dist/typescript/utils/push/libs/voipPushNotification.d.ts.map +1 -0
  136. package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts +6 -0
  137. package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts.map +1 -0
  138. package/dist/typescript/utils/push/setupIosVoipPushEvents.d.ts.map +1 -1
  139. package/dist/typescript/version.d.ts +1 -1
  140. package/dist/typescript/version.d.ts.map +1 -1
  141. package/expo-config-plugin/dist/withAndroidManifest.js +33 -1
  142. package/expo-config-plugin/dist/withAndroidPermissions.js +7 -2
  143. package/expo-config-plugin/dist/withAppDelegate.js +197 -19
  144. package/expo-config-plugin/dist/withMainActivity.js +1 -1
  145. package/expo-config-plugin/dist/withiOSInfoPlist.js +3 -2
  146. package/ios/PictureInPicture/StreamAVPictureInPictureVideoCallViewController.swift +8 -0
  147. package/ios/PictureInPicture/StreamPictureInPictureController.swift +8 -0
  148. package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +10 -0
  149. package/ios/RTCViewPip.swift +6 -0
  150. package/ios/RTCViewPipManager.mm +1 -0
  151. package/ios/StreamInCallManager.m +0 -2
  152. package/ios/StreamInCallManager.swift +7 -19
  153. package/ios/StreamVideoReactNative.h +4 -7
  154. package/ios/StreamVideoReactNative.m +102 -191
  155. package/package.json +19 -14
  156. package/src/components/Call/CallContent/CallContent.tsx +6 -1
  157. package/src/components/Call/CallContent/RTCViewPipIOS.tsx +18 -2
  158. package/src/components/Call/CallContent/RTCViewPipNative.tsx +4 -7
  159. package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +235 -0
  160. package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +34 -21
  161. package/src/hooks/useAndroidKeepCallAliveEffect.ts +120 -94
  162. package/src/index.ts +0 -1
  163. package/src/modules/call-manager/CallManager.ts +0 -36
  164. package/src/modules/call-manager/native-module.d.ts +0 -7
  165. package/src/providers/StreamCall/index.tsx +6 -6
  166. package/src/utils/StreamVideoRN/index.ts +30 -40
  167. package/src/utils/StreamVideoRN/types.ts +29 -56
  168. package/src/utils/internal/registerSDKGlobals.ts +23 -47
  169. package/src/utils/push/android.ts +309 -231
  170. package/src/utils/push/internal/ios.ts +42 -27
  171. package/src/utils/push/internal/rxSubjects.ts +29 -0
  172. package/src/utils/push/internal/utils.ts +15 -38
  173. package/src/utils/push/ios.ts +6 -1
  174. package/src/utils/push/libs/callkeep.ts +16 -0
  175. package/src/utils/push/libs/index.ts +2 -1
  176. package/src/utils/push/libs/notifee/index.ts +27 -0
  177. package/src/utils/push/libs/voipPushNotification.ts +17 -0
  178. package/src/utils/push/setupIosCallKeepEvents.ts +252 -0
  179. package/src/utils/push/setupIosVoipPushEvents.ts +7 -11
  180. package/src/version.ts +1 -1
  181. package/android/src/main/java/com/streamvideo/reactnative/keepalive/KeepAliveNotification.kt +0 -83
  182. package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +0 -134
  183. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +0 -121
  184. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
  185. package/dist/commonjs/utils/internal/audioSessionPromise.js +0 -57
  186. package/dist/commonjs/utils/internal/audioSessionPromise.js.map +0 -1
  187. package/dist/commonjs/utils/internal/callingx.js +0 -136
  188. package/dist/commonjs/utils/internal/callingx.js.map +0 -1
  189. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +0 -48
  190. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +0 -1
  191. package/dist/commonjs/utils/push/libs/callingx.js +0 -75
  192. package/dist/commonjs/utils/push/libs/callingx.js.map +0 -1
  193. package/dist/commonjs/utils/push/setupCallingExpEvents.js +0 -97
  194. package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +0 -1
  195. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +0 -114
  196. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
  197. package/dist/module/utils/internal/audioSessionPromise.js +0 -50
  198. package/dist/module/utils/internal/audioSessionPromise.js.map +0 -1
  199. package/dist/module/utils/internal/callingx.js +0 -127
  200. package/dist/module/utils/internal/callingx.js.map +0 -1
  201. package/dist/module/utils/keepCallAliveHeadlessTask.js +0 -42
  202. package/dist/module/utils/keepCallAliveHeadlessTask.js.map +0 -1
  203. package/dist/module/utils/push/libs/callingx.js +0 -67
  204. package/dist/module/utils/push/libs/callingx.js.map +0 -1
  205. package/dist/module/utils/push/setupCallingExpEvents.js +0 -91
  206. package/dist/module/utils/push/setupCallingExpEvents.js.map +0 -1
  207. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts +0 -5
  208. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +0 -1
  209. package/dist/typescript/utils/internal/audioSessionPromise.d.ts +0 -16
  210. package/dist/typescript/utils/internal/audioSessionPromise.d.ts.map +0 -1
  211. package/dist/typescript/utils/internal/callingx.d.ts +0 -13
  212. package/dist/typescript/utils/internal/callingx.d.ts.map +0 -1
  213. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +0 -10
  214. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +0 -1
  215. package/dist/typescript/utils/push/libs/callingx.d.ts +0 -9
  216. package/dist/typescript/utils/push/libs/callingx.d.ts.map +0 -1
  217. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts +0 -8
  218. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +0 -1
  219. package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +0 -147
  220. package/src/utils/internal/audioSessionPromise.ts +0 -52
  221. package/src/utils/internal/callingx.ts +0 -192
  222. package/src/utils/keepCallAliveHeadlessTask.ts +0 -54
  223. package/src/utils/push/libs/callingx.ts +0 -90
  224. package/src/utils/push/setupCallingExpEvents.ts +0 -117
@@ -1 +1 @@
1
- {"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,QAAQ","ignoreList":[]}
@@ -25,6 +25,7 @@ export const CallContent = ({
25
25
  ParticipantVideoFallback,
26
26
  ParticipantView,
27
27
  VideoRenderer,
28
+ mirror,
28
29
  layout = 'grid',
29
30
  landscape = false,
30
31
  supportedReactions,
@@ -106,6 +107,7 @@ export const CallContent = ({
106
107
  landscape,
107
108
  showLocalParticipant: isRemoteParticipantInFloatingView,
108
109
  ParticipantView,
110
+ mirror,
109
111
  CallParticipantsList,
110
112
  supportedReactions
111
113
  };
@@ -113,6 +115,7 @@ export const CallContent = ({
113
115
  ...participantViewProps,
114
116
  landscape,
115
117
  ParticipantView,
118
+ mirror,
116
119
  CallParticipantsList,
117
120
  ScreenShareOverlay,
118
121
  supportedReactions
@@ -121,7 +124,8 @@ export const CallContent = ({
121
124
  flexDirection: landscape ? 'row' : 'column'
122
125
  };
123
126
  return /*#__PURE__*/React.createElement(React.Fragment, null, !disablePictureInPicture && /*#__PURE__*/React.createElement(RTCViewPipIOS, {
124
- includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo
127
+ includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo,
128
+ mirror: mirror
125
129
  }), /*#__PURE__*/React.createElement(View, {
126
130
  style: [styles.container, landscapeStyles, callContent.container]
127
131
  }, /*#__PURE__*/React.createElement(View, {
@@ -136,7 +140,8 @@ export const CallContent = ({
136
140
  participant: isRemoteParticipantInFloatingView ? remoteParticipants[0] : localParticipant,
137
141
  onPressHandler: handleFloatingViewParticipantSwitch,
138
142
  supportedReactions: supportedReactions,
139
- objectFit: "cover"
143
+ objectFit: "cover",
144
+ mirror: mirror
140
145
  }, participantViewProps))), showSpotlightLayout ? /*#__PURE__*/React.createElement(CallParticipantsSpotlight, callParticipantsSpotlightProps) : /*#__PURE__*/React.createElement(CallParticipantsGrid, callParticipantsGridProps)), !isInPiPMode && CallControls && /*#__PURE__*/React.createElement(CallControls, {
141
146
  onHangupCallHandler: onHangupCallHandler,
142
147
  landscape: landscape
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","CallParticipantsGrid","CallParticipantsSpotlight","CallControls","DefaultCallControls","useCall","useCallStateHooks","CallingState","videoLoggerSystem","Z_INDEX","useDebouncedValue","FloatingParticipantView","DefaultFloatingParticipantView","useTheme","useAutoEnterPiPEffect","useIsInPiPMode","ScreenShareOverlay","DefaultScreenShareOverlay","RTCViewPipIOS","getRNInCallManagerLibNoThrow","CallContent","onHangupCallHandler","CallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","styles","useStyles","theme","callContent","call","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","_remoteParticipants","remoteParticipants","localParticipant","isInPiPMode","hasScreenShare","showSpotlightLayout","OS","unsubFunc","on","getLogger","debug","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","LEFT","unsubscribe","showFloatingView","length","isRemoteParticipantInFloatingView","incallManagerModeRef","prevInCallManager","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","includeLocalParticipantVideo","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","_extends","participant","onPressHandler","objectFit","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","CallParticipantsGrid","CallParticipantsSpotlight","CallControls","DefaultCallControls","useCall","useCallStateHooks","CallingState","videoLoggerSystem","Z_INDEX","useDebouncedValue","FloatingParticipantView","DefaultFloatingParticipantView","useTheme","useAutoEnterPiPEffect","useIsInPiPMode","ScreenShareOverlay","DefaultScreenShareOverlay","RTCViewPipIOS","getRNInCallManagerLibNoThrow","CallContent","onHangupCallHandler","CallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","mirror","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","styles","useStyles","theme","callContent","call","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","_remoteParticipants","remoteParticipants","localParticipant","isInPiPMode","hasScreenShare","showSpotlightLayout","OS","unsubFunc","on","getLogger","debug","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","LEFT","unsubscribe","showFloatingView","length","isRemoteParticipantInFloatingView","incallManagerModeRef","prevInCallManager","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","includeLocalParticipantVideo","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","_extends","participant","onPressHandler","objectFit","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,15 +10,20 @@ import { isInPiPMode$ } from '../../../utils/internal/rxSubjects';
10
10
  export const RTCViewPipIOS = /*#__PURE__*/React.memo(props => {
11
11
  const {
12
12
  includeLocalParticipantVideo,
13
+ mirror: mirrorOverride,
13
14
  onPiPChange
14
15
  } = props;
15
16
  const call = useCall();
16
17
  const {
17
- useParticipants
18
+ useParticipants,
19
+ useCameraState
18
20
  } = useCallStateHooks();
19
21
  const _allParticipants = useParticipants({
20
22
  sortBy: speakerLayoutSortPreset
21
23
  });
24
+ const {
25
+ direction
26
+ } = useCameraState();
22
27
  const allParticipants = useDebouncedValue(_allParticipants, 300); // we debounce the participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
23
28
 
24
29
  const [dominantSpeaker, dominantSpeaker2] = allParticipants.filter(participant => includeLocalParticipantVideo ? true : !participant.isLocalParticipant);
@@ -74,6 +79,7 @@ export const RTCViewPipIOS = /*#__PURE__*/React.memo(props => {
74
79
  } = participantInSpotlight || {};
75
80
  const isScreenSharing = participantInSpotlight ? hasScreenShare(participantInSpotlight) : false;
76
81
  const videoStreamToRender = isScreenSharing ? screenShareStream : videoStream;
82
+ const mirror = isScreenSharing ? false : mirrorOverride !== undefined ? mirrorOverride : !!participantInSpotlight?.isLocalParticipant && direction === 'front';
77
83
  const streamURL = useMemo(() => {
78
84
  if (!videoStreamToRender) {
79
85
  return undefined;
@@ -86,6 +92,7 @@ export const RTCViewPipIOS = /*#__PURE__*/React.memo(props => {
86
92
  };
87
93
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RTCViewPipNative, {
88
94
  streamURL: streamURL,
95
+ mirror: mirror,
89
96
  ref: nativeRef,
90
97
  onPiPChange: handlePiPChange
91
98
  }), participantInSpotlight && /*#__PURE__*/React.createElement(DimensionsUpdatedRenderless, {
@@ -1 +1 @@
1
- {"version":3,"names":["CallingState","hasScreenShare","speakerLayoutSortPreset","videoLoggerSystem","useCall","useCallStateHooks","React","useEffect","useMemo","useCallback","findNodeHandle","onNativeCallClosed","onNativeDimensionsUpdated","RTCViewPipNative","useDebouncedValue","shouldDisableIOSLocalVideoOnBackgroundRef","useTrackDimensions","isInPiPMode$","RTCViewPipIOS","memo","props","includeLocalParticipantVideo","onPiPChange","call","useParticipants","_allParticipants","sortBy","allParticipants","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","unsubFunc","on","getLogger","debug","subscription","state","callingState$","subscribe","LEFT","unsubscribe","onDimensionsUpdated","width","height","videoStream","screenShareStream","isScreenSharing","videoStreamToRender","streamURL","undefined","toURL","handlePiPChange","event","next","nativeEvent","active","createElement","Fragment","ref","DimensionsUpdatedRenderless","trackType","key","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CallingState","hasScreenShare","speakerLayoutSortPreset","videoLoggerSystem","useCall","useCallStateHooks","React","useEffect","useMemo","useCallback","findNodeHandle","onNativeCallClosed","onNativeDimensionsUpdated","RTCViewPipNative","useDebouncedValue","shouldDisableIOSLocalVideoOnBackgroundRef","useTrackDimensions","isInPiPMode$","RTCViewPipIOS","memo","props","includeLocalParticipantVideo","mirror","mirrorOverride","onPiPChange","call","useParticipants","useCameraState","_allParticipants","sortBy","direction","allParticipants","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","unsubFunc","on","getLogger","debug","subscription","state","callingState$","subscribe","LEFT","unsubscribe","onDimensionsUpdated","width","height","videoStream","screenShareStream","isScreenSharing","videoStreamToRender","undefined","streamURL","toURL","handlePiPChange","event","next","nativeEvent","active","createElement","Fragment","ref","DimensionsUpdatedRenderless","trackType","key","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
@@ -31,6 +31,9 @@ export const RTCViewPipNative = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwa
31
31
  streamURL: props.streamURL
32
32
  // eslint-disable-next-line react/prop-types
33
33
  ,
34
+ mirror: props.mirror
35
+ // eslint-disable-next-line react/prop-types
36
+ ,
34
37
  onPiPChange: props.onPiPChange
35
38
  // @ts-expect-error - types issue
36
39
  ,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","requireNativeComponent","StyleSheet","UIManager","videoLoggerSystem","COMPONENT_NAME","NativeComponent","onNativeCallClosed","reactTag","getLogger","debug","commandId","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","memo","forwardRef","props","ref","OS","createElement","style","absoluteFill","pointerEvents","streamURL","onPiPChange"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAEEC,QAAQ,EACRC,sBAAsB,EACtBC,UAAU,EACVC,SAAS,QACJ,cAAc;AACrB,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,MAAMC,cAAc,GAAG,YAAY;AAWnC,MAAMC,eAAqD,GACzDL,sBAAsB,CAACI,cAAc,CAAC;AAExC,OAAO,SAASE,kBAAkBA,CAACC,QAAgB,EAAE;EACnDJ,iBAAiB,CAACK,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACH,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEA,OAAO,SAASK,yBAAyBA,CACvCR,QAAgB,EAChBS,KAAa,EACbC,MAAc,EACd;EACAd,iBAAiB,CACdK,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCO,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMP,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACR,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,CAACM,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACA,OAAO,MAAME,gBAAgB,gBAAGrB,KAAK,CAACsB,IAAI,cACxCtB,KAAK,CAACuB,UAAU,CAMd,CAACC,KAAK,EAAEC,GAAG,KAAK;EAChB,IAAIxB,QAAQ,CAACyB,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACE1B,KAAA,CAAA2B,aAAA,CAACpB,eAAe;IACdqB,KAAK,EAAEzB,UAAU,CAAC0B,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAEP,KAAK,CAACO;IACjB;IAAA;IACAC,WAAW,EAAER,KAAK,CAACQ;IACnB;IAAA;IACAP,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","requireNativeComponent","StyleSheet","UIManager","videoLoggerSystem","COMPONENT_NAME","NativeComponent","onNativeCallClosed","reactTag","getLogger","debug","commandId","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","memo","forwardRef","props","ref","OS","createElement","style","absoluteFill","pointerEvents","streamURL","mirror","onPiPChange"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAEEC,QAAQ,EACRC,sBAAsB,EACtBC,UAAU,EACVC,SAAS,QACJ,cAAc;AACrB,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,MAAMC,cAAc,GAAG,YAAY;AAYnC,MAAMC,eAAqD,GACzDL,sBAAsB,CAACI,cAAc,CAAC;AAExC,OAAO,SAASE,kBAAkBA,CAACC,QAAgB,EAAE;EACnDJ,iBAAiB,CAACK,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACH,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEA,OAAO,SAASK,yBAAyBA,CACvCR,QAAgB,EAChBS,KAAa,EACbC,MAAc,EACd;EACAd,iBAAiB,CACdK,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCO,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMP,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACR,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,CAACM,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACA,OAAO,MAAME,gBAAgB,gBAAGrB,KAAK,CAACsB,IAAI,cACxCtB,KAAK,CAACuB,UAAU,CAAwC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtE,IAAIxB,QAAQ,CAACyB,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACE1B,KAAA,CAAA2B,aAAA,CAACpB,eAAe;IACdqB,KAAK,EAAEzB,UAAU,CAAC0B,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAEP,KAAK,CAACO;IACjB;IAAA;IACAC,MAAM,EAAER,KAAK,CAACQ;IACd;IAAA;IACAC,WAAW,EAAET,KAAK,CAACS;IACnB;IAAA;IACAR,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}
@@ -0,0 +1,153 @@
1
+ import { CallingState, RxUtils, videoLoggerSystem } from '@stream-io/video-client';
2
+ import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
3
+ import { NativeModules, Platform } from 'react-native';
4
+ import { useEffect, useState } from 'react';
5
+ import { StreamVideoRN } from '../../utils';
6
+ import { getCallKeepLib } from '../../utils/push/libs';
7
+ import { voipCallkeepAcceptedCallOnNativeDialerMap$, voipCallkeepCallOnForegroundMap$, voipPushNotificationCallCId$ } from '../../utils/push/internal/rxSubjects';
8
+ const isNonActiveCallingState = callingState => {
9
+ return callingState === CallingState.IDLE || callingState === CallingState.UNKNOWN || callingState === CallingState.LEFT;
10
+ };
11
+ const isAcceptedCallingState = callingState => {
12
+ return callingState === CallingState.JOINING || callingState === CallingState.JOINED;
13
+ };
14
+ const unsubscribeCallkeepEvents = async activeCallCid => {
15
+ const voipPushNotificationCallCId = RxUtils.getCurrentValue(voipPushNotificationCallCId$);
16
+ if (activeCallCid && activeCallCid === voipPushNotificationCallCId) {
17
+ // callkeep events should not be listened anymore so clear the call cid
18
+ voipPushNotificationCallCId$.next(undefined);
19
+ }
20
+ return await NativeModules.StreamVideoReactNative?.removeIncomingCall(activeCallCid);
21
+ };
22
+ const logger = videoLoggerSystem.getLogger('useIosCallkeepWithCallingStateEffect');
23
+ const log = message => {
24
+ logger.warn(message);
25
+ };
26
+
27
+ /**
28
+ * This hook is used to inform the callkeep library that the call has been joined or ended.
29
+ */
30
+ export const useIosCallkeepWithCallingStateEffect = () => {
31
+ const activeCall = useCall();
32
+ const {
33
+ useCallCallingState
34
+ } = useCallStateHooks();
35
+ const callingState = useCallCallingState();
36
+ const [acceptedForegroundCallkeepMap, setAcceptedForegroundCallkeepMap] = useState();
37
+ useEffect(() => {
38
+ return () => {
39
+ const pushConfig = StreamVideoRN.getConfig().push;
40
+ if (Platform.OS !== 'ios' || !pushConfig || !pushConfig.ios?.pushProviderName) {
41
+ return;
42
+ }
43
+ if (!pushConfig.android.incomingCallChannel) {
44
+ // TODO: remove this check and find a better way once we have telecom integration for android
45
+ return;
46
+ }
47
+ const callkeep = getCallKeepLib();
48
+ // if the component is unmounted and the callID was not reported to callkeep, then report it now
49
+ if (acceptedForegroundCallkeepMap) {
50
+ log(`Ending call in callkeep: ${acceptedForegroundCallkeepMap.cid}, reason: component unmounted and call was present in acceptedForegroundCallkeepMap`);
51
+ unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid).then(() => callkeep.endCall(acceptedForegroundCallkeepMap.uuid));
52
+ }
53
+ };
54
+ }, [acceptedForegroundCallkeepMap]);
55
+ const activeCallCid = activeCall?.cid;
56
+ useEffect(() => {
57
+ return () => {
58
+ const pushConfig = StreamVideoRN.getConfig().push;
59
+ if (Platform.OS !== 'ios' || !pushConfig || !pushConfig.ios?.pushProviderName || !activeCallCid) {
60
+ return;
61
+ }
62
+ if (!pushConfig.android.incomingCallChannel) {
63
+ // TODO: remove this check and find a better way once we have telecom integration for android
64
+ return;
65
+ }
66
+ const nativeDialerAcceptedCallMap = RxUtils.getCurrentValue(voipCallkeepAcceptedCallOnNativeDialerMap$);
67
+ const foregroundIncomingCallkeepMap = RxUtils.getCurrentValue(voipCallkeepCallOnForegroundMap$);
68
+ const callkeep = getCallKeepLib();
69
+ if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
70
+ log(`Ending call in callkeep: ${activeCallCid}, reason: activeCallCid changed or was removed and call was present in nativeDialerAcceptedCallMap`);
71
+ unsubscribeCallkeepEvents(activeCallCid).then(() => callkeep.endCall(nativeDialerAcceptedCallMap.uuid));
72
+ // no need to keep this reference anymore
73
+ voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
74
+ } else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
75
+ log(`Ending call in callkeep: ${activeCallCid}, reason: activeCallCid changed or was removed and call was present in foregroundIncomingCallkeepMap`);
76
+ unsubscribeCallkeepEvents(activeCallCid).then(() => callkeep.endCall(foregroundIncomingCallkeepMap.uuid));
77
+ }
78
+ };
79
+ }, [activeCallCid]);
80
+ const pushConfig = StreamVideoRN.getConfig().push;
81
+ if (Platform.OS !== 'ios' || !pushConfig || !pushConfig.ios.pushProviderName || !activeCallCid) {
82
+ return;
83
+ }
84
+ if (!pushConfig.android.incomingCallChannel) {
85
+ // TODO: remove this check and find a better way once we have telecom integration for android
86
+ return;
87
+ }
88
+
89
+ /**
90
+ * Check if current call is still needed to be accepted in callkeep
91
+ */
92
+ if (isAcceptedCallingState(callingState) && acceptedForegroundCallkeepMap?.cid !== activeCallCid) {
93
+ const callkeep = getCallKeepLib();
94
+ // push notification was displayed
95
+ // but the call has been accepted through the app and not through the native dialer
96
+ const foregroundCallkeepMap = RxUtils.getCurrentValue(voipCallkeepCallOnForegroundMap$);
97
+ if (foregroundCallkeepMap && foregroundCallkeepMap.cid === activeCallCid) {
98
+ log(
99
+ // @ts-expect-error - types issue
100
+ `Accepting call in callkeep: ${activeCallCid}, reason: callingstate went to ${CallingState[callingState]} and call was present in foregroundCallkeepMap`);
101
+ // no need to keep this reference anymore
102
+ voipCallkeepCallOnForegroundMap$.next(undefined);
103
+ NativeModules.StreamVideoReactNative?.removeIncomingCall(activeCallCid).then(() => callkeep.answerIncomingCall(foregroundCallkeepMap.uuid));
104
+ // this call should be accepted in callkeep
105
+ setAcceptedForegroundCallkeepMap(foregroundCallkeepMap);
106
+ }
107
+ }
108
+
109
+ /**
110
+ * Check if current call is still needed to be ended in callkeep
111
+ */
112
+ if (isNonActiveCallingState(callingState)) {
113
+ const callkeep = getCallKeepLib();
114
+
115
+ // this was a previously joined call which had push notification displayed
116
+ // the call was accepted through the app and not through native dialer
117
+ // the call was left using the leave button in the app and not through native dialer
118
+ if (activeCallCid === acceptedForegroundCallkeepMap?.cid) {
119
+ log(
120
+ // @ts-expect-error - types issue
121
+ `Ending call in callkeep: ${activeCallCid}, reason: callingstate went to ${CallingState[callingState]} and call was present in acceptedForegroundCallkeepMap`);
122
+ unsubscribeCallkeepEvents(activeCallCid).then(() => callkeep.endCall(acceptedForegroundCallkeepMap.uuid));
123
+ setAcceptedForegroundCallkeepMap(undefined);
124
+ return;
125
+ }
126
+ // this was a call which had push notification displayed but never joined
127
+ // the user rejected in the app and not from native dialer
128
+ const foregroundIncomingCallkeepMap = RxUtils.getCurrentValue(voipCallkeepCallOnForegroundMap$);
129
+ if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
130
+ log(
131
+ // @ts-expect-error - types issue
132
+ `Ending call in callkeep: ${activeCallCid}, reason: callingstate went to ${CallingState[callingState]} and call was present in foregroundIncomingCallkeepMap`);
133
+ unsubscribeCallkeepEvents(activeCallCid).then(() => callkeep.endCall(foregroundIncomingCallkeepMap.uuid));
134
+ // no need to keep this reference anymore
135
+ voipCallkeepCallOnForegroundMap$.next(undefined);
136
+ return;
137
+ }
138
+ // this was a previously joined call
139
+ // it was an accepted call from native dialer and not from the app
140
+ // the user left using the leave button in the app
141
+ const nativeDialerAcceptedCallMap = RxUtils.getCurrentValue(voipCallkeepAcceptedCallOnNativeDialerMap$);
142
+ if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
143
+ log(
144
+ // @ts-expect-error - types issue
145
+ `Ending call in callkeep: ${activeCallCid}, reason: callingstate went to ${CallingState[callingState]} and call was present in nativeDialerAcceptedCallMap`);
146
+ unsubscribeCallkeepEvents(activeCallCid).then(() => callkeep.endCall(nativeDialerAcceptedCallMap.uuid));
147
+ // no need to keep this reference anymore
148
+ voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
149
+ return;
150
+ }
151
+ }
152
+ };
153
+ //# sourceMappingURL=useIosCallkeepWithCallingStateEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CallingState","RxUtils","videoLoggerSystem","useCall","useCallStateHooks","NativeModules","Platform","useEffect","useState","StreamVideoRN","getCallKeepLib","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","voipPushNotificationCallCId$","isNonActiveCallingState","callingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","unsubscribeCallkeepEvents","activeCallCid","voipPushNotificationCallCId","getCurrentValue","next","undefined","StreamVideoReactNative","removeIncomingCall","logger","getLogger","log","message","warn","useIosCallkeepWithCallingStateEffect","activeCall","useCallCallingState","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","pushConfig","getConfig","push","OS","ios","pushProviderName","android","incomingCallChannel","callkeep","cid","then","endCall","uuid","nativeDialerAcceptedCallMap","foregroundIncomingCallkeepMap","foregroundCallkeepMap","answerIncomingCall"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"mappings":"AAAA,SACEA,YAAY,EACZC,OAAO,EACPC,iBAAiB,QACZ,yBAAyB;AAChC,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SACEC,0CAA0C,EAC1CC,gCAAgC,EAChCC,4BAA4B,QACvB,sCAAsC;AAE7C,MAAMC,uBAAuB,GAAIC,YAA0B,IAAK;EAC9D,OACEA,YAAY,KAAKf,YAAY,CAACgB,IAAI,IAClCD,YAAY,KAAKf,YAAY,CAACiB,OAAO,IACrCF,YAAY,KAAKf,YAAY,CAACkB,IAAI;AAEtC,CAAC;AAED,MAAMC,sBAAsB,GAAIJ,YAA0B,IAAK;EAC7D,OACEA,YAAY,KAAKf,YAAY,CAACoB,OAAO,IACrCL,YAAY,KAAKf,YAAY,CAACqB,MAAM;AAExC,CAAC;AAED,MAAMC,yBAAyB,GAAG,MAAOC,aAAiC,IAAK;EAC7E,MAAMC,2BAA2B,GAAGvB,OAAO,CAACwB,eAAe,CACzDZ,4BACF,CAAC;EACD,IAAIU,aAAa,IAAIA,aAAa,KAAKC,2BAA2B,EAAE;IAClE;IACAX,4BAA4B,CAACa,IAAI,CAACC,SAAS,CAAC;EAC9C;EACA,OAAO,MAAMtB,aAAa,CAACuB,sBAAsB,EAAEC,kBAAkB,CACnEN,aACF,CAAC;AACH,CAAC;AAED,MAAMO,MAAM,GAAG5B,iBAAiB,CAAC6B,SAAS,CACxC,sCACF,CAAC;AACD,MAAMC,GAAG,GAAIC,OAAe,IAAK;EAC/BH,MAAM,CAACI,IAAI,CAACD,OAAO,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAME,oCAAoC,GAAGA,CAAA,KAAM;EACxD,MAAMC,UAAU,GAAGjC,OAAO,CAAC,CAAC;EAC5B,MAAM;IAAEkC;EAAoB,CAAC,GAAGjC,iBAAiB,CAAC,CAAC;EACnD,MAAMW,YAAY,GAAGsB,mBAAmB,CAAC,CAAC;EAC1C,MAAM,CAACC,6BAA6B,EAAEC,gCAAgC,CAAC,GACrE/B,QAAQ,CAGL,CAAC;EAEND,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,MAAMiC,UAAU,GAAG/B,aAAa,CAACgC,SAAS,CAAC,CAAC,CAACC,IAAI;MACjD,IACEpC,QAAQ,CAACqC,EAAE,KAAK,KAAK,IACrB,CAACH,UAAU,IACX,CAACA,UAAU,CAACI,GAAG,EAAEC,gBAAgB,EACjC;QACA;MACF;MACA,IAAI,CAACL,UAAU,CAACM,OAAO,CAACC,mBAAmB,EAAE;QAC3C;QACA;MACF;MAEA,MAAMC,QAAQ,GAAGtC,cAAc,CAAC,CAAC;MACjC;MACA,IAAI4B,6BAA6B,EAAE;QACjCN,GAAG,CACD,4BAA4BM,6BAA6B,CAACW,GAAG,qFAC/D,CAAC;QACD3B,yBAAyB,CAACgB,6BAA6B,CAACW,GAAG,CAAC,CAACC,IAAI,CAAC,MAChEF,QAAQ,CAACG,OAAO,CAACb,6BAA6B,CAACc,IAAI,CACrD,CAAC;MACH;IACF,CAAC;EACH,CAAC,EAAE,CAACd,6BAA6B,CAAC,CAAC;EAEnC,MAAMf,aAAa,GAAGa,UAAU,EAAEa,GAAG;EAErC1C,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,MAAMiC,UAAU,GAAG/B,aAAa,CAACgC,SAAS,CAAC,CAAC,CAACC,IAAI;MACjD,IACEpC,QAAQ,CAACqC,EAAE,KAAK,KAAK,IACrB,CAACH,UAAU,IACX,CAACA,UAAU,CAACI,GAAG,EAAEC,gBAAgB,IACjC,CAACtB,aAAa,EACd;QACA;MACF;MACA,IAAI,CAACiB,UAAU,CAACM,OAAO,CAACC,mBAAmB,EAAE;QAC3C;QACA;MACF;MACA,MAAMM,2BAA2B,GAAGpD,OAAO,CAACwB,eAAe,CACzDd,0CACF,CAAC;MACD,MAAM2C,6BAA6B,GAAGrD,OAAO,CAACwB,eAAe,CAC3Db,gCACF,CAAC;MACD,MAAMoC,QAAQ,GAAGtC,cAAc,CAAC,CAAC;MACjC,IAAIa,aAAa,KAAK8B,2BAA2B,EAAEJ,GAAG,EAAE;QACtDjB,GAAG,CACD,4BAA4BT,aAAa,oGAC3C,CAAC;QACDD,yBAAyB,CAACC,aAAa,CAAC,CAAC2B,IAAI,CAAC,MAC5CF,QAAQ,CAACG,OAAO,CAACE,2BAA2B,CAACD,IAAI,CACnD,CAAC;QACD;QACAzC,0CAA0C,CAACe,IAAI,CAACC,SAAS,CAAC;MAC5D,CAAC,MAAM,IAAIJ,aAAa,KAAK+B,6BAA6B,EAAEL,GAAG,EAAE;QAC/DjB,GAAG,CACD,4BAA4BT,aAAa,sGAC3C,CAAC;QACDD,yBAAyB,CAACC,aAAa,CAAC,CAAC2B,IAAI,CAAC,MAC5CF,QAAQ,CAACG,OAAO,CAACG,6BAA6B,CAACF,IAAI,CACrD,CAAC;MACH;IACF,CAAC;EACH,CAAC,EAAE,CAAC7B,aAAa,CAAC,CAAC;EAEnB,MAAMiB,UAAU,GAAG/B,aAAa,CAACgC,SAAS,CAAC,CAAC,CAACC,IAAI;EACjD,IACEpC,QAAQ,CAACqC,EAAE,KAAK,KAAK,IACrB,CAACH,UAAU,IACX,CAACA,UAAU,CAACI,GAAG,CAACC,gBAAgB,IAChC,CAACtB,aAAa,EACd;IACA;EACF;EACA,IAAI,CAACiB,UAAU,CAACM,OAAO,CAACC,mBAAmB,EAAE;IAC3C;IACA;EACF;;EAEA;AACF;AACA;EACE,IACE5B,sBAAsB,CAACJ,YAAY,CAAC,IACpCuB,6BAA6B,EAAEW,GAAG,KAAK1B,aAAa,EACpD;IACA,MAAMyB,QAAQ,GAAGtC,cAAc,CAAC,CAAC;IACjC;IACA;IACA,MAAM6C,qBAAqB,GAAGtD,OAAO,CAACwB,eAAe,CACnDb,gCACF,CAAC;IACD,IAAI2C,qBAAqB,IAAIA,qBAAqB,CAACN,GAAG,KAAK1B,aAAa,EAAE;MACxES,GAAG;MACD;MACA,+BAA+BT,aAAa,kCAAkCvB,YAAY,CAACe,YAAY,CAAC,gDAC1G,CAAC;MACD;MACAH,gCAAgC,CAACc,IAAI,CAACC,SAAS,CAAC;MAChDtB,aAAa,CAACuB,sBAAsB,EAAEC,kBAAkB,CACtDN,aACF,CAAC,CAAC2B,IAAI,CAAC,MAAMF,QAAQ,CAACQ,kBAAkB,CAACD,qBAAqB,CAACH,IAAI,CAAC,CAAC;MACrE;MACAb,gCAAgC,CAACgB,qBAAqB,CAAC;IACzD;EACF;;EAEA;AACF;AACA;EACE,IAAIzC,uBAAuB,CAACC,YAAY,CAAC,EAAE;IACzC,MAAMiC,QAAQ,GAAGtC,cAAc,CAAC,CAAC;;IAEjC;IACA;IACA;IACA,IAAIa,aAAa,KAAKe,6BAA6B,EAAEW,GAAG,EAAE;MACxDjB,GAAG;MACD;MACA,4BAA4BT,aAAa,kCAAkCvB,YAAY,CAACe,YAAY,CAAC,wDACvG,CAAC;MACDO,yBAAyB,CAACC,aAAa,CAAC,CAAC2B,IAAI,CAAC,MAC5CF,QAAQ,CAACG,OAAO,CAACb,6BAA6B,CAACc,IAAI,CACrD,CAAC;MACDb,gCAAgC,CAACZ,SAAS,CAAC;MAC3C;IACF;IACA;IACA;IACA,MAAM2B,6BAA6B,GAAGrD,OAAO,CAACwB,eAAe,CAC3Db,gCACF,CAAC;IACD,IAAIW,aAAa,KAAK+B,6BAA6B,EAAEL,GAAG,EAAE;MACxDjB,GAAG;MACD;MACA,4BAA4BT,aAAa,kCAAkCvB,YAAY,CAACe,YAAY,CAAC,wDACvG,CAAC;MACDO,yBAAyB,CAACC,aAAa,CAAC,CAAC2B,IAAI,CAAC,MAC5CF,QAAQ,CAACG,OAAO,CAACG,6BAA6B,CAACF,IAAI,CACrD,CAAC;MACD;MACAxC,gCAAgC,CAACc,IAAI,CAACC,SAAS,CAAC;MAChD;IACF;IACA;IACA;IACA;IACA,MAAM0B,2BAA2B,GAAGpD,OAAO,CAACwB,eAAe,CACzDd,0CACF,CAAC;IACD,IAAIY,aAAa,KAAK8B,2BAA2B,EAAEJ,GAAG,EAAE;MACtDjB,GAAG;MACD;MACA,4BAA4BT,aAAa,kCAAkCvB,YAAY,CAACe,YAAY,CAAC,sDACvG,CAAC;MACDO,yBAAyB,CAACC,aAAa,CAAC,CAAC2B,IAAI,CAAC,MAC5CF,QAAQ,CAACG,OAAO,CAACE,2BAA2B,CAACD,IAAI,CACnD,CAAC;MACD;MACAzC,0CAA0C,CAACe,IAAI,CAACC,SAAS,CAAC;MAC1D;IACF;EACF;AACF,CAAC","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  import { useEffect, useRef, useState } from 'react';
2
+ import { getVoipPushNotificationLib } from '../../utils/push/libs';
2
3
  import { Platform } from 'react-native';
3
4
  import { StreamVideoRN } from '../../utils';
4
5
  import { onVoipNotificationReceived } from '../../utils/push/internal/ios';
5
6
  import { useConnectedUser, useStreamVideoClient } from '@stream-io/video-react-bindings';
6
7
  import { setPushLogoutCallback } from '../../utils/internal/pushLogoutCallback';
7
8
  import { videoLoggerSystem } from '@stream-io/video-client';
8
- import { getCallingxLibIfAvailable } from '../../utils/push/libs';
9
9
  const logger = videoLoggerSystem.getLogger('useIosVoipPushEventsSetupEffect');
10
10
 
11
11
  /* VoipPushNotificationLib has support for only one listener type at a time
@@ -23,7 +23,6 @@ function setLogoutCallback(client, token, lastVoipTokenRef) {
23
23
  };
24
24
  try {
25
25
  await client.removeDevice(token);
26
- logger.debug('PushLogoutCallback - Removed voip token', token);
27
26
  } catch (err) {
28
27
  logger.warn('PushLogoutCallback - Failed to remove voip token', err);
29
28
  }
@@ -78,10 +77,20 @@ export const useIosVoipPushEventsSetupEffect = () => {
78
77
  useEffect(() => {
79
78
  const pushConfig = StreamVideoRN.getConfig().push;
80
79
  const pushProviderName = pushConfig?.ios.pushProviderName;
81
- const callingx = getCallingxLibIfAvailable();
82
- if (Platform.OS !== 'ios' || !client || !pushProviderName || !callingx) {
80
+ if (Platform.OS !== 'ios' || !client || !pushProviderName) {
83
81
  return;
84
82
  }
83
+ if (!pushConfig.android.incomingCallChannel) {
84
+ // TODO: remove this check and find a better way once we have telecom integration for android
85
+ logger.debug('android incomingCallChannel is not defined, so skipping the useIosVoipPushEventsSetupEffect');
86
+ return;
87
+ }
88
+ const voipPushNotification = getVoipPushNotificationLib();
89
+
90
+ // even though we do this natively, we have to still register here again
91
+ // natively this will make sure "register" event for JS is sent with the last push token
92
+ // Necessary if client changed before we got the event here or user logged out and logged in again
93
+ voipPushNotification.registerVoipToken();
85
94
  const onTokenReceived = token => {
86
95
  const userId = client.streamClient._user?.id ?? '';
87
96
  if (client.streamClient.anonymous || !token || !userId) {
@@ -109,24 +118,27 @@ export const useIosVoipPushEventsSetupEffect = () => {
109
118
  });
110
119
  };
111
120
  // fired when PushKit give us the latest token
112
- const voipRegisterListener = callingx.addEventListener('voipNotificationsRegistered', ({
113
- token
114
- }) => {
121
+ voipPushNotification.addEventListener('register', token => {
115
122
  onTokenReceived(token);
116
123
  });
117
124
 
118
- // this will return events that were fired before js bridge initialized
119
- callingx.getInitialVoipEvents().forEach(({
120
- eventName,
121
- params
122
- }) => {
123
- if (eventName === 'voipNotificationsRegistered' && 'token' in params) {
124
- onTokenReceived(params.token);
125
- } else if (eventName === 'voipNotificationReceived') {
126
- onVoipNotificationReceived(params, pushConfig);
125
+ // this will fire when there are events occured before js bridge initialized
126
+ voipPushNotification.addEventListener('didLoadWithEvents', events => {
127
+ if (!events || !Array.isArray(events) || events.length < 1) {
128
+ return;
129
+ }
130
+ for (const voipPushEvent of events) {
131
+ const {
132
+ name,
133
+ data
134
+ } = voipPushEvent;
135
+ if (name === 'RNVoipPushRemoteNotificationsRegisteredEvent') {
136
+ onTokenReceived(data);
137
+ } else if (name === 'RNVoipPushRemoteNotificationReceivedEvent') {
138
+ onVoipNotificationReceived(data, pushConfig);
139
+ }
127
140
  }
128
141
  });
129
- callingx.registerVoipToken();
130
142
  lastListener.count += 1;
131
143
  const currentListenerCount = lastListener.count;
132
144
  return () => {
@@ -136,7 +148,8 @@ export const useIosVoipPushEventsSetupEffect = () => {
136
148
  return;
137
149
  }
138
150
  logger.debug(`Voip event listeners are removed for user: ${userId}`);
139
- voipRegisterListener.remove();
151
+ voipPushNotification.removeEventListener('didLoadWithEvents');
152
+ voipPushNotification.removeEventListener('register');
140
153
  };
141
154
  }, [client]);
142
155
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useState","Platform","StreamVideoRN","onVoipNotificationReceived","useConnectedUser","useStreamVideoClient","setPushLogoutCallback","videoLoggerSystem","getCallingxLibIfAvailable","logger","getLogger","lastListener","count","setLogoutCallback","client","token","lastVoipTokenRef","current","userId","removeDevice","debug","err","warn","useIosVoipPushEventsSetupEffect","connectedUserId","id","unsentToken","setUnsentToken","pushProviderName","getConfig","push","ios","tokenToSend","addVoipDevice","then","undefined","catch","error","pushConfig","callingx","OS","onTokenReceived","streamClient","_user","anonymous","reason","lastVoipToken","voipRegisterListener","addEventListener","getInitialVoipEvents","forEach","eventName","params","registerVoipToken","currentListenerCount","remove"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosVoipPushEventsSetupEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useState","getVoipPushNotificationLib","Platform","StreamVideoRN","onVoipNotificationReceived","useConnectedUser","useStreamVideoClient","setPushLogoutCallback","videoLoggerSystem","logger","getLogger","lastListener","count","setLogoutCallback","client","token","lastVoipTokenRef","current","userId","removeDevice","err","warn","useIosVoipPushEventsSetupEffect","connectedUserId","id","unsentToken","setUnsentToken","pushProviderName","getConfig","push","ios","tokenToSend","debug","addVoipDevice","then","undefined","catch","error","pushConfig","OS","android","incomingCallChannel","voipPushNotification","registerVoipToken","onTokenReceived","streamClient","_user","anonymous","reason","lastVoipToken","addEventListener","events","Array","isArray","length","voipPushEvent","name","data","currentListenerCount","removeEventListener"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosVoipPushEventsSetupEffect.ts"],"mappings":"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","ignoreList":[]}