@stream-io/video-react-native-sdk 1.19.0 → 1.20.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/CHANGELOG.md +28 -0
- package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +10 -0
- package/android/src/main/java/com/streamvideo/reactnative/util/PiPHelper.kt +18 -0
- package/dist/commonjs/components/Call/CallContent/CallContent.js +20 -0
- package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
- 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/AppStateListener.js +3 -2
- package/dist/commonjs/providers/StreamCall/AppStateListener.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/module/components/Call/CallContent/CallContent.js +22 -2
- package/dist/module/components/Call/CallContent/CallContent.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/AppStateListener.js +3 -2
- package/dist/module/providers/StreamCall/AppStateListener.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/typescript/components/Call/CallContent/CallContent.d.ts.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/AppStateListener.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/package.json +7 -7
- package/src/components/Call/CallContent/CallContent.tsx +39 -3
- 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/AppStateListener.tsx +3 -5
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","AppState","NativeModules","Platform","CallingState","getLogger","getKeepCallAliveForegroundServiceTypes","getNotifeeLibNoThrowForKeepCallAlive","notifeeLib","setForegroundService","OS","StreamVideoReactNative","isCallAliveConfigured","then","isConfigured","logger","default","registerForegroundService","
|
|
1
|
+
{"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","AppState","NativeModules","Platform","CallingState","getLogger","getKeepCallAliveForegroundServiceTypes","getNotifeeLibNoThrowForKeepCallAlive","notifeeLib","callToPassToForegroundService","current","undefined","setForegroundService","OS","StreamVideoReactNative","isCallAliveConfigured","then","isConfigured","logger","default","registerForegroundService","task","Promise","resolve","videoConfig","getConfig","foregroundServiceConfig","foregroundService","taskToRun","android","call","startForegroundService","call_cid","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","notificationTexts","channelId","channel","id","createChannel","foregroundServiceTypes","requestAnimationFrame","displayNotification","title","body","smallIcon","push","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","activeCallCid","cid","useCallCallingState","callingState","isOutgoingCall","RINGING","isCreatedByMe","isCallJoined","JOINED","shouldStartForegroundService","run","notifee","displayedNotifications","getDisplayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","currentState","sub","addEventListener","nextAppState","remove","IDLE","LEFT"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,57 +1,52 @@
|
|
|
1
|
-
import { useCall } from '@stream-io/video-react-bindings';
|
|
2
1
|
import { useEffect, useState } from 'react';
|
|
2
|
+
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
3
|
+
const webRTCEventEmitter = new NativeEventEmitter(NativeModules.WebRTCModule);
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* This is a utility hook to get the dimensions of the video track of the participant.
|
|
6
7
|
* Note: the `tracktype` is used only for local participants.
|
|
7
8
|
* `tracktype` should be 'videoTrack' for video track and 'screenShareTrack' for screen share track.
|
|
8
9
|
*/
|
|
9
|
-
export function useTrackDimensions(participant) {
|
|
10
|
-
const [trackDimensions, setTrackDimensions] = useState({
|
|
11
|
-
width: 0,
|
|
12
|
-
height: 0
|
|
13
|
-
});
|
|
14
|
-
const call = useCall();
|
|
10
|
+
export function useTrackDimensions(participant, trackType) {
|
|
15
11
|
const {
|
|
16
|
-
|
|
12
|
+
videoStream,
|
|
13
|
+
screenShareStream
|
|
17
14
|
} = participant;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
const stream = trackType === 'screenShareTrack' ? screenShareStream : videoStream;
|
|
16
|
+
const [track] = stream?.getVideoTracks() ?? [];
|
|
17
|
+
const trackId = track?.id;
|
|
18
|
+
const [trackDimensions, setTrackDimensions] = useState(() => {
|
|
19
|
+
const settings = track?.getSettings();
|
|
20
|
+
const width = settings?.width ?? 0;
|
|
21
|
+
const height = settings?.height ?? 0;
|
|
22
|
+
return {
|
|
23
|
+
width,
|
|
24
|
+
height
|
|
23
25
|
};
|
|
24
|
-
}
|
|
26
|
+
});
|
|
25
27
|
|
|
26
|
-
//
|
|
27
|
-
// and for local participants we can get from track.getSettings() but it reports the wrong dimensions as it sends the constraints
|
|
28
|
-
// so we need to rely on call stats for all participants to get the dimensions
|
|
28
|
+
// Set up videoTrackDimensionChanged event listener for more direct dimension updates
|
|
29
29
|
useEffect(() => {
|
|
30
|
-
if (!
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const trackStats = reportForTracks?.flatMap(r => r.streams).filter(track => track.kind === 'video');
|
|
35
|
-
if (!trackStats) return;
|
|
36
|
-
const stat = trackStats[0];
|
|
37
|
-
if (stat) {
|
|
38
|
-
const {
|
|
39
|
-
frameWidth = 0,
|
|
40
|
-
frameHeight = 0
|
|
41
|
-
} = stat;
|
|
30
|
+
if (!trackId || !NativeModules.WebRTCModule) return;
|
|
31
|
+
const handleVideoTrackDimensionChanged = eventData => {
|
|
32
|
+
// Only handle events for this specific participant
|
|
33
|
+
if (eventData.trackId === trackId) {
|
|
42
34
|
setTrackDimensions(prev => {
|
|
43
|
-
if (prev.width !==
|
|
35
|
+
if (prev.width !== eventData.width || prev.height !== eventData.height) {
|
|
44
36
|
return {
|
|
45
|
-
width:
|
|
46
|
-
height:
|
|
37
|
+
width: eventData.width,
|
|
38
|
+
height: eventData.height
|
|
47
39
|
};
|
|
48
40
|
}
|
|
49
41
|
return prev;
|
|
50
42
|
});
|
|
51
43
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
};
|
|
45
|
+
const subscription = webRTCEventEmitter.addListener('videoTrackDimensionChanged', handleVideoTrackDimensionChanged);
|
|
46
|
+
return () => {
|
|
47
|
+
subscription.remove();
|
|
48
|
+
};
|
|
49
|
+
}, [trackId, track]);
|
|
55
50
|
return trackDimensions;
|
|
56
51
|
}
|
|
57
52
|
//# sourceMappingURL=useTrackDimensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","webRTCEventEmitter","WebRTCModule","useTrackDimensions","participant","trackType","videoStream","screenShareStream","stream","track","getVideoTracks","trackId","id","trackDimensions","setTrackDimensions","settings","getSettings","width","height","handleVideoTrackDimensionChanged","eventData","prev","subscription","addListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useTrackDimensions.ts"],"mappings":"AAIA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;AAEhE,MAAMC,kBAAkB,GAAG,IAAIF,kBAAkB,CAACC,aAAa,CAACE,YAAY,CAAC;;AAE7E;AACA;AACA;AACA;AACA;AACA,OAAO,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,GAAGhB,QAAQ,CAAC,MAAM;IAC3D,MAAMiB,QAAQ,GAAGN,KAAK,EAAEO,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;EACArB,SAAS,CAAC,MAAM;IACd,IAAI,CAACc,OAAO,IAAI,CAACX,aAAa,CAACE,YAAY,EAAE;IAE7C,MAAMiB,gCAAgC,GAAIC,SAKzC,IAAK;MACJ;MACA,IAAIA,SAAS,CAACT,OAAO,KAAKA,OAAO,EAAE;QACjCG,kBAAkB,CAAEO,IAAI,IAAK;UAC3B,IACEA,IAAI,CAACJ,KAAK,KAAKG,SAAS,CAACH,KAAK,IAC9BI,IAAI,CAACH,MAAM,KAAKE,SAAS,CAACF,MAAM,EAChC;YACA,OAAO;cAAED,KAAK,EAAEG,SAAS,CAACH,KAAK;cAAEC,MAAM,EAAEE,SAAS,CAACF;YAAO,CAAC;UAC7D;UACA,OAAOG,IAAI;QACb,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAMC,YAAY,GAAGrB,kBAAkB,CAACsB,WAAW,CACjD,4BAA4B,EAC5BJ,gCACF,CAAC;IAED,OAAO,MAAM;MACXG,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACb,OAAO,EAAEF,KAAK,CAAC,CAAC;EAEpB,OAAOI,eAAe;AACxB","ignoreList":[]}
|
|
@@ -44,8 +44,9 @@ export const AppStateListener = () => {
|
|
|
44
44
|
const subscription = AppState.addEventListener('change', nextAppState => {
|
|
45
45
|
const logger = getLogger(['AppStateListener']);
|
|
46
46
|
if (appState.current.match(/background/) && nextAppState === 'active') {
|
|
47
|
-
if (call?.camera?.state.status === 'enabled'
|
|
48
|
-
// when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
47
|
+
if (call?.camera?.state.status === 'enabled') {
|
|
48
|
+
// Android: when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
49
|
+
// iOS PiP: when local track was replaced by remote track, the local track shown is blank
|
|
49
50
|
// as a workaround we stop the track and enable again if its already in enabled state
|
|
50
51
|
call?.camera?.disable(true).then(() => {
|
|
51
52
|
call?.camera?.enable();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCall","useEffect","useRef","AppState","NativeEventEmitter","NativeModules","Platform","shouldDisableIOSLocalVideoOnBackgroundRef","disablePiPMode$","isInPiPModeAndroid$","getLogger","RxUtils","PIP_CHANGE_EVENT","isAndroid8OrAbove","OS","Version","AppStateListener","call","appState","currentState","cameraDisabledByAppState","disablePiP","getCurrentValue","logger","initialPipMode","next","StreamVideoReactNative","isInPiPMode","then","isInPiP","eventEmitter","subscriptionPiPChange","addListener","remove","subscription","addEventListener","nextAppState","current","match","camera","state","status","disable","enable","resume","disableCameraIfNeeded"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AppStateListener.tsx"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iCAAiC;AACzD,SAASC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AACrB,SAASC,yCAAyC,QAAQ,6DAA6D;AACvH,SACEC,eAAe,EACfC,mBAAmB,QACd,iCAAiC;AACxC,SAASC,SAAS,EAAEC,OAAO,QAAQ,yBAAyB;AAE5D,MAAMC,gBAAgB,GAAG,yCAAyC;AAElE,MAAMC,iBAAiB,GAAGP,QAAQ,CAACQ,EAAE,KAAK,SAAS,IAAIR,QAAQ,CAACS,OAAO,IAAI,EAAE;;AAE7E;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,IAAI,GAAGjB,OAAO,CAAC,CAAC;EACtB,MAAMkB,QAAQ,GAAGhB,MAAM,CAACC,QAAQ,CAACgB,YAAY,CAAC;EAC9C,MAAMC,wBAAwB,GAAGlB,MAAM,CAAU,KAAK,CAAC;;EAEvD;EACAD,SAAS,CAAC,MAAM;IACd,IAAI,CAACY,iBAAiB,EAAE;MACtB;IACF;IAEA,MAAMQ,UAAU,GAAGV,OAAO,CAACW,eAAe,CAACd,eAAe,CAAC;IAC3D,MAAMe,MAAM,GAAGb,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAMc,cAAc,GAClB,CAACH,UAAU,IAAIlB,QAAQ,CAACgB,YAAY,KAAK,YAAY;IACvDV,mBAAmB,CAACgB,IAAI,CAACD,cAAc,CAAC;IACxCD,MAAM,CAAC,OAAO,EAAE,mCAAmC,EAAEC,cAAc,CAAC;IAEpEnB,aAAa,EAAEqB,sBAAsB,EAAEC,WAAW,CAAC,CAAC,CAACC,IAAI,CACtDC,OAAmC,IAAK;MACvCpB,mBAAmB,CAACgB,IAAI,CAAC,CAAC,CAACI,OAAO,CAAC;MACnCN,MAAM,CACJ,OAAO,EACP,gEAAgE,EAChE,CAAC,CAACM,OACJ,CAAC;IACH,CACF,CAAC;IAED,MAAMC,YAAY,GAAG,IAAI1B,kBAAkB,CACzCC,aAAa,CAACqB,sBAChB,CAAC;IAED,MAAMK,qBAAqB,GAAGD,YAAY,CAACE,WAAW,CACpDpB,gBAAgB,EACfe,WAAoB,IAAK;MACxBlB,mBAAmB,CAACgB,IAAI,CAACE,WAAW,CAAC;IACvC,CACF,CAAC;IAED,OAAO,MAAM;MACXI,qBAAqB,CAACE,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENhC,SAAS,CAAC,MAAM;IACd;IACA;IACA;IACA,MAAMiC,YAAY,GAAG/B,QAAQ,CAACgC,gBAAgB,CAAC,QAAQ,EAAGC,YAAY,IAAK;MACzE,MAAMb,MAAM,GAAGb,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;MAC9C,IAAIQ,QAAQ,CAACmB,OAAO,CAACC,KAAK,CAAC,YAAY,CAAC,IAAIF,YAAY,KAAK,QAAQ,EAAE;QACrE,
|
|
1
|
+
{"version":3,"names":["useCall","useEffect","useRef","AppState","NativeEventEmitter","NativeModules","Platform","shouldDisableIOSLocalVideoOnBackgroundRef","disablePiPMode$","isInPiPModeAndroid$","getLogger","RxUtils","PIP_CHANGE_EVENT","isAndroid8OrAbove","OS","Version","AppStateListener","call","appState","currentState","cameraDisabledByAppState","disablePiP","getCurrentValue","logger","initialPipMode","next","StreamVideoReactNative","isInPiPMode","then","isInPiP","eventEmitter","subscriptionPiPChange","addListener","remove","subscription","addEventListener","nextAppState","current","match","camera","state","status","disable","enable","resume","disableCameraIfNeeded"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AppStateListener.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
1
|
+
import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
3
|
import { CallingState, setPowerState, setThermalState } from '@stream-io/video-client';
|
|
4
4
|
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
@@ -12,14 +12,25 @@ export const DeviceStats = () => {
|
|
|
12
12
|
useCallCallingState
|
|
13
13
|
} = useCallStateHooks();
|
|
14
14
|
const callingState = useCallCallingState();
|
|
15
|
+
const call = useCall();
|
|
15
16
|
useEffect(() => {
|
|
16
|
-
if (callingState !== CallingState.JOINED)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
if (!call || callingState !== CallingState.JOINED) return;
|
|
18
|
+
NativeModules?.StreamVideoReactNative.isLowPowerModeEnabled().then(initialPowerMode => {
|
|
19
|
+
setPowerState(initialPowerMode);
|
|
20
|
+
call.tracer.trace('device.lowPowerMode', initialPowerMode);
|
|
21
|
+
});
|
|
22
|
+
const powerModeSubscription = eventEmitter?.addListener('isLowPowerModeEnabled', isLowPowerMode => {
|
|
23
|
+
setPowerState(isLowPowerMode);
|
|
24
|
+
call.tracer.trace('device.lowPowerMode', isLowPowerMode);
|
|
25
|
+
});
|
|
26
|
+
NativeModules?.StreamVideoReactNative.currentThermalState().then(initialState => {
|
|
27
|
+
setThermalState(initialState);
|
|
28
|
+
call.tracer.trace('device.thermalState', initialState);
|
|
29
|
+
});
|
|
30
|
+
const thermalStateSubscription = eventEmitter?.addListener('thermalStateDidChange', thermalState => {
|
|
31
|
+
setThermalState(thermalState);
|
|
32
|
+
call.tracer.trace('device.thermalStateChanged', thermalState);
|
|
33
|
+
});
|
|
23
34
|
|
|
24
35
|
// on android we need to explicitly start and stop the thermal status updates
|
|
25
36
|
if (Platform.OS === 'android') {
|
|
@@ -32,7 +43,7 @@ export const DeviceStats = () => {
|
|
|
32
43
|
NativeModules?.StreamVideoReactNative.stopThermalStatusUpdates();
|
|
33
44
|
}
|
|
34
45
|
};
|
|
35
|
-
}, [callingState]);
|
|
46
|
+
}, [call, callingState]);
|
|
36
47
|
return null;
|
|
37
48
|
};
|
|
38
49
|
//# sourceMappingURL=DeviceStats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallStateHooks","useEffect","CallingState","setPowerState","setThermalState","NativeEventEmitter","NativeModules","Platform","eventEmitter","StreamVideoReactNative","undefined","DeviceStats","useCallCallingState","callingState","JOINED","isLowPowerModeEnabled","then","initialPowerMode","powerModeSubscription","addListener","isLowPowerMode","currentThermalState","initialState","thermalStateSubscription","thermalState","OS","startThermalStatusUpdates","remove","stopThermalStatusUpdates"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/DeviceStats.tsx"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,iCAAiC;
|
|
1
|
+
{"version":3,"names":["useCall","useCallStateHooks","useEffect","CallingState","setPowerState","setThermalState","NativeEventEmitter","NativeModules","Platform","eventEmitter","StreamVideoReactNative","undefined","DeviceStats","useCallCallingState","callingState","call","JOINED","isLowPowerModeEnabled","then","initialPowerMode","tracer","trace","powerModeSubscription","addListener","isLowPowerMode","currentThermalState","initialState","thermalStateSubscription","thermalState","OS","startThermalStatusUpdates","remove","stopThermalStatusUpdates"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/DeviceStats.tsx"],"mappings":"AAAA,SAASA,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SAASC,SAAS,QAAQ,OAAO;AACjC,SACEC,YAAY,EACZC,aAAa,EACbC,eAAe,QACV,yBAAyB;AAChC,SAASC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAE1E,MAAMC,YAAY,GAAGF,aAAa,EAAEG,sBAAsB,GACtD,IAAIJ,kBAAkB,CAACC,aAAa,EAAEG,sBAAsB,CAAC,GAC7DC,SAAS;;AAEb;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAoB,CAAC,GAAGZ,iBAAiB,CAAC,CAAC;EACnD,MAAMa,YAAY,GAAGD,mBAAmB,CAAC,CAAC;EAC1C,MAAME,IAAI,GAAGf,OAAO,CAAC,CAAC;EAEtBE,SAAS,CAAC,MAAM;IACd,IAAI,CAACa,IAAI,IAAID,YAAY,KAAKX,YAAY,CAACa,MAAM,EAAE;IAEnDT,aAAa,EAAEG,sBAAsB,CAACO,qBAAqB,CAAC,CAAC,CAACC,IAAI,CAC/DC,gBAAyB,IAAK;MAC7Bf,aAAa,CAACe,gBAAgB,CAAC;MAC/BJ,IAAI,CAACK,MAAM,CAACC,KAAK,CAAC,qBAAqB,EAAEF,gBAAgB,CAAC;IAC5D,CACF,CAAC;IAED,MAAMG,qBAAqB,GAAGb,YAAY,EAAEc,WAAW,CACrD,uBAAuB,EACtBC,cAAuB,IAAK;MAC3BpB,aAAa,CAACoB,cAAc,CAAC;MAC7BT,IAAI,CAACK,MAAM,CAACC,KAAK,CAAC,qBAAqB,EAAEG,cAAc,CAAC;IAC1D,CACF,CAAC;IAEDjB,aAAa,EAAEG,sBAAsB,CAACe,mBAAmB,CAAC,CAAC,CAACP,IAAI,CAC7DQ,YAAoB,IAAK;MACxBrB,eAAe,CAACqB,YAAY,CAAC;MAC7BX,IAAI,CAACK,MAAM,CAACC,KAAK,CAAC,qBAAqB,EAAEK,YAAY,CAAC;IACxD,CACF,CAAC;IAED,MAAMC,wBAAwB,GAAGlB,YAAY,EAAEc,WAAW,CACxD,uBAAuB,EACtBK,YAAoB,IAAK;MACxBvB,eAAe,CAACuB,YAAY,CAAC;MAC7Bb,IAAI,CAACK,MAAM,CAACC,KAAK,CAAC,4BAA4B,EAAEO,YAAY,CAAC;IAC/D,CACF,CAAC;;IAED;IACA,IAAIpB,QAAQ,CAACqB,EAAE,KAAK,SAAS,EAAE;MAC7BtB,aAAa,EAAEG,sBAAsB,CAACoB,yBAAyB,CAAC,CAAC;IACnE;IAEA,OAAO,MAAM;MACXR,qBAAqB,EAAES,MAAM,CAAC,CAAC;MAC/BJ,wBAAwB,EAAEI,MAAM,CAAC,CAAC;MAClC,IAAIvB,QAAQ,CAACqB,EAAE,KAAK,SAAS,EAAE;QAC7BtB,aAAa,EAAEG,sBAAsB,CAACsB,wBAAwB,CAAC,CAAC;MAClE;IACF,CAAC;EACH,CAAC,EAAE,CAACjB,IAAI,EAAED,YAAY,CAAC,CAAC;EAExB,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
|
|
@@ -2,6 +2,25 @@ import pushLogoutCallbacks from '../internal/pushLogoutCallback';
|
|
|
2
2
|
import newNotificationCallbacks from '../internal/newNotificationCallbacks';
|
|
3
3
|
import { setupIosCallKeepEvents } from '../push/setupIosCallKeepEvents';
|
|
4
4
|
import { setupIosVoipPushEvents } from '../push/setupIosVoipPushEvents';
|
|
5
|
+
|
|
6
|
+
// Utility type for deep partial
|
|
7
|
+
|
|
8
|
+
// Helper function for deep merging
|
|
9
|
+
function deepMerge(target, source) {
|
|
10
|
+
const result = {
|
|
11
|
+
...target
|
|
12
|
+
};
|
|
13
|
+
for (const key in source) {
|
|
14
|
+
if (source[key] !== undefined) {
|
|
15
|
+
if (typeof source[key] === 'object' && source[key] !== null && !Array.isArray(source[key]) && typeof target[key] === 'object' && target[key] !== null && !Array.isArray(target[key])) {
|
|
16
|
+
result[key] = deepMerge(target[key], source[key]);
|
|
17
|
+
} else {
|
|
18
|
+
result[key] = source[key];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
5
24
|
const DEFAULT_STREAM_VIDEO_CONFIG = {
|
|
6
25
|
foregroundService: {
|
|
7
26
|
android: {
|
|
@@ -15,7 +34,8 @@ const DEFAULT_STREAM_VIDEO_CONFIG = {
|
|
|
15
34
|
notificationTexts: {
|
|
16
35
|
title: 'Call in progress',
|
|
17
36
|
body: 'Tap to return to the call'
|
|
18
|
-
}
|
|
37
|
+
},
|
|
38
|
+
taskToRun: () => new Promise(() => {})
|
|
19
39
|
}
|
|
20
40
|
}
|
|
21
41
|
};
|
|
@@ -25,13 +45,10 @@ export class StreamVideoRN {
|
|
|
25
45
|
/**
|
|
26
46
|
* Update the global config for StreamVideoRN except for push config.
|
|
27
47
|
* To set push config use `StreamVideoRN.setPushConfig` instead.
|
|
28
|
-
* This function accepts a partial config object that will be merged with the default config.
|
|
48
|
+
* This function accepts a partial config object that will be deeply merged with the default config.
|
|
29
49
|
*/
|
|
30
50
|
static updateConfig(updateConfig) {
|
|
31
|
-
this.config =
|
|
32
|
-
...this.config,
|
|
33
|
-
...updateConfig
|
|
34
|
-
};
|
|
51
|
+
this.config = deepMerge(this.config, updateConfig);
|
|
35
52
|
}
|
|
36
53
|
static updateAndroidIncomingCallChannel(updateChannel) {
|
|
37
54
|
const prevChannel = this.config.push?.android?.incomingCallChannel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pushLogoutCallbacks","newNotificationCallbacks","setupIosCallKeepEvents","setupIosVoipPushEvents","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","getConfig","onPushLogout","current","
|
|
1
|
+
{"version":3,"names":["pushLogoutCallbacks","newNotificationCallbacks","setupIosCallKeepEvents","setupIosVoipPushEvents","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","getConfig","onPushLogout","current","all","map","callback","then","resolve","clearPushLogoutCallbacks","addOnNewCallNotificationListener","filter","cb"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '1.
|
|
1
|
+
export const version = '1.20.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/CallContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CallContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/CallContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAepE,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC/B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAG1C,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,yBAAyB,GAAG,6BAA6B,GAC5D,IAAI,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,GAAG;IAC5D;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC5D;;OAEG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;IACnF;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC7E;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;CAC1E,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,qBAAqB,EACrB,qBAAqB,CACtB,GACC,yBAAyB,GAAG;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAK1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAIpB,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;OAMG;IACH,6BAA6B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACnD,CAAC;AAEJ,eAAO,MAAM,WAAW,GAAI,mXAkBzB,gBAAgB,sBA4JlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallParticipantsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallLayout/CallParticipantsGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CallParticipantsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallLayout/CallParticipantsGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAIvE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,6BAA6B,GACnE,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,sBAAsB,CAAC,GACrE,IAAI,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,GAAG;IAC5D;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,qNAWlC,yBAAyB,sBAiF3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/components/Participant/ParticipantView/VideoRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAwB9D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,oBAAoB,EAClB,0BAA0B,GAC1B,WAAW,GACX,aAAa,GACb,WAAW,GACX,WAAW,GACX,aAAa,CAChB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,0FAO3B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"VideoRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/components/Participant/ParticipantView/VideoRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAwB9D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,oBAAoB,EAClB,0BAA0B,GAC1B,WAAW,GACX,aAAa,GACb,WAAW,GACX,WAAW,GACX,aAAa,CAChB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,0FAO3B,kBAAkB,sBA0QpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackgroundFilters.d.ts","sourceRoot":"","sources":["../../../src/contexts/BackgroundFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EAMvB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,EAAY,MAAM,cAAc,CAAC;AAoB/C,QAAA,MAAM,sBAAsB,iCAA2B,CAAC;AAGxD,KAAK,eAAe,GAAG,OAAO,CAC5B,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,CAAC,GAAG,CAAC,CACX,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,uBAAuB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,0BAA0B,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;IACnE;;;;OAIG;IACH,yBAAyB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE;;;;OAIG;IACH,oBAAoB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D;;OAEG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AASF;;GAEG;AACH,eAAO,MAAM,oBAAoB,4BAahC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,iBAAiB,
|
|
1
|
+
{"version":3,"file":"BackgroundFilters.d.ts","sourceRoot":"","sources":["../../../src/contexts/BackgroundFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EAMvB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,EAAY,MAAM,cAAc,CAAC;AAoB/C,QAAA,MAAM,sBAAsB,iCAA2B,CAAC;AAGxD,KAAK,eAAe,GAAG,OAAO,CAC5B,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,CAAC,GAAG,CAAC,CACX,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,uBAAuB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,0BAA0B,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;IACnE;;;;OAIG;IACH,yBAAyB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE;;;;OAIG;IACH,oBAAoB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D;;OAEG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AASF;;GAEG;AACH,eAAO,MAAM,oBAAoB,4BAahC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,iBAAiB,sBA8HxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AAkHA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YA+GzC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type StreamVideoParticipant } from '@stream-io/video-client';
|
|
1
|
+
import { type StreamVideoParticipant, type VideoTrackType } from '@stream-io/video-client';
|
|
2
2
|
/**
|
|
3
3
|
* This is a utility hook to get the dimensions of the video track of the participant.
|
|
4
4
|
* Note: the `tracktype` is used only for local participants.
|
|
5
5
|
* `tracktype` should be 'videoTrack' for video track and 'screenShareTrack' for screen share track.
|
|
6
6
|
*/
|
|
7
|
-
export declare function useTrackDimensions(participant: StreamVideoParticipant): {
|
|
7
|
+
export declare function useTrackDimensions(participant: StreamVideoParticipant, trackType: VideoTrackType): {
|
|
8
8
|
width: number;
|
|
9
9
|
height: number;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTrackDimensions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrackDimensions.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useTrackDimensions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrackDimensions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAMjC;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,sBAAsB,EACnC,SAAS,EAAE,cAAc;;;EAqD1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppStateListener.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/AppStateListener.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"AppStateListener.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/AppStateListener.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,gBAAgB,YA2H5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceStats.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/DeviceStats.tsx"],"names":[],"mappings":"AAaA;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"DeviceStats.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/DeviceStats.tsx"],"names":[],"mappings":"AAaA;;GAEG;AACH,eAAO,MAAM,WAAW,YAqDvB,CAAC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { StreamVideoConfig } from './types';
|
|
2
2
|
import { type NewCallNotificationCallback } from '../internal/newNotificationCallbacks';
|
|
3
|
+
type DeepPartial<T> = {
|
|
4
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
5
|
+
};
|
|
3
6
|
export declare class StreamVideoRN {
|
|
4
7
|
private static config;
|
|
5
8
|
/**
|
|
6
9
|
* Update the global config for StreamVideoRN except for push config.
|
|
7
10
|
* To set push config use `StreamVideoRN.setPushConfig` instead.
|
|
8
|
-
* This function accepts a partial config object that will be merged with the default config.
|
|
11
|
+
* This function accepts a partial config object that will be deeply merged with the default config.
|
|
9
12
|
*/
|
|
10
|
-
static updateConfig(updateConfig:
|
|
13
|
+
static updateConfig(updateConfig: DeepPartial<Omit<StreamVideoConfig, 'push'>>): void;
|
|
11
14
|
static updateAndroidIncomingCallChannel(updateChannel: Partial<NonNullable<StreamVideoConfig['push']>['android']['incomingCallChannel']>): void;
|
|
12
15
|
/**
|
|
13
16
|
* Set the push config for StreamVideoRN.
|
|
@@ -39,4 +42,5 @@ export declare class StreamVideoRN {
|
|
|
39
42
|
*/
|
|
40
43
|
static addOnNewCallNotificationListener(callback: NewCallNotificationCallback): () => void;
|
|
41
44
|
}
|
|
45
|
+
export {};
|
|
42
46
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAiC,EAC/B,KAAK,2BAA2B,EACjC,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAiC,EAC/B,KAAK,2BAA2B,EACjC,MAAM,sCAAsC,CAAC;AAK9C,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAmDF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IAEpD;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAK5D,MAAM,CAAC,gCAAgC,CACrC,aAAa,EAAE,OAAO,CACpB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CACzE;IAWH;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAsBvE,MAAM,CAAC,SAAS;IAIhB;;;OAGG;IACH,MAAM,CAAC,YAAY;IASnB,MAAM,CAAC,wBAAwB;IAI/B;;;;OAIG;IACH,MAAM,CAAC,gCAAgC,CACrC,QAAQ,EAAE,2BAA2B;CAYxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ClientPublishOptions, StreamVideoClient } from '@stream-io/video-client';
|
|
1
|
+
import { type ClientPublishOptions, StreamVideoClient, type Call } from '@stream-io/video-client';
|
|
2
2
|
import type { AndroidChannel } from '@notifee/react-native';
|
|
3
3
|
export type NonRingingPushEvent = 'call.live_started' | 'call.notification' | 'call.missed';
|
|
4
4
|
export type StreamVideoConfig = {
|
|
@@ -140,6 +140,11 @@ export type StreamVideoConfig = {
|
|
|
140
140
|
title: string;
|
|
141
141
|
body: string;
|
|
142
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* The task to run in the foreground service
|
|
145
|
+
* The task must resolve a promise once complete
|
|
146
|
+
*/
|
|
147
|
+
taskToRun: (call: Call) => Promise<void>;
|
|
143
148
|
};
|
|
144
149
|
};
|
|
145
150
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;QACtC,GAAG,EAAE;YACH;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,OAAO,EAAE;YACP;;;;eAIG;YACH,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B;;;;;;;;;eASG;YACH,WAAW,CAAC,EAAE,cAAc,CAAC;YAC7B;;;;;;;;;eASG;YACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;YACrC;;;;;;;;;eASG;YACH,mCAAmC,CAAC,EAAE;gBACpC,QAAQ,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;gBAC9C,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;gBAC7C,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;gBACpC,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;aACtC,CAAC;YACF;;;;;;;;;;;;;;;;;;;eAmBG;YACH,2BAA2B,CAAC,EAAE;gBAC5B,QAAQ,EAAE,CACR,IAAI,EAAE,mBAAmB,EACzB,eAAe,EAAE,MAAM,KACpB,MAAM,CAAC;gBACZ,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aACzE,CAAC;SACH,CAAC;QACF;;;;;;;;;;;;;;;;;WAiBG;QACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;QACtE;yJACiJ;QACjJ,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;QAChC;yJACiJ;QACjJ,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;QACpC,8EAA8E;QAC9E,+BAA+B,CAAC,EAAE,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;KACX,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP;;eAEG;YACH,OAAO,EAAE,cAAc,CAAC;YACxB;;eAEG;YACH,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;YACF;;;eAGG;YACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1C,CAAC;KACH,CAAC;CACH,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.
|
|
1
|
+
export declare const version = "1.20.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stream-io/video-react-native-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "Stream Video SDK for React Native",
|
|
5
5
|
"author": "https://getstream.io",
|
|
6
6
|
"homepage": "https://getstream.io/video/docs/react-native/",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"!**/.*"
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@stream-io/video-client": "1.27.
|
|
49
|
-
"@stream-io/video-react-bindings": "1.7.
|
|
48
|
+
"@stream-io/video-client": "1.27.1",
|
|
49
|
+
"@stream-io/video-react-bindings": "1.7.10",
|
|
50
50
|
"intl-pluralrules": "2.0.1",
|
|
51
51
|
"lodash.merge": "^4.6.2",
|
|
52
52
|
"react-native-url-polyfill": "1.3.0",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@react-native-firebase/app": ">=17.5.0",
|
|
61
61
|
"@react-native-firebase/messaging": ">=17.5.0",
|
|
62
62
|
"@stream-io/noise-cancellation-react-native": ">=0.1.0",
|
|
63
|
-
"@stream-io/react-native-webrtc": ">=125.
|
|
63
|
+
"@stream-io/react-native-webrtc": ">=125.4.0",
|
|
64
64
|
"@stream-io/video-filters-react-native": ">=0.1.0",
|
|
65
65
|
"expo": ">=47.0.0",
|
|
66
66
|
"expo-build-properties": "*",
|
|
@@ -125,9 +125,9 @@
|
|
|
125
125
|
"@react-native-firebase/app": "^22.1.0",
|
|
126
126
|
"@react-native-firebase/messaging": "^22.1.0",
|
|
127
127
|
"@react-native/babel-preset": "^0.79.2",
|
|
128
|
-
"@stream-io/noise-cancellation-react-native": "^0.
|
|
129
|
-
"@stream-io/react-native-webrtc": "^125.
|
|
130
|
-
"@stream-io/video-filters-react-native": "^0.
|
|
128
|
+
"@stream-io/noise-cancellation-react-native": "^0.2.0",
|
|
129
|
+
"@stream-io/react-native-webrtc": "^125.4.0",
|
|
130
|
+
"@stream-io/video-filters-react-native": "^0.6.0",
|
|
131
131
|
"@testing-library/jest-native": "^5.4.3",
|
|
132
132
|
"@testing-library/react-native": "13.2.0",
|
|
133
133
|
"@tsconfig/node14": "14.1.3",
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
StyleSheet,
|
|
4
|
+
View,
|
|
5
|
+
NativeModules,
|
|
6
|
+
type ViewStyle,
|
|
7
|
+
Platform,
|
|
8
|
+
} from 'react-native';
|
|
3
9
|
import InCallManager from 'react-native-incall-manager';
|
|
4
10
|
import {
|
|
5
11
|
CallParticipantsGrid,
|
|
@@ -12,8 +18,12 @@ import {
|
|
|
12
18
|
CallControls as DefaultCallControls,
|
|
13
19
|
type HangUpCallButtonProps,
|
|
14
20
|
} from '../CallControls';
|
|
15
|
-
import { useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
16
|
-
import {
|
|
21
|
+
import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
22
|
+
import {
|
|
23
|
+
CallingState,
|
|
24
|
+
getLogger,
|
|
25
|
+
type StreamReaction,
|
|
26
|
+
} from '@stream-io/video-client';
|
|
17
27
|
|
|
18
28
|
import { Z_INDEX } from '../../../constants';
|
|
19
29
|
import { useDebouncedValue } from '../../../utils/hooks';
|
|
@@ -121,6 +131,7 @@ export const CallContent = ({
|
|
|
121
131
|
const {
|
|
122
132
|
theme: { callContent },
|
|
123
133
|
} = useTheme();
|
|
134
|
+
const call = useCall();
|
|
124
135
|
const {
|
|
125
136
|
useHasOngoingScreenShare,
|
|
126
137
|
useRemoteParticipants,
|
|
@@ -138,6 +149,31 @@ export const CallContent = ({
|
|
|
138
149
|
const hasScreenShare = useHasOngoingScreenShare();
|
|
139
150
|
const showSpotlightLayout = hasScreenShare || layout === 'spotlight';
|
|
140
151
|
|
|
152
|
+
useEffect(() => {
|
|
153
|
+
if (isInPiPMode && Platform.OS === 'android') {
|
|
154
|
+
const unsubFunc = call?.on('call.ended', () => {
|
|
155
|
+
getLogger(['CallContent'])(
|
|
156
|
+
'debug',
|
|
157
|
+
`exiting PiP mode due to call.ended`,
|
|
158
|
+
);
|
|
159
|
+
NativeModules.StreamVideoReactNative.exitPipMode();
|
|
160
|
+
});
|
|
161
|
+
const subscription = call?.state.callingState$.subscribe((state) => {
|
|
162
|
+
if (state === CallingState.LEFT) {
|
|
163
|
+
getLogger(['CallContent'])(
|
|
164
|
+
'debug',
|
|
165
|
+
`exiting PiP mode due to callingState: LEFT`,
|
|
166
|
+
);
|
|
167
|
+
NativeModules.StreamVideoReactNative.exitPipMode();
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return () => {
|
|
171
|
+
unsubFunc?.();
|
|
172
|
+
subscription?.unsubscribe();
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}, [isInPiPMode, call]);
|
|
176
|
+
|
|
141
177
|
const showFloatingView =
|
|
142
178
|
!showSpotlightLayout &&
|
|
143
179
|
!isInPiPMode &&
|
|
@@ -11,6 +11,7 @@ import { useTheme } from '../../../contexts/ThemeContext';
|
|
|
11
11
|
import type { CallContentProps } from '../CallContent';
|
|
12
12
|
import type { ParticipantViewComponentProps } from '../../Participant';
|
|
13
13
|
import { useIsInPiPMode } from '../../../hooks/useIsInPiPMode';
|
|
14
|
+
import { StreamVideoParticipant } from '@stream-io/video-client';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Props for the CallParticipantsGrid component.
|
|
@@ -71,11 +72,17 @@ export const CallParticipantsGrid = ({
|
|
|
71
72
|
remoteParticipants.length > 0 &&
|
|
72
73
|
remoteParticipants.length < 3;
|
|
73
74
|
|
|
74
|
-
let participants
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
let participants: StreamVideoParticipant[];
|
|
76
|
+
|
|
77
|
+
if (showFloatingView) {
|
|
78
|
+
if (showLocalParticipant && localParticipant) {
|
|
79
|
+
participants = [localParticipant];
|
|
80
|
+
} else {
|
|
81
|
+
participants = remoteParticipants;
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
participants = allParticipants;
|
|
85
|
+
}
|
|
79
86
|
|
|
80
87
|
if (isInPiPMode) {
|
|
81
88
|
if (dominantSpeaker && !dominantSpeaker.isLocalParticipant) {
|