@stream-io/video-react-native-sdk 1.19.1 → 1.20.1-alpha.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.
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js +10 -1
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer.js +3 -2
- package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer.js.map +1 -1
- package/dist/commonjs/contexts/BackgroundFilters.js +4 -0
- package/dist/commonjs/contexts/BackgroundFilters.js.map +1 -1
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +31 -12
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/hooks/useTrackDimensions.js +31 -35
- package/dist/commonjs/hooks/useTrackDimensions.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/DeviceStats.js +19 -8
- package/dist/commonjs/providers/StreamCall/DeviceStats.js.map +1 -1
- package/dist/commonjs/utils/StreamVideoRN/index.js +22 -6
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/commonjs/version.js.map +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js +10 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/module/components/Participant/ParticipantView/VideoRenderer.js +3 -2
- package/dist/module/components/Participant/ParticipantView/VideoRenderer.js.map +1 -1
- package/dist/module/contexts/BackgroundFilters.js +4 -0
- package/dist/module/contexts/BackgroundFilters.js.map +1 -1
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +31 -12
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/hooks/useTrackDimensions.js +30 -35
- package/dist/module/hooks/useTrackDimensions.js.map +1 -1
- package/dist/module/providers/StreamCall/DeviceStats.js +20 -9
- package/dist/module/providers/StreamCall/DeviceStats.js.map +1 -1
- package/dist/module/utils/StreamVideoRN/index.js +23 -6
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/version.js.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/VideoRenderer.d.ts.map +1 -1
- package/dist/typescript/contexts/BackgroundFilters.d.ts.map +1 -1
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useTrackDimensions.d.ts +2 -2
- package/dist/typescript/hooks/useTrackDimensions.d.ts.map +1 -1
- package/dist/typescript/providers/StreamCall/DeviceStats.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/index.d.ts +6 -2
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +6 -1
- package/dist/typescript/utils/StreamVideoRN/types.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/withMainActivity.js +6 -1
- package/ios/RTCViewPip.swift +11 -21
- package/ios/RTCViewPipManager.swift +4 -17
- package/ios/StreamVideoReactNative.xcodeproj/project.xcworkspace/xcuserdata/santhoshvaiyapuri.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/StreamVideoReactNative.xcodeproj/xcuserdata/santhoshvaiyapuri.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/package.json +8 -8
- package/src/components/Call/CallLayout/CallParticipantsGrid.tsx +12 -5
- package/src/components/Participant/ParticipantView/VideoRenderer.tsx +7 -2
- package/src/contexts/BackgroundFilters.tsx +4 -0
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +30 -10
- package/src/hooks/useTrackDimensions.ts +51 -34
- package/src/providers/StreamCall/DeviceStats.tsx +20 -9
- package/src/utils/StreamVideoRN/index.ts +41 -6
- package/src/utils/StreamVideoRN/types.ts +6 -0
- package/src/version.ts +1 -1
- package/CHANGELOG.md +0 -2594
|
@@ -57,7 +57,16 @@ const CallParticipantsGrid = ({
|
|
|
57
57
|
};
|
|
58
58
|
const isInPiPMode = (0, _useIsInPiPMode.useIsInPiPMode)();
|
|
59
59
|
const showFloatingView = !isInPiPMode && remoteParticipants.length > 0 && remoteParticipants.length < 3;
|
|
60
|
-
let participants
|
|
60
|
+
let participants;
|
|
61
|
+
if (showFloatingView) {
|
|
62
|
+
if (showLocalParticipant && localParticipant) {
|
|
63
|
+
participants = [localParticipant];
|
|
64
|
+
} else {
|
|
65
|
+
participants = remoteParticipants;
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
participants = allParticipants;
|
|
69
|
+
}
|
|
61
70
|
if (isInPiPMode) {
|
|
62
71
|
if (dominantSpeaker && !dominantSpeaker.isLocalParticipant) {
|
|
63
72
|
participants = [dominantSpeaker];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_useDebouncedValue","_CallParticipantsList","_TestIds","_ThemeContext","_useIsInPiPMode","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CallParticipantsGrid","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","showLocalParticipant","supportedReactions","landscape","theme","colors","callParticipantsGrid","useTheme","useRemoteParticipants","useParticipants","useLocalParticipant","useDominantSpeaker","useCallStateHooks","_remoteParticipants","localParticipant","_allParticipants","dominantSpeaker","remoteParticipants","useDebouncedValue","allParticipants","landscapeStyles","flexDirection","isInPiPMode","useIsInPiPMode","showFloatingView","participants","isLocalParticipant","participantViewProps","createElement","View","style","styles","container","backgroundColor","sheetPrimary","testID","ComponentTestIds","CALL_PARTICIPANTS_GRID","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsGrid.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AAIA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AAGA,IAAAO,eAAA,GAAAP,OAAA;AAA+D,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_useDebouncedValue","_CallParticipantsList","_TestIds","_ThemeContext","_useIsInPiPMode","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CallParticipantsGrid","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","showLocalParticipant","supportedReactions","landscape","theme","colors","callParticipantsGrid","useTheme","useRemoteParticipants","useParticipants","useLocalParticipant","useDominantSpeaker","useCallStateHooks","_remoteParticipants","localParticipant","_allParticipants","dominantSpeaker","remoteParticipants","useDebouncedValue","allParticipants","landscapeStyles","flexDirection","isInPiPMode","useIsInPiPMode","showFloatingView","participants","isLocalParticipant","participantViewProps","createElement","View","style","styles","container","backgroundColor","sheetPrimary","testID","ComponentTestIds","CALL_PARTICIPANTS_GRID","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -61,7 +61,8 @@ const VideoRenderer = ({
|
|
|
61
61
|
register: registerIosScreenshot,
|
|
62
62
|
deregister: deregisterIosScreenshot
|
|
63
63
|
} = (0, _ScreenshotIosContext.useScreenshotIosContext)();
|
|
64
|
-
const videoDimensions = (0, _useTrackDimensions.useTrackDimensions)(participant);
|
|
64
|
+
const videoDimensions = (0, _useTrackDimensions.useTrackDimensions)(participant, trackType);
|
|
65
|
+
const isVideoDimensionsValid = videoDimensions.width > 0 && videoDimensions.height > 0;
|
|
65
66
|
const {
|
|
66
67
|
isLocalParticipant,
|
|
67
68
|
sessionId,
|
|
@@ -214,7 +215,7 @@ const VideoRenderer = ({
|
|
|
214
215
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
215
216
|
onLayout: onLayout,
|
|
216
217
|
style: [styles.container, videoRenderer.container]
|
|
217
|
-
}, canShowVideo && videoStreamToRender ? /*#__PURE__*/_react.default.createElement(_reactNativeWebrtc.RTCView, {
|
|
218
|
+
}, canShowVideo && videoStreamToRender && (objectFit || isVideoDimensionsValid) ? /*#__PURE__*/_react.default.createElement(_reactNativeWebrtc.RTCView, {
|
|
218
219
|
style: [styles.videoStream, videoRenderer.videoStream],
|
|
219
220
|
streamURL: videoStreamToRender.toURL(),
|
|
220
221
|
mirror: mirror,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebrtc","_videoClient","_videoReactBindings","_ParticipantVideoFallback","_ThemeContext","_useTrackDimensions","_ScreenshotIosContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_VIEWPORT_VISIBILITY_STATE","videoTrack","VisibilityState","UNKNOWN","screenShareTrack","VideoRenderer","trackType","participant","isVisible","ParticipantVideoFallback","DefaultParticipantVideoFallback","objectFit","videoZOrder","theme","videoRenderer","useTheme","useCall","useCallCallingState","useCameraState","useIncomingVideoSettings","useCallStateHooks","isParticipantVideoEnabled","callingState","pendingVideoLayoutRef","useRef","undefined","subscribedVideoLayoutRef","direction","viewRef","register","registerIosScreenshot","deregister","deregisterIosScreenshot","useScreenshotIosContext","videoDimensions","useTrackDimensions","isLocalParticipant","sessionId","viewportVisibilityState","videoStream","screenShareStream","isScreenSharing","isPublishingVideoTrack","hasScreenShare","hasVideo","hasJoinedCall","CallingState","JOINED","videoStreamToRender","canShowVideo","hasPausedTrack","useEffect","Platform","OS","current","mirror","VISIBLE","state","updateParticipant","p","INVISIBLE","updateIsNeeded","dimension","updateParticipantTracks","dynascaleManager","applyTrackSubscriptions","onLayout","event","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebrtc","_videoClient","_videoReactBindings","_ParticipantVideoFallback","_ThemeContext","_useTrackDimensions","_ScreenshotIosContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_VIEWPORT_VISIBILITY_STATE","videoTrack","VisibilityState","UNKNOWN","screenShareTrack","VideoRenderer","trackType","participant","isVisible","ParticipantVideoFallback","DefaultParticipantVideoFallback","objectFit","videoZOrder","theme","videoRenderer","useTheme","useCall","useCallCallingState","useCameraState","useIncomingVideoSettings","useCallStateHooks","isParticipantVideoEnabled","callingState","pendingVideoLayoutRef","useRef","undefined","subscribedVideoLayoutRef","direction","viewRef","register","registerIosScreenshot","deregister","deregisterIosScreenshot","useScreenshotIosContext","videoDimensions","useTrackDimensions","isVideoDimensionsValid","width","height","isLocalParticipant","sessionId","viewportVisibilityState","videoStream","screenShareStream","isScreenSharing","isPublishingVideoTrack","hasScreenShare","hasVideo","hasJoinedCall","CallingState","JOINED","videoStreamToRender","canShowVideo","hasPausedTrack","useEffect","Platform","OS","current","mirror","VISIBLE","state","updateParticipant","p","INVISIBLE","updateIsNeeded","dimension","updateParticipantTracks","dynascaleManager","applyTrackSubscriptions","onLayout","event","Math","trunc","nativeEvent","layout","createElement","View","style","styles","container","RTCView","streamURL","toURL","ref","zOrder","exports","StyleSheet","create","absoluteFillObject"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/VideoRenderer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,6 +75,7 @@ const BackgroundFiltersProvider = ({
|
|
|
75
75
|
} else if (blurIntensity === 'light') {
|
|
76
76
|
filterName = 'BackgroundBlurLight';
|
|
77
77
|
}
|
|
78
|
+
call?.tracer.trace('backgroundFilters.apply', filterName);
|
|
78
79
|
call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
|
|
79
80
|
track._setVideoEffect(filterName);
|
|
80
81
|
});
|
|
@@ -96,6 +97,7 @@ const BackgroundFiltersProvider = ({
|
|
|
96
97
|
} else if (blurIntensity === 'light') {
|
|
97
98
|
filterName = 'BlurLight';
|
|
98
99
|
}
|
|
100
|
+
call?.tracer.trace('backgroundFilters.apply', filterName);
|
|
99
101
|
call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
|
|
100
102
|
track._setVideoEffect(filterName);
|
|
101
103
|
});
|
|
@@ -115,6 +117,7 @@ const BackgroundFiltersProvider = ({
|
|
|
115
117
|
registeredImageFiltersSetRef.current.add(imageUri);
|
|
116
118
|
}
|
|
117
119
|
const filterName = `VirtualBackground-${imageUri}`;
|
|
120
|
+
call?.tracer.trace('backgroundFilters.apply', filterName);
|
|
118
121
|
call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
|
|
119
122
|
track._setVideoEffect(filterName);
|
|
120
123
|
});
|
|
@@ -126,6 +129,7 @@ const BackgroundFiltersProvider = ({
|
|
|
126
129
|
if (!isSupported) {
|
|
127
130
|
return;
|
|
128
131
|
}
|
|
132
|
+
call?.tracer.trace('backgroundFilters.disableAll', null);
|
|
129
133
|
call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
|
|
130
134
|
track._setVideoEffect(null);
|
|
131
135
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isSupported","Platform","OS","currentVersion","parseInt","Version","videoFiltersModule","resolveAssetSourceFunc","Image","resolveAssetSource","BackgroundFiltersContext","createContext","undefined","useBackgroundFilters","context","useContext","Error","exports","BackgroundFiltersProvider","children","useCall","isBackgroundBlurRegisteredRef","useRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","useState","applyBackgroundBlurFilter","useCallback","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","imageUri","uri","registeredImageFiltersSet","registerVirtualBackgroundFilter","add","image","disableAllFilters","value","useMemo","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isSupported","Platform","OS","currentVersion","parseInt","Version","videoFiltersModule","resolveAssetSourceFunc","Image","resolveAssetSource","BackgroundFiltersContext","createContext","undefined","useBackgroundFilters","context","useContext","Error","exports","BackgroundFiltersProvider","children","useCall","isBackgroundBlurRegisteredRef","useRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","useState","applyBackgroundBlurFilter","useCallback","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","tracer","trace","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","imageUri","uri","registeredImageFiltersSet","registerVirtualBackgroundFilter","add","image","disableAllFilters","value","useMemo","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,9 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
var _videoClient = require("@stream-io/video-client");
|
|
12
12
|
var _notifee = require("../utils/push/libs/notifee");
|
|
13
13
|
const notifeeLib = (0, _notifee.getNotifeeLibNoThrowForKeepCallAlive)();
|
|
14
|
+
const callToPassToForegroundService = {
|
|
15
|
+
current: undefined
|
|
16
|
+
};
|
|
14
17
|
function setForegroundService() {
|
|
15
18
|
if (_reactNative.Platform.OS === 'ios' || !notifeeLib) return;
|
|
16
19
|
_reactNative.NativeModules.StreamVideoReactNative.isCallAliveConfigured().then(isConfigured => {
|
|
@@ -20,35 +23,46 @@ function setForegroundService() {
|
|
|
20
23
|
return;
|
|
21
24
|
}
|
|
22
25
|
notifeeLib.default.registerForegroundService(() => {
|
|
23
|
-
|
|
26
|
+
const task = new Promise(resolve => {
|
|
24
27
|
const logger = (0, _videoClient.getLogger)(['setForegroundService method']);
|
|
25
28
|
logger('info', 'Foreground service running for call in progress');
|
|
29
|
+
// any task to run from SDK in the foreground service must be added
|
|
30
|
+
resolve(true);
|
|
26
31
|
});
|
|
32
|
+
const videoConfig = _utils.StreamVideoRN.getConfig();
|
|
33
|
+
const foregroundServiceConfig = videoConfig.foregroundService;
|
|
34
|
+
const {
|
|
35
|
+
taskToRun
|
|
36
|
+
} = foregroundServiceConfig.android;
|
|
37
|
+
const call = callToPassToForegroundService.current;
|
|
38
|
+
if (!call) {
|
|
39
|
+
const logger = (0, _videoClient.getLogger)(['setForegroundService method']);
|
|
40
|
+
logger('warn', 'No call to pass to foreground service');
|
|
41
|
+
return task.then(() => new Promise(() => {}));
|
|
42
|
+
}
|
|
43
|
+
callToPassToForegroundService.current = undefined;
|
|
44
|
+
return task.then(() => taskToRun(call));
|
|
27
45
|
});
|
|
28
46
|
});
|
|
29
47
|
}
|
|
30
48
|
async function startForegroundService(call_cid) {
|
|
31
|
-
const videoConfig = _utils.StreamVideoRN.getConfig();
|
|
32
|
-
const foregroundServiceConfig = videoConfig.foregroundService;
|
|
33
|
-
const {
|
|
34
|
-
title,
|
|
35
|
-
body
|
|
36
|
-
} = foregroundServiceConfig.android.notificationTexts;
|
|
37
|
-
|
|
38
|
-
// check for notification permission and then start the foreground service
|
|
39
|
-
if (!notifeeLib) return;
|
|
40
49
|
const isCallAliveConfigured = await _reactNative.NativeModules.StreamVideoReactNative.isCallAliveConfigured();
|
|
41
50
|
if (!isCallAliveConfigured) {
|
|
42
51
|
const logger = (0, _videoClient.getLogger)(['startForegroundService']);
|
|
43
52
|
logger('info', 'KeepCallAlive is not configured. Skipping foreground service setup.');
|
|
44
53
|
return;
|
|
45
54
|
}
|
|
55
|
+
// check for notification permission and then start the foreground service
|
|
56
|
+
if (!notifeeLib) return;
|
|
46
57
|
const settings = await notifeeLib.default.getNotificationSettings();
|
|
47
58
|
if (settings.authorizationStatus !== notifeeLib.AuthorizationStatus.AUTHORIZED) {
|
|
48
59
|
const logger = (0, _videoClient.getLogger)(['startForegroundService']);
|
|
49
60
|
logger('info', 'Notification permission not granted, can not start foreground service to keep the call alive');
|
|
50
61
|
return;
|
|
51
62
|
}
|
|
63
|
+
const videoConfig = _utils.StreamVideoRN.getConfig();
|
|
64
|
+
const foregroundServiceConfig = videoConfig.foregroundService;
|
|
65
|
+
const notificationTexts = foregroundServiceConfig.android.notificationTexts;
|
|
52
66
|
const channelId = foregroundServiceConfig.android.channel.id;
|
|
53
67
|
await notifeeLib.default.createChannel(foregroundServiceConfig.android.channel);
|
|
54
68
|
const foregroundServiceTypes = await (0, _notifee.getKeepCallAliveForegroundServiceTypes)();
|
|
@@ -58,8 +72,8 @@ async function startForegroundService(call_cid) {
|
|
|
58
72
|
requestAnimationFrame(() => {
|
|
59
73
|
notifeeLib.default.displayNotification({
|
|
60
74
|
id: call_cid,
|
|
61
|
-
title,
|
|
62
|
-
body,
|
|
75
|
+
title: notificationTexts.title,
|
|
76
|
+
body: notificationTexts.body,
|
|
63
77
|
android: {
|
|
64
78
|
channelId,
|
|
65
79
|
smallIcon: videoConfig.push?.android.smallIcon,
|
|
@@ -89,6 +103,7 @@ let isSetForegroundServiceRan = false;
|
|
|
89
103
|
const useAndroidKeepCallAliveEffect = () => {
|
|
90
104
|
const foregroundServiceStartedRef = (0, _react.useRef)(false);
|
|
91
105
|
const call = (0, _videoReactBindings.useCall)();
|
|
106
|
+
callToPassToForegroundService.current = call;
|
|
92
107
|
const activeCallCid = call?.cid;
|
|
93
108
|
const {
|
|
94
109
|
useCallCallingState
|
|
@@ -117,6 +132,7 @@ const useAndroidKeepCallAliveEffect = () => {
|
|
|
117
132
|
const displayedNotifications = await notifee.getDisplayedNotifications();
|
|
118
133
|
const activeCallNotification = displayedNotifications.find(notification => notification.id === activeCallCid);
|
|
119
134
|
if (activeCallNotification) {
|
|
135
|
+
callToPassToForegroundService.current = undefined;
|
|
120
136
|
// this means that we have a incoming call notification shown as foreground service and we must stop it
|
|
121
137
|
notifee.stopForegroundService();
|
|
122
138
|
notifee.cancelDisplayedNotification(activeCallCid);
|
|
@@ -149,6 +165,7 @@ const useAndroidKeepCallAliveEffect = () => {
|
|
|
149
165
|
};
|
|
150
166
|
} else if (callingState === _videoClient.CallingState.IDLE || callingState === _videoClient.CallingState.LEFT) {
|
|
151
167
|
if (foregroundServiceStartedRef.current) {
|
|
168
|
+
callToPassToForegroundService.current = undefined;
|
|
152
169
|
// stop foreground service when the call is not active
|
|
153
170
|
notifeeLib.default.stopForegroundService();
|
|
154
171
|
foregroundServiceStartedRef.current = false;
|
|
@@ -156,6 +173,7 @@ const useAndroidKeepCallAliveEffect = () => {
|
|
|
156
173
|
notifeeLib.default.getDisplayedNotifications().then(displayedNotifications => {
|
|
157
174
|
const activeCallNotification = displayedNotifications.find(notification => notification.id === activeCallCid);
|
|
158
175
|
if (activeCallNotification) {
|
|
176
|
+
callToPassToForegroundService.current = undefined;
|
|
159
177
|
// this means that we have a incoming call notification shown as foreground service and we must stop it
|
|
160
178
|
notifeeLib.default.stopForegroundService();
|
|
161
179
|
}
|
|
@@ -169,6 +187,7 @@ const useAndroidKeepCallAliveEffect = () => {
|
|
|
169
187
|
// stop foreground service when this effect is unmounted
|
|
170
188
|
if (foregroundServiceStartedRef.current) {
|
|
171
189
|
if (!notifeeLib) return;
|
|
190
|
+
callToPassToForegroundService.current = undefined;
|
|
172
191
|
notifeeLib.default.stopForegroundService();
|
|
173
192
|
foregroundServiceStartedRef.current = false;
|
|
174
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_videoReactBindings","require","_react","_utils","_reactNative","_videoClient","_notifee","notifeeLib","getNotifeeLibNoThrowForKeepCallAlive","setForegroundService","Platform","OS","NativeModules","StreamVideoReactNative","isCallAliveConfigured","then","isConfigured","logger","getLogger","default","registerForegroundService","
|
|
1
|
+
{"version":3,"names":["_videoReactBindings","require","_react","_utils","_reactNative","_videoClient","_notifee","notifeeLib","getNotifeeLibNoThrowForKeepCallAlive","callToPassToForegroundService","current","undefined","setForegroundService","Platform","OS","NativeModules","StreamVideoReactNative","isCallAliveConfigured","then","isConfigured","logger","getLogger","default","registerForegroundService","task","Promise","resolve","videoConfig","StreamVideoRN","getConfig","foregroundServiceConfig","foregroundService","taskToRun","android","call","startForegroundService","call_cid","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","notificationTexts","channelId","channel","id","createChannel","foregroundServiceTypes","getKeepCallAliveForegroundServiceTypes","requestAnimationFrame","displayNotification","title","body","smallIcon","push","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","useRef","useCall","activeCallCid","cid","useCallCallingState","useCallStateHooks","callingState","isOutgoingCall","CallingState","RINGING","isCreatedByMe","isCallJoined","JOINED","shouldStartForegroundService","useEffect","run","notifee","displayedNotifications","getDisplayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","AppState","currentState","sub","addEventListener","nextAppState","remove","IDLE","LEFT","exports"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,59 +4,55 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useTrackDimensions = useTrackDimensions;
|
|
7
|
-
var _videoReactBindings = require("@stream-io/video-react-bindings");
|
|
8
7
|
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
const webRTCEventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.WebRTCModule);
|
|
10
|
+
|
|
9
11
|
/**
|
|
10
12
|
* This is a utility hook to get the dimensions of the video track of the participant.
|
|
11
13
|
* Note: the `tracktype` is used only for local participants.
|
|
12
14
|
* `tracktype` should be 'videoTrack' for video track and 'screenShareTrack' for screen share track.
|
|
13
15
|
*/
|
|
14
|
-
function useTrackDimensions(participant) {
|
|
15
|
-
const [trackDimensions, setTrackDimensions] = (0, _react.useState)({
|
|
16
|
-
width: 0,
|
|
17
|
-
height: 0
|
|
18
|
-
});
|
|
19
|
-
const call = (0, _videoReactBindings.useCall)();
|
|
16
|
+
function useTrackDimensions(participant, trackType) {
|
|
20
17
|
const {
|
|
21
|
-
|
|
18
|
+
videoStream,
|
|
19
|
+
screenShareStream
|
|
22
20
|
} = participant;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
const stream = trackType === 'screenShareTrack' ? screenShareStream : videoStream;
|
|
22
|
+
const [track] = stream?.getVideoTracks() ?? [];
|
|
23
|
+
const trackId = track?.id;
|
|
24
|
+
const [trackDimensions, setTrackDimensions] = (0, _react.useState)(() => {
|
|
25
|
+
const settings = track?.getSettings();
|
|
26
|
+
const width = settings?.width ?? 0;
|
|
27
|
+
const height = settings?.height ?? 0;
|
|
28
|
+
return {
|
|
29
|
+
width,
|
|
30
|
+
height
|
|
28
31
|
};
|
|
29
|
-
}
|
|
32
|
+
});
|
|
30
33
|
|
|
31
|
-
//
|
|
32
|
-
// and for local participants we can get from track.getSettings() but it reports the wrong dimensions as it sends the constraints
|
|
33
|
-
// so we need to rely on call stats for all participants to get the dimensions
|
|
34
|
+
// Set up videoTrackDimensionChanged event listener for more direct dimension updates
|
|
34
35
|
(0, _react.useEffect)(() => {
|
|
35
|
-
if (!
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const trackStats = reportForTracks?.flatMap(r => r.streams).filter(track => track.kind === 'video');
|
|
40
|
-
if (!trackStats) return;
|
|
41
|
-
const stat = trackStats[0];
|
|
42
|
-
if (stat) {
|
|
43
|
-
const {
|
|
44
|
-
frameWidth = 0,
|
|
45
|
-
frameHeight = 0
|
|
46
|
-
} = stat;
|
|
36
|
+
if (!trackId || !_reactNative.NativeModules.WebRTCModule) return;
|
|
37
|
+
const handleVideoTrackDimensionChanged = eventData => {
|
|
38
|
+
// Only handle events for this specific participant
|
|
39
|
+
if (eventData.trackId === trackId) {
|
|
47
40
|
setTrackDimensions(prev => {
|
|
48
|
-
if (prev.width !==
|
|
41
|
+
if (prev.width !== eventData.width || prev.height !== eventData.height) {
|
|
49
42
|
return {
|
|
50
|
-
width:
|
|
51
|
-
height:
|
|
43
|
+
width: eventData.width,
|
|
44
|
+
height: eventData.height
|
|
52
45
|
};
|
|
53
46
|
}
|
|
54
47
|
return prev;
|
|
55
48
|
});
|
|
56
49
|
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
50
|
+
};
|
|
51
|
+
const subscription = webRTCEventEmitter.addListener('videoTrackDimensionChanged', handleVideoTrackDimensionChanged);
|
|
52
|
+
return () => {
|
|
53
|
+
subscription.remove();
|
|
54
|
+
};
|
|
55
|
+
}, [trackId, track]);
|
|
60
56
|
return trackDimensions;
|
|
61
57
|
}
|
|
62
58
|
//# sourceMappingURL=useTrackDimensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","webRTCEventEmitter","NativeEventEmitter","NativeModules","WebRTCModule","useTrackDimensions","participant","trackType","videoStream","screenShareStream","stream","track","getVideoTracks","trackId","id","trackDimensions","setTrackDimensions","useState","settings","getSettings","width","height","useEffect","handleVideoTrackDimensionChanged","eventData","prev","subscription","addListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useTrackDimensions.ts"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,MAAME,kBAAkB,GAAG,IAAIC,+BAAkB,CAACC,0BAAa,CAACC,YAAY,CAAC;;AAE7E;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAChCC,WAAmC,EACnCC,SAAyB,EACzB;EACA,MAAM;IAAEC,WAAW;IAAEC;EAAkB,CAAC,GAAGH,WAAW;EACtD,MAAMI,MAAM,GACVH,SAAS,KAAK,kBAAkB,GAAGE,iBAAiB,GAAGD,WAAW;EACpE,MAAM,CAACG,KAAK,CAAC,GAAGD,MAAM,EAAEE,cAAc,CAAC,CAAC,IAAI,EAAE;EAC9C,MAAMC,OAAO,GAAGF,KAAK,EAAEG,EAAE;EAEzB,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAM;IAC3D,MAAMC,QAAQ,GAAGP,KAAK,EAAEQ,WAAW,CAAC,CAAC;IACrC,MAAMC,KAAK,GAAGF,QAAQ,EAAEE,KAAK,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGH,QAAQ,EAAEG,MAAM,IAAI,CAAC;IACpC,OAAO;MACLD,KAAK;MACLC;IACF,CAAC;EACH,CAAC,CAAC;;EAEF;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACT,OAAO,IAAI,CAACV,0BAAa,CAACC,YAAY,EAAE;IAE7C,MAAMmB,gCAAgC,GAAIC,SAKzC,IAAK;MACJ;MACA,IAAIA,SAAS,CAACX,OAAO,KAAKA,OAAO,EAAE;QACjCG,kBAAkB,CAAES,IAAI,IAAK;UAC3B,IACEA,IAAI,CAACL,KAAK,KAAKI,SAAS,CAACJ,KAAK,IAC9BK,IAAI,CAACJ,MAAM,KAAKG,SAAS,CAACH,MAAM,EAChC;YACA,OAAO;cAAED,KAAK,EAAEI,SAAS,CAACJ,KAAK;cAAEC,MAAM,EAAEG,SAAS,CAACH;YAAO,CAAC;UAC7D;UACA,OAAOI,IAAI;QACb,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAMC,YAAY,GAAGzB,kBAAkB,CAAC0B,WAAW,CACjD,4BAA4B,EAC5BJ,gCACF,CAAC;IAED,OAAO,MAAM;MACXG,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACf,OAAO,EAAEF,KAAK,CAAC,CAAC;EAEpB,OAAOI,eAAe;AACxB","ignoreList":[]}
|
|
@@ -18,14 +18,25 @@ const DeviceStats = () => {
|
|
|
18
18
|
useCallCallingState
|
|
19
19
|
} = (0, _videoReactBindings.useCallStateHooks)();
|
|
20
20
|
const callingState = useCallCallingState();
|
|
21
|
+
const call = (0, _videoReactBindings.useCall)();
|
|
21
22
|
(0, _react.useEffect)(() => {
|
|
22
|
-
if (callingState !== _videoClient.CallingState.JOINED)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
if (!call || callingState !== _videoClient.CallingState.JOINED) return;
|
|
24
|
+
_reactNative.NativeModules?.StreamVideoReactNative.isLowPowerModeEnabled().then(initialPowerMode => {
|
|
25
|
+
(0, _videoClient.setPowerState)(initialPowerMode);
|
|
26
|
+
call.tracer.trace('device.lowPowerMode', initialPowerMode);
|
|
27
|
+
});
|
|
28
|
+
const powerModeSubscription = eventEmitter?.addListener('isLowPowerModeEnabled', isLowPowerMode => {
|
|
29
|
+
(0, _videoClient.setPowerState)(isLowPowerMode);
|
|
30
|
+
call.tracer.trace('device.lowPowerMode', isLowPowerMode);
|
|
31
|
+
});
|
|
32
|
+
_reactNative.NativeModules?.StreamVideoReactNative.currentThermalState().then(initialState => {
|
|
33
|
+
(0, _videoClient.setThermalState)(initialState);
|
|
34
|
+
call.tracer.trace('device.thermalState', initialState);
|
|
35
|
+
});
|
|
36
|
+
const thermalStateSubscription = eventEmitter?.addListener('thermalStateDidChange', thermalState => {
|
|
37
|
+
(0, _videoClient.setThermalState)(thermalState);
|
|
38
|
+
call.tracer.trace('device.thermalStateChanged', thermalState);
|
|
39
|
+
});
|
|
29
40
|
|
|
30
41
|
// on android we need to explicitly start and stop the thermal status updates
|
|
31
42
|
if (_reactNative.Platform.OS === 'android') {
|
|
@@ -38,7 +49,7 @@ const DeviceStats = () => {
|
|
|
38
49
|
_reactNative.NativeModules?.StreamVideoReactNative.stopThermalStatusUpdates();
|
|
39
50
|
}
|
|
40
51
|
};
|
|
41
|
-
}, [callingState]);
|
|
52
|
+
}, [call, callingState]);
|
|
42
53
|
return null;
|
|
43
54
|
};
|
|
44
55
|
exports.DeviceStats = DeviceStats;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_videoReactBindings","require","_react","_videoClient","_reactNative","eventEmitter","NativeModules","StreamVideoReactNative","NativeEventEmitter","undefined","DeviceStats","useCallCallingState","useCallStateHooks","callingState","useEffect","CallingState","JOINED","isLowPowerModeEnabled","then","initialPowerMode","setPowerState","powerModeSubscription","addListener","isLowPowerMode","currentThermalState","initialState","setThermalState","thermalStateSubscription","thermalState","Platform","OS","startThermalStatusUpdates","remove","stopThermalStatusUpdates","exports"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/DeviceStats.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAH,OAAA;AAEA,MAAMI,YAAY,GAAGC,0BAAa,EAAEC,sBAAsB,GACtD,IAAIC,+BAAkB,CAACF,0BAAa,EAAEC,sBAAsB,CAAC,GAC7DE,SAAS;;AAEb;AACA;AACA;AACO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EACnD,MAAMC,YAAY,GAAGF,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"names":["_videoReactBindings","require","_react","_videoClient","_reactNative","eventEmitter","NativeModules","StreamVideoReactNative","NativeEventEmitter","undefined","DeviceStats","useCallCallingState","useCallStateHooks","callingState","call","useCall","useEffect","CallingState","JOINED","isLowPowerModeEnabled","then","initialPowerMode","setPowerState","tracer","trace","powerModeSubscription","addListener","isLowPowerMode","currentThermalState","initialState","setThermalState","thermalStateSubscription","thermalState","Platform","OS","startThermalStatusUpdates","remove","stopThermalStatusUpdates","exports"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/DeviceStats.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAH,OAAA;AAEA,MAAMI,YAAY,GAAGC,0BAAa,EAAEC,sBAAsB,GACtD,IAAIC,+BAAkB,CAACF,0BAAa,EAAEC,sBAAsB,CAAC,GAC7DE,SAAS;;AAEb;AACA;AACA;AACO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EACnD,MAAMC,YAAY,GAAGF,mBAAmB,CAAC,CAAC;EAC1C,MAAMG,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EAEtB,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACF,IAAI,IAAID,YAAY,KAAKI,yBAAY,CAACC,MAAM,EAAE;IAEnDZ,0BAAa,EAAEC,sBAAsB,CAACY,qBAAqB,CAAC,CAAC,CAACC,IAAI,CAC/DC,gBAAyB,IAAK;MAC7B,IAAAC,0BAAa,EAACD,gBAAgB,CAAC;MAC/BP,IAAI,CAACS,MAAM,CAACC,KAAK,CAAC,qBAAqB,EAAEH,gBAAgB,CAAC;IAC5D,CACF,CAAC;IAED,MAAMI,qBAAqB,GAAGpB,YAAY,EAAEqB,WAAW,CACrD,uBAAuB,EACtBC,cAAuB,IAAK;MAC3B,IAAAL,0BAAa,EAACK,cAAc,CAAC;MAC7Bb,IAAI,CAACS,MAAM,CAACC,KAAK,CAAC,qBAAqB,EAAEG,cAAc,CAAC;IAC1D,CACF,CAAC;IAEDrB,0BAAa,EAAEC,sBAAsB,CAACqB,mBAAmB,CAAC,CAAC,CAACR,IAAI,CAC7DS,YAAoB,IAAK;MACxB,IAAAC,4BAAe,EAACD,YAAY,CAAC;MAC7Bf,IAAI,CAACS,MAAM,CAACC,KAAK,CAAC,qBAAqB,EAAEK,YAAY,CAAC;IACxD,CACF,CAAC;IAED,MAAME,wBAAwB,GAAG1B,YAAY,EAAEqB,WAAW,CACxD,uBAAuB,EACtBM,YAAoB,IAAK;MACxB,IAAAF,4BAAe,EAACE,YAAY,CAAC;MAC7BlB,IAAI,CAACS,MAAM,CAACC,KAAK,CAAC,4BAA4B,EAAEQ,YAAY,CAAC;IAC/D,CACF,CAAC;;IAED;IACA,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B5B,0BAAa,EAAEC,sBAAsB,CAAC4B,yBAAyB,CAAC,CAAC;IACnE;IAEA,OAAO,MAAM;MACXV,qBAAqB,EAAEW,MAAM,CAAC,CAAC;MAC/BL,wBAAwB,EAAEK,MAAM,CAAC,CAAC;MAClC,IAAIH,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B5B,0BAAa,EAAEC,sBAAsB,CAAC8B,wBAAwB,CAAC,CAAC;MAClE;IACF,CAAC;EACH,CAAC,EAAE,CAACvB,IAAI,EAAED,YAAY,CAAC,CAAC;EAExB,OAAO,IAAI;AACb,CAAC;AAACyB,OAAA,CAAA5B,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -9,6 +9,24 @@ var _newNotificationCallbacks = _interopRequireDefault(require("../internal/newN
|
|
|
9
9
|
var _setupIosCallKeepEvents = require("../push/setupIosCallKeepEvents");
|
|
10
10
|
var _setupIosVoipPushEvents = require("../push/setupIosVoipPushEvents");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
// Utility type for deep partial
|
|
13
|
+
|
|
14
|
+
// Helper function for deep merging
|
|
15
|
+
function deepMerge(target, source) {
|
|
16
|
+
const result = {
|
|
17
|
+
...target
|
|
18
|
+
};
|
|
19
|
+
for (const key in source) {
|
|
20
|
+
if (source[key] !== undefined) {
|
|
21
|
+
if (typeof source[key] === 'object' && source[key] !== null && !Array.isArray(source[key]) && typeof target[key] === 'object' && target[key] !== null && !Array.isArray(target[key])) {
|
|
22
|
+
result[key] = deepMerge(target[key], source[key]);
|
|
23
|
+
} else {
|
|
24
|
+
result[key] = source[key];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
12
30
|
const DEFAULT_STREAM_VIDEO_CONFIG = {
|
|
13
31
|
foregroundService: {
|
|
14
32
|
android: {
|
|
@@ -22,7 +40,8 @@ const DEFAULT_STREAM_VIDEO_CONFIG = {
|
|
|
22
40
|
notificationTexts: {
|
|
23
41
|
title: 'Call in progress',
|
|
24
42
|
body: 'Tap to return to the call'
|
|
25
|
-
}
|
|
43
|
+
},
|
|
44
|
+
taskToRun: () => new Promise(() => {})
|
|
26
45
|
}
|
|
27
46
|
}
|
|
28
47
|
};
|
|
@@ -32,13 +51,10 @@ class StreamVideoRN {
|
|
|
32
51
|
/**
|
|
33
52
|
* Update the global config for StreamVideoRN except for push config.
|
|
34
53
|
* To set push config use `StreamVideoRN.setPushConfig` instead.
|
|
35
|
-
* This function accepts a partial config object that will be merged with the default config.
|
|
54
|
+
* This function accepts a partial config object that will be deeply merged with the default config.
|
|
36
55
|
*/
|
|
37
56
|
static updateConfig(updateConfig) {
|
|
38
|
-
this.config =
|
|
39
|
-
...this.config,
|
|
40
|
-
...updateConfig
|
|
41
|
-
};
|
|
57
|
+
this.config = deepMerge(this.config, updateConfig);
|
|
42
58
|
}
|
|
43
59
|
static updateAndroidIncomingCallChannel(updateChannel) {
|
|
44
60
|
const prevChannel = this.config.push?.android?.incomingCallChannel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pushLogoutCallback","_interopRequireDefault","require","_newNotificationCallbacks","_setupIosCallKeepEvents","_setupIosVoipPushEvents","e","__esModule","default","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","lights","vibration","importance","notificationTexts","title","body","StreamVideoRN","config","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","__DEV__","navigateAcceptCall","navigateToIncomingCall","Error","setupIosCallKeepEvents","setupIosVoipPushEvents","getConfig","onPushLogout","pushLogoutCallbacks","current","
|
|
1
|
+
{"version":3,"names":["_pushLogoutCallback","_interopRequireDefault","require","_newNotificationCallbacks","_setupIosCallKeepEvents","_setupIosVoipPushEvents","e","__esModule","default","deepMerge","target","source","result","key","undefined","Array","isArray","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","lights","vibration","importance","notificationTexts","title","body","taskToRun","Promise","StreamVideoRN","config","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","__DEV__","navigateAcceptCall","navigateToIncomingCall","Error","setupIosCallKeepEvents","setupIosVoipPushEvents","getConfig","onPushLogout","pushLogoutCallbacks","current","all","map","callback","then","resolve","clearPushLogoutCallbacks","addOnNewCallNotificationListener","newNotificationCallbacks","filter","cb","exports"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,
|
|
1
|
+
{"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,gBAAgB","ignoreList":[]}
|