@stream-io/video-react-native-sdk 1.29.0 → 1.29.1-beta.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.
- package/android/src/main/AndroidManifest.xml +8 -1
- package/android/src/main/AndroidManifestNew.xml +11 -0
- package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +42 -5
- package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +70 -6
- package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +6 -4
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/KeepAliveNotification.kt +83 -0
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +149 -0
- package/dist/commonjs/components/Call/CallContent/CallContent.js +7 -2
- package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +8 -1
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
- package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +3 -0
- package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
- package/dist/commonjs/hooks/push/index.js +0 -2
- package/dist/commonjs/hooks/push/index.js.map +1 -1
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +121 -0
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -0
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +18 -31
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +64 -97
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/modules/call-manager/CallManager.js +26 -0
- package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/index.js +6 -6
- package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
- package/dist/commonjs/utils/StreamVideoRN/index.js +33 -21
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +58 -0
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +1 -0
- package/dist/commonjs/utils/internal/callingx/callingx.js +109 -0
- package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -0
- package/dist/commonjs/utils/internal/registerSDKGlobals.js +64 -3
- package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +48 -0
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +1 -0
- package/dist/commonjs/utils/push/android.js +155 -202
- package/dist/commonjs/utils/push/android.js.map +1 -1
- package/dist/commonjs/utils/push/internal/ios.js +17 -34
- package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
- package/dist/commonjs/utils/push/internal/rxSubjects.js +1 -45
- package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/commonjs/utils/push/internal/utils.js +32 -20
- package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
- package/dist/commonjs/utils/push/ios.js.map +1 -1
- package/dist/commonjs/utils/push/libs/callingx.js +75 -0
- package/dist/commonjs/utils/push/libs/callingx.js.map +1 -0
- package/dist/commonjs/utils/push/libs/index.js +8 -19
- package/dist/commonjs/utils/push/libs/index.js.map +1 -1
- package/dist/commonjs/utils/push/libs/notifee/index.js +0 -19
- package/dist/commonjs/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/commonjs/utils/push/setupCallingExpEvents.js +108 -0
- package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -0
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +7 -6
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/commonjs/version.js.map +1 -1
- package/dist/module/components/Call/CallContent/CallContent.js +7 -2
- package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +8 -1
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
- package/dist/module/components/Call/CallContent/RTCViewPipNative.js +3 -0
- package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
- package/dist/module/hooks/push/index.js +0 -2
- package/dist/module/hooks/push/index.js.map +1 -1
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +114 -0
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -0
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +18 -31
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +66 -99
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/modules/call-manager/CallManager.js +26 -0
- package/dist/module/modules/call-manager/CallManager.js.map +1 -1
- package/dist/module/providers/StreamCall/index.js +6 -6
- package/dist/module/providers/StreamCall/index.js.map +1 -1
- package/dist/module/utils/StreamVideoRN/index.js +33 -21
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/utils/internal/callingx/audioSessionPromise.js +51 -0
- package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +1 -0
- package/dist/module/utils/internal/callingx/callingx.js +100 -0
- package/dist/module/utils/internal/callingx/callingx.js.map +1 -0
- package/dist/module/utils/internal/registerSDKGlobals.js +65 -4
- package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/module/utils/keepCallAliveHeadlessTask.js +42 -0
- package/dist/module/utils/keepCallAliveHeadlessTask.js.map +1 -0
- package/dist/module/utils/push/android.js +157 -204
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/internal/ios.js +17 -34
- package/dist/module/utils/push/internal/ios.js.map +1 -1
- package/dist/module/utils/push/internal/rxSubjects.js +0 -44
- package/dist/module/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/module/utils/push/internal/utils.js +29 -19
- package/dist/module/utils/push/internal/utils.js.map +1 -1
- package/dist/module/utils/push/ios.js.map +1 -1
- package/dist/module/utils/push/libs/callingx.js +67 -0
- package/dist/module/utils/push/libs/callingx.js.map +1 -0
- package/dist/module/utils/push/libs/index.js +1 -2
- package/dist/module/utils/push/libs/index.js.map +1 -1
- package/dist/module/utils/push/libs/notifee/index.js +0 -18
- package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/module/utils/push/setupCallingExpEvents.js +102 -0
- package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -0
- package/dist/module/utils/push/setupIosVoipPushEvents.js +7 -6
- package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/version.js.map +1 -1
- package/dist/typescript/components/Call/CallContent/CallContent.d.ts +2 -2
- package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts +4 -0
- package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts +9 -6
- package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
- package/dist/typescript/hooks/push/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts +5 -0
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -0
- package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +1 -0
- package/dist/typescript/index.d.ts.map +1 -1
- package/dist/typescript/modules/call-manager/CallManager.d.ts +5 -0
- package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/index.d.ts +20 -2
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +54 -29
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +16 -0
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +1 -0
- package/dist/typescript/utils/internal/callingx/callingx.d.ts +13 -0
- package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -0
- package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +10 -0
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +1 -0
- package/dist/typescript/utils/push/android.d.ts +1 -2
- package/dist/typescript/utils/push/android.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts +0 -33
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/utils.d.ts +8 -1
- package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
- package/dist/typescript/utils/push/ios.d.ts +1 -2
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/callingx.d.ts +9 -0
- package/dist/typescript/utils/push/libs/callingx.d.ts.map +1 -0
- package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts +16 -2
- package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/index.d.ts +1 -2
- package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts +0 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts +8 -0
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -0
- package/dist/typescript/utils/push/setupIosVoipPushEvents.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/dist/typescript/version.d.ts.map +1 -1
- package/expo-config-plugin/dist/withAndroidManifest.js +1 -33
- package/expo-config-plugin/dist/withAndroidPermissions.js +2 -7
- package/expo-config-plugin/dist/withAppDelegate.js +19 -197
- package/expo-config-plugin/dist/withMainActivity.js +1 -1
- package/expo-config-plugin/dist/withiOSInfoPlist.js +2 -3
- package/ios/PictureInPicture/StreamAVPictureInPictureVideoCallViewController.swift +8 -0
- package/ios/PictureInPicture/StreamPictureInPictureController.swift +8 -0
- package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +10 -0
- package/ios/RTCViewPip.swift +6 -0
- package/ios/RTCViewPipManager.mm +1 -0
- package/ios/StreamInCallManager.m +2 -0
- package/ios/StreamInCallManager.swift +19 -7
- package/ios/StreamVideoReactNative.h +7 -4
- package/ios/StreamVideoReactNative.m +209 -82
- package/package.json +14 -19
- package/src/components/Call/CallContent/CallContent.tsx +6 -1
- package/src/components/Call/CallContent/RTCViewPipIOS.tsx +18 -2
- package/src/components/Call/CallContent/RTCViewPipNative.tsx +4 -7
- package/src/hooks/push/index.ts +0 -2
- package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +147 -0
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +21 -34
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +94 -120
- package/src/index.ts +1 -0
- package/src/modules/call-manager/CallManager.ts +36 -0
- package/src/modules/call-manager/native-module.d.ts +7 -0
- package/src/providers/StreamCall/index.tsx +6 -6
- package/src/utils/StreamVideoRN/index.ts +40 -30
- package/src/utils/StreamVideoRN/types.ts +56 -29
- package/src/utils/internal/callingx/audioSessionPromise.ts +53 -0
- package/src/utils/internal/callingx/callingx.ts +146 -0
- package/src/utils/internal/registerSDKGlobals.ts +66 -4
- package/src/utils/keepCallAliveHeadlessTask.ts +54 -0
- package/src/utils/push/android.ts +231 -309
- package/src/utils/push/internal/ios.ts +28 -44
- package/src/utils/push/internal/rxSubjects.ts +0 -61
- package/src/utils/push/internal/utils.ts +45 -26
- package/src/utils/push/ios.ts +1 -6
- package/src/utils/push/libs/callingx.ts +90 -0
- package/src/utils/push/libs/index.ts +1 -2
- package/src/utils/push/libs/notifee/index.ts +0 -27
- package/src/utils/push/setupCallingExpEvents.ts +130 -0
- package/src/utils/push/setupIosVoipPushEvents.ts +11 -7
- package/src/version.ts +1 -1
- package/CHANGELOG.md +0 -3114
- package/android/src/main/java/com/streamvideo/reactnative/util/CallAliveServiceChecker.kt +0 -95
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +0 -160
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +0 -1
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js +0 -67
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js.map +0 -1
- package/dist/commonjs/utils/push/libs/callkeep.js +0 -17
- package/dist/commonjs/utils/push/libs/callkeep.js.map +0 -1
- package/dist/commonjs/utils/push/libs/voipPushNotification.js +0 -17
- package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +0 -1
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +0 -205
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +0 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +0 -153
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +0 -1
- package/dist/module/hooks/push/useProcessPushCallEffect.js +0 -60
- package/dist/module/hooks/push/useProcessPushCallEffect.js.map +0 -1
- package/dist/module/utils/push/libs/callkeep.js +0 -11
- package/dist/module/utils/push/libs/callkeep.js.map +0 -1
- package/dist/module/utils/push/libs/voipPushNotification.js +0 -11
- package/dist/module/utils/push/libs/voipPushNotification.js.map +0 -1
- package/dist/module/utils/push/setupIosCallKeepEvents.js +0 -199
- package/dist/module/utils/push/setupIosCallKeepEvents.js.map +0 -1
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts +0 -5
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +0 -1
- package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts +0 -8
- package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts.map +0 -1
- package/dist/typescript/utils/push/libs/callkeep.d.ts +0 -3
- package/dist/typescript/utils/push/libs/callkeep.d.ts.map +0 -1
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts +0 -3
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts.map +0 -1
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts +0 -6
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts.map +0 -1
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +0 -235
- package/src/hooks/push/useProcessPushCallEffect.ts +0 -108
- package/src/utils/push/libs/callkeep.ts +0 -16
- package/src/utils/push/libs/voipPushNotification.ts +0 -17
- package/src/utils/push/setupIosCallKeepEvents.ts +0 -252
|
@@ -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":";AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACnE,SACEC,aAAa,EACbC,QAAQ,EACRC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SACEC,oBAAoB,EAEpBC,yBAAyB,QAEpB,eAAe;AACtB,SAEEC,YAAY,IAAIC,mBAAmB,QAE9B,iBAAiB;AACxB,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SACEC,YAAY,EAEZC,iBAAiB,QACZ,yBAAyB;AAEhC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SACEC,uBAAuB,IAAIC,8BAA8B,QAGpD,mBAAmB;AAC1B,SAASC,QAAQ,QAAQ,mBAAmB;AAK5C,SAASC,qBAAqB,EAAEC,cAAc,QAAQ,gBAAgB;AACtE,SACEC,kBAAkB,IAAIC,yBAAyB,QAE1C,kCAAkC;AACzC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,4BAA4B,QAAQ,gDAAgD;AA+D7F,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAC1BC,mBAAmB;EACnBC,oBAAoB;EACpBnB,YAAY,GAAGC,mBAAmB;EAClCO,uBAAuB,GAAGC,8BAA8B;EACxDI,kBAAkB,GAAGC,yBAAyB;EAC9CM,gBAAgB;EAChBC,kCAAkC;EAClCC,mBAAmB;EACnBC,wBAAwB;EACxBC,eAAe;EACfC,aAAa;EACbC,MAAM,GAAG,MAAM;EACfC,SAAS,GAAG,KAAK;EACjBC,kBAAkB;EAClBC,6BAA6B,GAAG,OAAO;EACvCC,kCAAkC;EAClCC;AACgB,CAAC,KAAK;EACtB,MAAM,CACJC,mCAAmC,EACnCC,sCAAsC,CACvC,
|
|
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","
|
|
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;
|
|
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":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useIosVoipPushEventsSetupEffect } from './useIosVoipPushEventsSetupEffect';
|
|
2
|
-
import { useProcessPushCallEffect } from './useProcessPushCallEffect';
|
|
3
2
|
import { useInitAndroidTokenAndRest } from './useInitAndroidTokenAndRest';
|
|
4
3
|
import { useIosInitRemoteNotifications } from './useIosInitRemoteNotifications';
|
|
5
4
|
import { useProcessPushNonRingingCallEffect } from './useProcessPushNonRingingCallEffect';
|
|
@@ -12,7 +11,6 @@ export const usePushRegisterEffect = () => {
|
|
|
12
11
|
useIosInitRemoteNotifications();
|
|
13
12
|
useIosVoipPushEventsSetupEffect();
|
|
14
13
|
useProcessPushNonRingingCallEffect();
|
|
15
|
-
useProcessPushCallEffect();
|
|
16
14
|
useInitAndroidTokenAndRest();
|
|
17
15
|
};
|
|
18
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIosVoipPushEventsSetupEffect","
|
|
1
|
+
{"version":3,"names":["useIosVoipPushEventsSetupEffect","useInitAndroidTokenAndRest","useIosInitRemoteNotifications","useProcessPushNonRingingCallEffect","usePushRegisterEffect"],"sourceRoot":"../../../../src","sources":["hooks/push/index.ts"],"mappings":"AAAA,SAASA,+BAA+B,QAAQ,mCAAmC;AACnF,SAASC,0BAA0B,QAAQ,8BAA8B;AACzE,SAASC,6BAA6B,QAAQ,iCAAiC;AAC/E,SAASC,kCAAkC,QAAQ,sCAAsC;;AAEzF;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACzCF,6BAA6B,CAAC,CAAC;EAC/BF,+BAA+B,CAAC,CAAC;EACjCG,kCAAkC,CAAC,CAAC;EACpCF,0BAA0B,CAAC,CAAC;AAC9B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { videoLoggerSystem } from '@stream-io/video-client';
|
|
2
|
+
import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
3
|
+
import { useEffect, useMemo } from 'react';
|
|
4
|
+
import { getCallDisplayName } from '../../utils/internal/callingx/callingx';
|
|
5
|
+
import { getCallingxLibIfAvailable } from '../../utils/push/libs/callingx';
|
|
6
|
+
const logger = videoLoggerSystem.getLogger('callingx');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* This hook is used to inform sync call state with CallKit/Telecom (i.e. start call, end call, mute/unmute call).
|
|
10
|
+
*/
|
|
11
|
+
export const useCallingExpWithCallingStateEffect = () => {
|
|
12
|
+
const {
|
|
13
|
+
useMicrophoneState,
|
|
14
|
+
useParticipants,
|
|
15
|
+
useCallMembers
|
|
16
|
+
} = useCallStateHooks();
|
|
17
|
+
const activeCall = useCall();
|
|
18
|
+
const {
|
|
19
|
+
isMute,
|
|
20
|
+
microphone
|
|
21
|
+
} = useMicrophoneState();
|
|
22
|
+
const callMembers = useCallMembers();
|
|
23
|
+
const participants = useParticipants();
|
|
24
|
+
const activeCallCid = activeCall?.cid;
|
|
25
|
+
const currentUserId = activeCall?.currentUserId;
|
|
26
|
+
const callDisplayName = useMemo(() => getCallDisplayName(callMembers, participants, currentUserId), [callMembers, participants, currentUserId]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
return () => {
|
|
29
|
+
const callingx = getCallingxLibIfAvailable();
|
|
30
|
+
if (!callingx?.isSetup || !activeCallCid) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const isCallTracked = callingx.isCallTracked(activeCallCid);
|
|
34
|
+
if (!isCallTracked) {
|
|
35
|
+
logger.debug(`useCallingExpWithCallingStateEffect:No active call cid to end in calling exp: ${activeCallCid} isCallTracked: ${isCallTracked}`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
//if incoming stream call was unmounted, we need to end the call in CallKit/Telecom
|
|
39
|
+
logger.debug(`useCallingExpWithCallingStateEffect: Ending call in callingx: ${activeCallCid}`);
|
|
40
|
+
callingx.endCallWithReason(activeCallCid, 'local').catch(error => {
|
|
41
|
+
logger.error(`useCallingExpWithCallingStateEffect: Error ending call in callingx: ${activeCallCid}`, error);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
}, [activeCallCid]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
const callingx = getCallingxLibIfAvailable();
|
|
47
|
+
if (!callingx?.isSetup || !activeCallCid) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const isCallTracked = callingx.isCallTracked(activeCallCid);
|
|
51
|
+
if (!isCallTracked) {
|
|
52
|
+
logger.debug(`useCallingExpWithCallingStateEffect:No active call cid to update callingx: ${activeCallCid} isCallTracked: ${isCallTracked}`);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
callingx.updateDisplay(activeCallCid, activeCallCid, callDisplayName);
|
|
56
|
+
}, [activeCallCid, callDisplayName]);
|
|
57
|
+
|
|
58
|
+
// Sync microphone mute state from app → CallKit
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
const callingx = getCallingxLibIfAvailable();
|
|
61
|
+
if (!callingx?.isSetup || !activeCallCid) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const isCallTracked = callingx.isCallTracked(activeCallCid);
|
|
65
|
+
if (!isCallTracked) {
|
|
66
|
+
logger.debug(`useCallingExpWithCallingStateEffect: No active call cid to set muted in calling exp: ${activeCallCid} isCallTracked: ${isCallTracked}`);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
callingx.setMutedCall(activeCallCid, isMute);
|
|
70
|
+
}, [activeCallCid, isMute]);
|
|
71
|
+
|
|
72
|
+
// Sync mute state from CallKit → app (only for system-initiated mute actions)
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
const callingx = getCallingxLibIfAvailable();
|
|
75
|
+
if (!callingx?.isSetup || !activeCallCid) {
|
|
76
|
+
logger.debug(`useCallingExpWithCallingStateEffect: No active call cid to set muted in calling exp: ${activeCallCid} callingx isSetup: ${callingx?.isSetup}`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Listen to mic toggle events from CallKit/Telecom and update stream call microphone state.
|
|
81
|
+
// Only system-initiated mute actions (e.g. user tapped mute on the native CallKit UI)
|
|
82
|
+
// are sent here — app-initiated actions are filtered out on the native side to prevent
|
|
83
|
+
// the feedback loop: app mutes mic → setMutedCall → CallKit delegate → event to JS → loop.
|
|
84
|
+
const subscription = callingx.addEventListener('didPerformSetMutedCallAction', async event => {
|
|
85
|
+
const {
|
|
86
|
+
callId,
|
|
87
|
+
muted
|
|
88
|
+
} = event;
|
|
89
|
+
const isCallTracked = callingx.isCallTracked(activeCallCid);
|
|
90
|
+
if (!isCallTracked || callId !== activeCallCid) {
|
|
91
|
+
logger.debug(`useCallingExpWithCallingStateEffect: No active call cid to set muted in calling exp: ${activeCallCid} isCallTracked: ${isCallTracked} callId: ${callId}`);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const isCurrentlyMuted = microphone.state.status === 'disabled';
|
|
95
|
+
if (isCurrentlyMuted === muted) {
|
|
96
|
+
logger.debug(`useCallingExpWithCallingStateEffect: Mic toggle is already in the desired state: ${muted} for call: ${activeCallCid}`);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
if (muted) {
|
|
101
|
+
await microphone.disable();
|
|
102
|
+
} else {
|
|
103
|
+
await microphone.enable();
|
|
104
|
+
}
|
|
105
|
+
} catch (error) {
|
|
106
|
+
logger.error(`useCallingExpWithCallingStateEffect: Error toggling mic in calling exp: ${activeCallCid}`, error);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return () => {
|
|
110
|
+
subscription.remove();
|
|
111
|
+
};
|
|
112
|
+
}, [activeCallCid, microphone]);
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=useCallingExpWithCallingStateEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["videoLoggerSystem","useCall","useCallStateHooks","useEffect","useMemo","getCallDisplayName","getCallingxLibIfAvailable","logger","getLogger","useCallingExpWithCallingStateEffect","useMicrophoneState","useParticipants","useCallMembers","activeCall","isMute","microphone","callMembers","participants","activeCallCid","cid","currentUserId","callDisplayName","callingx","isSetup","isCallTracked","debug","endCallWithReason","catch","error","updateDisplay","setMutedCall","subscription","addEventListener","event","callId","muted","isCurrentlyMuted","state","status","disable","enable","remove"],"sourceRoot":"../../../../src","sources":["hooks/push/useCallingExpWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import { getVoipPushNotificationLib } from '../../utils/push/libs';
|
|
3
2
|
import { Platform } from 'react-native';
|
|
4
3
|
import { StreamVideoRN } from '../../utils';
|
|
5
4
|
import { onVoipNotificationReceived } from '../../utils/push/internal/ios';
|
|
6
5
|
import { useConnectedUser, useStreamVideoClient } from '@stream-io/video-react-bindings';
|
|
7
6
|
import { setPushLogoutCallback } from '../../utils/internal/pushLogoutCallback';
|
|
8
7
|
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,6 +23,7 @@ function setLogoutCallback(client, token, lastVoipTokenRef) {
|
|
|
23
23
|
};
|
|
24
24
|
try {
|
|
25
25
|
await client.removeDevice(token);
|
|
26
|
+
logger.debug('PushLogoutCallback - Removed voip token', token);
|
|
26
27
|
} catch (err) {
|
|
27
28
|
logger.warn('PushLogoutCallback - Failed to remove voip token', err);
|
|
28
29
|
}
|
|
@@ -77,20 +78,10 @@ export const useIosVoipPushEventsSetupEffect = () => {
|
|
|
77
78
|
useEffect(() => {
|
|
78
79
|
const pushConfig = StreamVideoRN.getConfig().push;
|
|
79
80
|
const pushProviderName = pushConfig?.ios.pushProviderName;
|
|
80
|
-
|
|
81
|
+
const callingx = getCallingxLibIfAvailable();
|
|
82
|
+
if (Platform.OS !== 'ios' || !client || !pushProviderName || !callingx) {
|
|
81
83
|
return;
|
|
82
84
|
}
|
|
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();
|
|
94
85
|
const onTokenReceived = token => {
|
|
95
86
|
const userId = client.streamClient._user?.id ?? '';
|
|
96
87
|
if (client.streamClient.anonymous || !token || !userId) {
|
|
@@ -118,27 +109,24 @@ export const useIosVoipPushEventsSetupEffect = () => {
|
|
|
118
109
|
});
|
|
119
110
|
};
|
|
120
111
|
// fired when PushKit give us the latest token
|
|
121
|
-
|
|
112
|
+
const voipRegisterListener = callingx.addEventListener('voipNotificationsRegistered', ({
|
|
113
|
+
token
|
|
114
|
+
}) => {
|
|
122
115
|
onTokenReceived(token);
|
|
123
116
|
});
|
|
124
117
|
|
|
125
|
-
// this will
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
} = voipPushEvent;
|
|
135
|
-
if (name === 'RNVoipPushRemoteNotificationsRegisteredEvent') {
|
|
136
|
-
onTokenReceived(data);
|
|
137
|
-
} else if (name === 'RNVoipPushRemoteNotificationReceivedEvent') {
|
|
138
|
-
onVoipNotificationReceived(data, pushConfig);
|
|
139
|
-
}
|
|
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);
|
|
140
127
|
}
|
|
141
128
|
});
|
|
129
|
+
callingx.registerVoipToken();
|
|
142
130
|
lastListener.count += 1;
|
|
143
131
|
const currentListenerCount = lastListener.count;
|
|
144
132
|
return () => {
|
|
@@ -148,8 +136,7 @@ export const useIosVoipPushEventsSetupEffect = () => {
|
|
|
148
136
|
return;
|
|
149
137
|
}
|
|
150
138
|
logger.debug(`Voip event listeners are removed for user: ${userId}`);
|
|
151
|
-
|
|
152
|
-
voipPushNotification.removeEventListener('register');
|
|
139
|
+
voipRegisterListener.remove();
|
|
153
140
|
};
|
|
154
141
|
}, [client]);
|
|
155
142
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","useState","
|
|
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":[]}
|