@stream-io/video-react-native-sdk 1.9.7 → 1.9.8
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 +7 -0
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +12 -0
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +13 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +16 -0
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [1.9.8](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.7...@stream-io/video-react-native-sdk-1.9.8) (2025-01-23)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* unnecessary reject from callkeep ([15aaa0d](https://github.com/GetStream/stream-video-js/commit/15aaa0d79a9d608eff801a2eb1dd913fff19dfd3))
|
|
11
|
+
|
|
5
12
|
## [1.9.7](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.6...@stream-io/video-react-native-sdk-1.9.7) (2025-01-22)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -17,6 +17,13 @@ const isNonActiveCallingState = callingState => {
|
|
|
17
17
|
const isAcceptedCallingState = callingState => {
|
|
18
18
|
return callingState === _videoClient.CallingState.JOINING || callingState === _videoClient.CallingState.JOINED;
|
|
19
19
|
};
|
|
20
|
+
const unsubscribeCallkeepEvents = activeCallCid => {
|
|
21
|
+
const voipPushNotificationCallCId = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipPushNotificationCallCId$);
|
|
22
|
+
if (activeCallCid && activeCallCid === voipPushNotificationCallCId) {
|
|
23
|
+
// callkeep events should not be listened anymore so clear the call cid
|
|
24
|
+
_rxSubjects.voipPushNotificationCallCId$.next(undefined);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
20
27
|
|
|
21
28
|
/**
|
|
22
29
|
* This hook is used to inform the callkeep library that the call has been joined or ended.
|
|
@@ -37,6 +44,7 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
37
44
|
const callkeep = (0, _libs.getCallKeepLib)();
|
|
38
45
|
// if the component is unmounted and the callID was not reported to callkeep, then report it now
|
|
39
46
|
if (acceptedForegroundCallkeepMap) {
|
|
47
|
+
unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid);
|
|
40
48
|
// this call should be ended in callkeep
|
|
41
49
|
callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
|
|
42
50
|
}
|
|
@@ -53,10 +61,12 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
53
61
|
const foregroundIncomingCallkeepMap = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipCallkeepCallOnForegroundMap$);
|
|
54
62
|
const callkeep = (0, _libs.getCallKeepLib)();
|
|
55
63
|
if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
|
|
64
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
56
65
|
callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
|
|
57
66
|
// no need to keep this reference anymore
|
|
58
67
|
_rxSubjects.voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
|
|
59
68
|
} else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
|
|
69
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
60
70
|
callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
|
|
61
71
|
// no need to keep this reference anymore
|
|
62
72
|
_rxSubjects.voipCallkeepCallOnForegroundMap$.next(undefined);
|
|
@@ -90,6 +100,8 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
90
100
|
*/
|
|
91
101
|
if (isNonActiveCallingState(callingState)) {
|
|
92
102
|
const callkeep = (0, _libs.getCallKeepLib)();
|
|
103
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
104
|
+
|
|
93
105
|
// this was a previously joined call which had push notification displayed
|
|
94
106
|
// the call was accepted through the app and not through native dialer
|
|
95
107
|
// the call was left using the leave button in the app and not through native dialer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_videoClient","require","_videoReactBindings","_reactNative","_react","_utils","_libs","_rxSubjects","isNonActiveCallingState","callingState","CallingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","useIosCallkeepWithCallingStateEffect","activeCall","useCall","useCallCallingState","useCallStateHooks","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","useState","useEffect","pushConfig","StreamVideoRN","getConfig","push","Platform","OS","callkeep","getCallKeepLib","
|
|
1
|
+
{"version":3,"names":["_videoClient","require","_videoReactBindings","_reactNative","_react","_utils","_libs","_rxSubjects","isNonActiveCallingState","callingState","CallingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","unsubscribeCallkeepEvents","activeCallCid","voipPushNotificationCallCId","RxUtils","getCurrentValue","voipPushNotificationCallCId$","next","undefined","useIosCallkeepWithCallingStateEffect","activeCall","useCall","useCallCallingState","useCallStateHooks","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","useState","useEffect","pushConfig","StreamVideoRN","getConfig","push","Platform","OS","callkeep","getCallKeepLib","cid","endCall","uuid","nativeDialerAcceptedCallMap","voipCallkeepAcceptedCallOnNativeDialerMap$","foregroundIncomingCallkeepMap","voipCallkeepCallOnForegroundMap$","foregroundCallkeepMap","answerIncomingCall","exports"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -4,13 +4,20 @@ import { Platform } from 'react-native';
|
|
|
4
4
|
import { useEffect, useState } from 'react';
|
|
5
5
|
import { StreamVideoRN } from '../../utils';
|
|
6
6
|
import { getCallKeepLib } from '../../utils/push/libs';
|
|
7
|
-
import { voipCallkeepAcceptedCallOnNativeDialerMap$, voipCallkeepCallOnForegroundMap$ } from '../../utils/push/internal/rxSubjects';
|
|
7
|
+
import { voipCallkeepAcceptedCallOnNativeDialerMap$, voipCallkeepCallOnForegroundMap$, voipPushNotificationCallCId$ } from '../../utils/push/internal/rxSubjects';
|
|
8
8
|
const isNonActiveCallingState = callingState => {
|
|
9
9
|
return callingState === CallingState.IDLE || callingState === CallingState.UNKNOWN || callingState === CallingState.LEFT;
|
|
10
10
|
};
|
|
11
11
|
const isAcceptedCallingState = callingState => {
|
|
12
12
|
return callingState === CallingState.JOINING || callingState === CallingState.JOINED;
|
|
13
13
|
};
|
|
14
|
+
const unsubscribeCallkeepEvents = activeCallCid => {
|
|
15
|
+
const voipPushNotificationCallCId = RxUtils.getCurrentValue(voipPushNotificationCallCId$);
|
|
16
|
+
if (activeCallCid && activeCallCid === voipPushNotificationCallCId) {
|
|
17
|
+
// callkeep events should not be listened anymore so clear the call cid
|
|
18
|
+
voipPushNotificationCallCId$.next(undefined);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
14
21
|
|
|
15
22
|
/**
|
|
16
23
|
* This hook is used to inform the callkeep library that the call has been joined or ended.
|
|
@@ -31,6 +38,7 @@ export const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
31
38
|
const callkeep = getCallKeepLib();
|
|
32
39
|
// if the component is unmounted and the callID was not reported to callkeep, then report it now
|
|
33
40
|
if (acceptedForegroundCallkeepMap) {
|
|
41
|
+
unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid);
|
|
34
42
|
// this call should be ended in callkeep
|
|
35
43
|
callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
|
|
36
44
|
}
|
|
@@ -47,10 +55,12 @@ export const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
47
55
|
const foregroundIncomingCallkeepMap = RxUtils.getCurrentValue(voipCallkeepCallOnForegroundMap$);
|
|
48
56
|
const callkeep = getCallKeepLib();
|
|
49
57
|
if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
|
|
58
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
50
59
|
callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
|
|
51
60
|
// no need to keep this reference anymore
|
|
52
61
|
voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
|
|
53
62
|
} else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
|
|
63
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
54
64
|
callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
|
|
55
65
|
// no need to keep this reference anymore
|
|
56
66
|
voipCallkeepCallOnForegroundMap$.next(undefined);
|
|
@@ -84,6 +94,8 @@ export const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
84
94
|
*/
|
|
85
95
|
if (isNonActiveCallingState(callingState)) {
|
|
86
96
|
const callkeep = getCallKeepLib();
|
|
97
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
98
|
+
|
|
87
99
|
// this was a previously joined call which had push notification displayed
|
|
88
100
|
// the call was accepted through the app and not through native dialer
|
|
89
101
|
// the call was left using the leave button in the app and not through native dialer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CallingState","RxUtils","useCall","useCallStateHooks","Platform","useEffect","useState","StreamVideoRN","getCallKeepLib","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","isNonActiveCallingState","callingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","useIosCallkeepWithCallingStateEffect","activeCall","useCallCallingState","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","pushConfig","getConfig","push","OS","callkeep","
|
|
1
|
+
{"version":3,"names":["CallingState","RxUtils","useCall","useCallStateHooks","Platform","useEffect","useState","StreamVideoRN","getCallKeepLib","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","voipPushNotificationCallCId$","isNonActiveCallingState","callingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","unsubscribeCallkeepEvents","activeCallCid","voipPushNotificationCallCId","getCurrentValue","next","undefined","useIosCallkeepWithCallingStateEffect","activeCall","useCallCallingState","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","pushConfig","getConfig","push","OS","callkeep","cid","endCall","uuid","nativeDialerAcceptedCallMap","foregroundIncomingCallkeepMap","foregroundCallkeepMap","answerIncomingCall"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '1.9.
|
|
1
|
+
export const version = '1.9.8';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIosCallkeepWithCallingStateEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIosCallkeepWithCallingStateEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,eAAO,MAAM,oCAAoC,YAyHhD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.9.
|
|
1
|
+
export declare const version = "1.9.8";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import { getCallKeepLib } from '../../utils/push/libs';
|
|
|
7
7
|
import {
|
|
8
8
|
voipCallkeepAcceptedCallOnNativeDialerMap$,
|
|
9
9
|
voipCallkeepCallOnForegroundMap$,
|
|
10
|
+
voipPushNotificationCallCId$,
|
|
10
11
|
} from '../../utils/push/internal/rxSubjects';
|
|
11
12
|
|
|
12
13
|
const isNonActiveCallingState = (callingState: CallingState) => {
|
|
@@ -24,6 +25,16 @@ const isAcceptedCallingState = (callingState: CallingState) => {
|
|
|
24
25
|
);
|
|
25
26
|
};
|
|
26
27
|
|
|
28
|
+
const unsubscribeCallkeepEvents = (activeCallCid: string | undefined) => {
|
|
29
|
+
const voipPushNotificationCallCId = RxUtils.getCurrentValue(
|
|
30
|
+
voipPushNotificationCallCId$
|
|
31
|
+
);
|
|
32
|
+
if (activeCallCid && activeCallCid === voipPushNotificationCallCId) {
|
|
33
|
+
// callkeep events should not be listened anymore so clear the call cid
|
|
34
|
+
voipPushNotificationCallCId$.next(undefined);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
27
38
|
/**
|
|
28
39
|
* This hook is used to inform the callkeep library that the call has been joined or ended.
|
|
29
40
|
*/
|
|
@@ -46,6 +57,7 @@ export const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
46
57
|
const callkeep = getCallKeepLib();
|
|
47
58
|
// if the component is unmounted and the callID was not reported to callkeep, then report it now
|
|
48
59
|
if (acceptedForegroundCallkeepMap) {
|
|
60
|
+
unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid);
|
|
49
61
|
// this call should be ended in callkeep
|
|
50
62
|
callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
|
|
51
63
|
}
|
|
@@ -68,10 +80,12 @@ export const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
68
80
|
);
|
|
69
81
|
const callkeep = getCallKeepLib();
|
|
70
82
|
if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
|
|
83
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
71
84
|
callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
|
|
72
85
|
// no need to keep this reference anymore
|
|
73
86
|
voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
|
|
74
87
|
} else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
|
|
88
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
75
89
|
callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
|
|
76
90
|
// no need to keep this reference anymore
|
|
77
91
|
voipCallkeepCallOnForegroundMap$.next(undefined);
|
|
@@ -111,6 +125,8 @@ export const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
111
125
|
*/
|
|
112
126
|
if (isNonActiveCallingState(callingState)) {
|
|
113
127
|
const callkeep = getCallKeepLib();
|
|
128
|
+
unsubscribeCallkeepEvents(activeCallCid);
|
|
129
|
+
|
|
114
130
|
// this was a previously joined call which had push notification displayed
|
|
115
131
|
// the call was accepted through the app and not through native dialer
|
|
116
132
|
// the call was left using the leave button in the app and not through native dialer
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '1.9.
|
|
1
|
+
export const version = '1.9.8';
|