@stream-io/video-react-native-sdk 1.9.23 → 1.9.24
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 +10 -0
- package/dist/commonjs/hooks/push/useIosCallKeepEventsSetupEffect.js +5 -0
- package/dist/commonjs/hooks/push/useIosCallKeepEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +16 -0
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +61 -26
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js +3 -0
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useProcessPushNonRingingCallEffect.js +2 -0
- package/dist/commonjs/hooks/push/useProcessPushNonRingingCallEffect.js.map +1 -1
- package/dist/commonjs/utils/push/android.js +37 -4
- package/dist/commonjs/utils/push/android.js.map +1 -1
- package/dist/commonjs/utils/push/internal/utils.js +4 -1
- package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
- package/dist/commonjs/utils/push/ios.js +32 -8
- package/dist/commonjs/utils/push/ios.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/hooks/push/useIosCallKeepEventsSetupEffect.js +6 -1
- package/dist/module/hooks/push/useIosCallKeepEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +17 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -1
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +63 -28
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/push/useProcessPushCallEffect.js +3 -0
- package/dist/module/hooks/push/useProcessPushCallEffect.js.map +1 -1
- package/dist/module/hooks/push/useProcessPushNonRingingCallEffect.js +2 -0
- package/dist/module/hooks/push/useProcessPushNonRingingCallEffect.js.map +1 -1
- package/dist/module/utils/push/android.js +37 -4
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/internal/utils.js +4 -1
- package/dist/module/utils/push/internal/utils.js.map +1 -1
- package/dist/module/utils/push/ios.js +32 -8
- package/dist/module/utils/push/ios.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/hooks/push/useIosCallKeepEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useProcessPushNonRingingCallEffect.d.ts.map +1 -1
- package/dist/typescript/utils/push/android.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/hooks/push/useIosCallKeepEventsSetupEffect.ts +9 -1
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +35 -1
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +103 -22
- package/src/hooks/push/useProcessPushCallEffect.ts +10 -1
- package/src/hooks/push/useProcessPushNonRingingCallEffect.ts +5 -0
- package/src/utils/push/android.ts +90 -4
- package/src/utils/push/internal/utils.ts +13 -1
- package/src/utils/push/ios.ts +68 -5
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [1.9.24](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.23...@stream-io/video-react-native-sdk-1.9.24) (2025-02-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
* bump to webrtc-125.0.4 ([#1675](https://github.com/GetStream/stream-video-js/issues/1675)) ([c4b9ad8](https://github.com/GetStream/stream-video-js/commit/c4b9ad8a30403c9f2ebd8ba681fcc97c048d00e8))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* send voip token also when connectUser is called later ([#1665](https://github.com/GetStream/stream-video-js/issues/1665)) ([aab92c0](https://github.com/GetStream/stream-video-js/commit/aab92c0b1029aec7fedb2afac43585752bcd0b07))
|
|
14
|
+
|
|
5
15
|
## [1.9.23](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.22...@stream-io/video-react-native-sdk-1.9.23) (2025-02-06)
|
|
6
16
|
|
|
7
17
|
### Dependency Updates
|
|
@@ -11,6 +11,8 @@ var _libs = require("../../utils/push/libs");
|
|
|
11
11
|
var _StreamVideoRN = require("../../utils/StreamVideoRN");
|
|
12
12
|
var _utils = require("../../utils/push/internal/utils");
|
|
13
13
|
var _reactNative = require("react-native");
|
|
14
|
+
const logger = (0, _videoClient.getLogger)(['useIosCallKeepEventsSetupEffect']);
|
|
15
|
+
|
|
14
16
|
/**
|
|
15
17
|
* This hook is used to listen to callkeep events and do the necessary actions
|
|
16
18
|
*/
|
|
@@ -27,6 +29,7 @@ const useIosCallKeepEventsSetupEffect = () => {
|
|
|
27
29
|
callUUID
|
|
28
30
|
}) => {
|
|
29
31
|
const call_cid = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipPushNotificationCallCId$);
|
|
32
|
+
logger('debug', `answerCall event with call_cid: ${call_cid}`);
|
|
30
33
|
iosCallkeepAcceptCall(call_cid, callUUID);
|
|
31
34
|
});
|
|
32
35
|
const {
|
|
@@ -35,6 +38,7 @@ const useIosCallKeepEventsSetupEffect = () => {
|
|
|
35
38
|
callUUID
|
|
36
39
|
}) => {
|
|
37
40
|
const call_cid = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipPushNotificationCallCId$);
|
|
41
|
+
logger('debug', `endCall event with call_cid: ${call_cid}`);
|
|
38
42
|
iosCallkeepRejectCall(call_cid, callUUID, pushConfig);
|
|
39
43
|
});
|
|
40
44
|
const {
|
|
@@ -50,6 +54,7 @@ const useIosCallKeepEventsSetupEffect = () => {
|
|
|
50
54
|
if (!call_cid) {
|
|
51
55
|
return;
|
|
52
56
|
}
|
|
57
|
+
logger('debug', `didDisplayIncomingCall event with call_cid: ${call_cid}`);
|
|
53
58
|
_rxSubjects.voipCallkeepCallOnForegroundMap$.next({
|
|
54
59
|
uuid: callUUID,
|
|
55
60
|
cid: call_cid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_rxSubjects","_videoClient","_libs","_StreamVideoRN","_utils","_reactNative","useIosCallKeepEventsSetupEffect","useEffect","pushConfig","StreamVideoRN","getConfig","push","Platform","OS","callkeep","getCallKeepLib","remove","removeAnswerCall","addEventListener","callUUID","call_cid","RxUtils","getCurrentValue","voipPushNotificationCallCId$","iosCallkeepAcceptCall","removeEndCall","iosCallkeepRejectCall","removeDisplayIncomingCall","payload","voipCallkeepCallOnForegroundMap$","next","uuid","cid","exports","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","clearPushWSEventSubscriptions","voipCallkeepAcceptedCallOnNativeDialerMap$","pushAcceptedIncomingCallCId$","undefined","processCallFromPushInBackground"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallKeepEventsSetupEffect.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AAQA,IAAAM,YAAA,GAAAN,OAAA;AAIA;AACA;AACA;AACO,
|
|
1
|
+
{"version":3,"names":["_react","require","_rxSubjects","_videoClient","_libs","_StreamVideoRN","_utils","_reactNative","logger","getLogger","useIosCallKeepEventsSetupEffect","useEffect","pushConfig","StreamVideoRN","getConfig","push","Platform","OS","callkeep","getCallKeepLib","remove","removeAnswerCall","addEventListener","callUUID","call_cid","RxUtils","getCurrentValue","voipPushNotificationCallCId$","iosCallkeepAcceptCall","removeEndCall","iosCallkeepRejectCall","removeDisplayIncomingCall","payload","voipCallkeepCallOnForegroundMap$","next","uuid","cid","exports","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","clearPushWSEventSubscriptions","voipCallkeepAcceptedCallOnNativeDialerMap$","pushAcceptedIncomingCallCId$","undefined","processCallFromPushInBackground"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallKeepEventsSetupEffect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,7 @@ const unsubscribeCallkeepEvents = activeCallCid => {
|
|
|
24
24
|
_rxSubjects.voipPushNotificationCallCId$.next(undefined);
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
+
const logger = (0, _videoClient.getLogger)(['useIosCallkeepWithCallingStateEffect']);
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* This hook is used to inform the callkeep library that the call has been joined or ended.
|
|
@@ -44,6 +45,7 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
44
45
|
const callkeep = (0, _libs.getCallKeepLib)();
|
|
45
46
|
// if the component is unmounted and the callID was not reported to callkeep, then report it now
|
|
46
47
|
if (acceptedForegroundCallkeepMap) {
|
|
48
|
+
logger('debug', `Ending call in callkeep: ${acceptedForegroundCallkeepMap.cid}, reason: component unmounted and call was present in acceptedForegroundCallkeepMap`);
|
|
47
49
|
unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid);
|
|
48
50
|
// this call should be ended in callkeep
|
|
49
51
|
callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
|
|
@@ -61,11 +63,13 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
61
63
|
const foregroundIncomingCallkeepMap = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipCallkeepCallOnForegroundMap$);
|
|
62
64
|
const callkeep = (0, _libs.getCallKeepLib)();
|
|
63
65
|
if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
|
|
66
|
+
logger('debug', `Ending call in callkeep: ${activeCallCid}, reason: activeCallCid changed or was removed and call was present in nativeDialerAcceptedCallMap`);
|
|
64
67
|
unsubscribeCallkeepEvents(activeCallCid);
|
|
65
68
|
callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
|
|
66
69
|
// no need to keep this reference anymore
|
|
67
70
|
_rxSubjects.voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
|
|
68
71
|
} else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
|
|
72
|
+
logger('debug', `Ending call in callkeep: ${activeCallCid}, reason: activeCallCid changed or was removed and call was present in foregroundIncomingCallkeepMap`);
|
|
69
73
|
unsubscribeCallkeepEvents(activeCallCid);
|
|
70
74
|
callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
|
|
71
75
|
// no need to keep this reference anymore
|
|
@@ -87,6 +91,9 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
87
91
|
// but the call has been accepted through the app and not through the native dialer
|
|
88
92
|
const foregroundCallkeepMap = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipCallkeepCallOnForegroundMap$);
|
|
89
93
|
if (foregroundCallkeepMap && foregroundCallkeepMap.cid === activeCallCid) {
|
|
94
|
+
logger('debug',
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
`Accepting call in callkeep: ${activeCallCid}, reason: callingstate went to ${_videoClient.CallingState[callingState]} and call was present in foregroundCallkeepMap`);
|
|
90
97
|
// this call should be accepted in callkeep
|
|
91
98
|
callkeep.answerIncomingCall(foregroundCallkeepMap.uuid);
|
|
92
99
|
// no need to keep this reference anymore
|
|
@@ -106,6 +113,9 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
106
113
|
// the call was accepted through the app and not through native dialer
|
|
107
114
|
// the call was left using the leave button in the app and not through native dialer
|
|
108
115
|
if (activeCallCid === acceptedForegroundCallkeepMap?.cid) {
|
|
116
|
+
logger('debug',
|
|
117
|
+
// @ts-ignore
|
|
118
|
+
`Ending call in callkeep: ${activeCallCid}, reason: callingstate went to ${_videoClient.CallingState[callingState]} and call was present in acceptedForegroundCallkeepMap`);
|
|
109
119
|
callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
|
|
110
120
|
setAcceptedForegroundCallkeepMap(undefined);
|
|
111
121
|
return;
|
|
@@ -114,6 +124,9 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
114
124
|
// the user rejected in the app and not from native dialer
|
|
115
125
|
const foregroundIncomingCallkeepMap = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipCallkeepCallOnForegroundMap$);
|
|
116
126
|
if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
|
|
127
|
+
logger('debug',
|
|
128
|
+
// @ts-ignore
|
|
129
|
+
`Ending call in callkeep: ${activeCallCid}, reason: callingstate went to ${_videoClient.CallingState[callingState]} and call was present in foregroundIncomingCallkeepMap`);
|
|
117
130
|
callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
|
|
118
131
|
// no need to keep this reference anymore
|
|
119
132
|
_rxSubjects.voipCallkeepCallOnForegroundMap$.next(undefined);
|
|
@@ -124,6 +137,9 @@ const useIosCallkeepWithCallingStateEffect = () => {
|
|
|
124
137
|
// the user left using the leave button in the app
|
|
125
138
|
const nativeDialerAcceptedCallMap = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipCallkeepAcceptedCallOnNativeDialerMap$);
|
|
126
139
|
if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
|
|
140
|
+
logger('debug',
|
|
141
|
+
// @ts-ignore
|
|
142
|
+
`Ending call in callkeep: ${activeCallCid}, reason: callingstate went to ${_videoClient.CallingState[callingState]} and call was present in nativeDialerAcceptedCallMap`);
|
|
127
143
|
callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
|
|
128
144
|
// no need to keep this reference anymore
|
|
129
145
|
_rxSubjects.voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAMA,MAAMO,uBAAuB,GAAIC,YAA0B,IAAK;EAC9D,OACEA,YAAY,KAAKC,yBAAY,CAACC,IAAI,IAClCF,YAAY,KAAKC,yBAAY,CAACE,OAAO,IACrCH,YAAY,KAAKC,yBAAY,CAACG,IAAI;AAEtC,CAAC;AAED,MAAMC,sBAAsB,GAAIL,YAA0B,IAAK;EAC7D,OACEA,YAAY,KAAKC,yBAAY,CAACK,OAAO,IACrCN,YAAY,KAAKC,yBAAY,CAACM,MAAM;AAExC,CAAC;AAED,MAAMC,yBAAyB,GAAIC,aAAiC,IAAK;EACvE,MAAMC,2BAA2B,GAAGC,oBAAO,CAACC,eAAe,CACzDC,wCACF,CAAC;EACD,IAAIJ,aAAa,IAAIA,aAAa,KAAKC,2BAA2B,EAAE;IAClE;IACAG,wCAA4B,CAACC,IAAI,CAACC,SAAS,CAAC;EAC9C;AACF,CAAC;;
|
|
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","logger","getLogger","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":[]}
|
|
@@ -13,10 +13,20 @@ var _pushLogoutCallback = require("../../utils/internal/pushLogoutCallback");
|
|
|
13
13
|
var _utils2 = require("../../utils/push/internal/utils");
|
|
14
14
|
var _rxSubjects = require("../../utils/push/internal/rxSubjects");
|
|
15
15
|
var _videoClient = require("@stream-io/video-client");
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const logger = (0, _videoClient.getLogger)(['useIosVoipPushEventsSetupEffect']);
|
|
17
|
+
function setLogoutCallback(client, token, lastVoipTokenRef) {
|
|
18
|
+
(0, _pushLogoutCallback.setPushLogoutCallback)(async () => {
|
|
19
|
+
lastVoipTokenRef.current = {
|
|
20
|
+
token: '',
|
|
21
|
+
userId: ''
|
|
22
|
+
};
|
|
23
|
+
try {
|
|
24
|
+
await client.removeDevice(token);
|
|
25
|
+
} catch (err) {
|
|
26
|
+
logger('warn', 'PushLogoutCallback - Failed to remove voip token from stream', err);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
20
30
|
|
|
21
31
|
/**
|
|
22
32
|
* This hook is used to do the initial setup of listeners
|
|
@@ -24,6 +34,31 @@ let lastVoipToken = {
|
|
|
24
34
|
*/
|
|
25
35
|
const useIosVoipPushEventsSetupEffect = () => {
|
|
26
36
|
const client = (0, _videoReactBindings.useStreamVideoClient)();
|
|
37
|
+
const connectedUserId = (0, _videoReactBindings.useConnectedUser)()?.id;
|
|
38
|
+
const lastVoipTokenRef = (0, _react.useRef)({
|
|
39
|
+
token: '',
|
|
40
|
+
userId: ''
|
|
41
|
+
});
|
|
42
|
+
const [unsentToken, setUnsentToken] = (0, _react.useState)();
|
|
43
|
+
(0, _react.useEffect)(() => {
|
|
44
|
+
const pushConfig = _utils.StreamVideoRN.getConfig().push;
|
|
45
|
+
// we need to wait for user to be connected before we can send the push token
|
|
46
|
+
if (!pushConfig?.ios.pushProviderName || !client || !connectedUserId || !unsentToken) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
logger('debug', 'Sending unsent voip token to stream as user logged in after token was received, token: ' + unsentToken);
|
|
50
|
+
client.addVoipDevice(unsentToken, 'apn', pushConfig.ios.pushProviderName).then(() => {
|
|
51
|
+
setLogoutCallback(client, unsentToken, lastVoipTokenRef);
|
|
52
|
+
logger('debug', 'Sent unsent voip token to stream - token: ' + unsentToken);
|
|
53
|
+
lastVoipTokenRef.current = {
|
|
54
|
+
token: unsentToken,
|
|
55
|
+
userId: connectedUserId
|
|
56
|
+
};
|
|
57
|
+
setUnsentToken(undefined);
|
|
58
|
+
}).catch(error => {
|
|
59
|
+
logger('warn', 'Error in sending unsent voip token to stream', error);
|
|
60
|
+
});
|
|
61
|
+
}, [client, connectedUserId, unsentToken]);
|
|
27
62
|
(0, _react.useEffect)(() => {
|
|
28
63
|
const pushConfig = _utils.StreamVideoRN.getConfig().push;
|
|
29
64
|
if (_reactNative.Platform.OS !== 'ios' || !pushConfig || !client) {
|
|
@@ -32,33 +67,30 @@ const useIosVoipPushEventsSetupEffect = () => {
|
|
|
32
67
|
const voipPushNotification = (0, _libs.getVoipPushNotificationLib)();
|
|
33
68
|
const onTokenReceived = token => {
|
|
34
69
|
const userId = client.streamClient._user?.id ?? '';
|
|
70
|
+
if (!userId) {
|
|
71
|
+
setUnsentToken(token);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const lastVoipToken = lastVoipTokenRef.current;
|
|
35
75
|
if (lastVoipToken.token === token && lastVoipToken.userId === userId) {
|
|
76
|
+
logger('debug', `Skipped sending voip token to stream as it is same as last token - token: ${token}, userId: ${userId}`);
|
|
36
77
|
return;
|
|
37
78
|
}
|
|
38
|
-
lastVoipToken = {
|
|
39
|
-
token,
|
|
40
|
-
userId
|
|
41
|
-
};
|
|
42
79
|
const push_provider_name = pushConfig.ios.pushProviderName;
|
|
43
80
|
if (!push_provider_name) {
|
|
44
81
|
return;
|
|
45
82
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
logger('
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
token: '',
|
|
54
|
-
userId: ''
|
|
83
|
+
logger('debug', 'Sending voip token to stream, token: ' + token);
|
|
84
|
+
client.addVoipDevice(token, 'apn', push_provider_name).then(() => {
|
|
85
|
+
logger('debug', 'Sent voip token to stream, token: ' + token);
|
|
86
|
+
setLogoutCallback(client, token, lastVoipTokenRef);
|
|
87
|
+
lastVoipTokenRef.current = {
|
|
88
|
+
token,
|
|
89
|
+
userId
|
|
55
90
|
};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const logger = (0, _videoClient.getLogger)(['PushLogoutCallback']);
|
|
60
|
-
logger('warn', 'Failed to remove voip token from stream', err);
|
|
61
|
-
}
|
|
91
|
+
}).catch(err => {
|
|
92
|
+
setUnsentToken(token);
|
|
93
|
+
logger('warn', 'Failed to send voip token to stream', err);
|
|
62
94
|
});
|
|
63
95
|
};
|
|
64
96
|
// fired when PushKit give us the latest token
|
|
@@ -147,7 +179,6 @@ const onNotificationReceived = async notification => {
|
|
|
147
179
|
try {
|
|
148
180
|
uuid = await _reactNative.NativeModules?.StreamVideoReactNative?.getIncomingCallUUid(call_cid);
|
|
149
181
|
} catch (error) {
|
|
150
|
-
const logger = (0, _videoClient.getLogger)(['useIosVoipPushEventsSetupEffect']);
|
|
151
182
|
logger('error', 'Error in getting call uuid from native module', error);
|
|
152
183
|
}
|
|
153
184
|
if (!uuid) {
|
|
@@ -162,6 +193,7 @@ const onNotificationReceived = async notification => {
|
|
|
162
193
|
} = (0, _utils2.shouldCallBeEnded)(callFromPush, created_by_id, receiver_id);
|
|
163
194
|
if (mustEndCall) {
|
|
164
195
|
const callkeep = (0, _libs.getCallKeepLib)();
|
|
196
|
+
logger('debug', `callkeep.reportEndCallWithUUID for uuid: ${uuid}, call_cid: ${call_cid}, reason: ${callkeepReason}`);
|
|
165
197
|
callkeep.reportEndCallWithUUID(uuid, callkeepReason);
|
|
166
198
|
return true;
|
|
167
199
|
}
|
|
@@ -170,13 +202,16 @@ const onNotificationReceived = async notification => {
|
|
|
170
202
|
const closed = closeCallIfNecessary();
|
|
171
203
|
const canListenToWS = () => _utils2.canAddPushWSSubscriptionsRef.current && _reactNative.AppState.currentState !== 'active';
|
|
172
204
|
if (!closed && canListenToWS()) {
|
|
173
|
-
const unsubscribe = callFromPush.on('all',
|
|
174
|
-
|
|
205
|
+
const unsubscribe = callFromPush.on('all', event => {
|
|
206
|
+
const _canListenToWS = canListenToWS();
|
|
207
|
+
if (!_canListenToWS) {
|
|
208
|
+
logger('debug', `unsubscribe due to event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, event);
|
|
175
209
|
unsubscribe();
|
|
176
210
|
return;
|
|
177
211
|
}
|
|
178
212
|
const _closed = closeCallIfNecessary();
|
|
179
213
|
if (_closed) {
|
|
214
|
+
logger('debug', `unsubscribe due to event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed: ${_closed}`, event);
|
|
180
215
|
unsubscribe();
|
|
181
216
|
}
|
|
182
217
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_libs","_reactNative","_utils","_videoReactBindings","_pushLogoutCallback","_utils2","_rxSubjects","_videoClient","
|
|
1
|
+
{"version":3,"names":["_react","require","_libs","_reactNative","_utils","_videoReactBindings","_pushLogoutCallback","_utils2","_rxSubjects","_videoClient","logger","getLogger","setLogoutCallback","client","token","lastVoipTokenRef","setPushLogoutCallback","current","userId","removeDevice","err","useIosVoipPushEventsSetupEffect","useStreamVideoClient","connectedUserId","useConnectedUser","id","useRef","unsentToken","setUnsentToken","useState","useEffect","pushConfig","StreamVideoRN","getConfig","push","ios","pushProviderName","addVoipDevice","then","undefined","catch","error","Platform","OS","voipPushNotification","getVoipPushNotificationLib","onTokenReceived","streamClient","_user","lastVoipToken","push_provider_name","addEventListener","events","Array","isArray","length","voipPushEvent","name","data","onNotificationReceived","removeEventListener","notification","exports","sender","stream","type","call_cid","createStreamVideoClient","callFromPush","onRingingCall","uuid","NativeModules","StreamVideoReactNative","getIncomingCallUUid","created_by_id","receiver_id","closeCallIfNecessary","mustEndCall","callkeepReason","shouldCallBeEnded","callkeep","getCallKeepLib","reportEndCallWithUUID","closed","canListenToWS","canAddPushWSSubscriptionsRef","AppState","currentState","unsubscribe","on","event","_canListenToWS","_closed","unsubscriptionCallbacks","RxUtils","getCurrentValue","pushUnsubscriptionCallbacks$","next","voipPushNotificationCallCId$","onVoipNotificationCompleted"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosVoipPushEventsSetupEffect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _utils = require("../../utils");
|
|
|
10
10
|
var _videoReactBindings = require("@stream-io/video-react-bindings");
|
|
11
11
|
var _operators = require("rxjs/operators");
|
|
12
12
|
var _utils2 = require("../../utils/push/internal/utils");
|
|
13
|
+
var _videoClient = require("@stream-io/video-client");
|
|
13
14
|
/**
|
|
14
15
|
* This hook is used to process the incoming call data via push notifications using the relevant rxjs subjects
|
|
15
16
|
* It either joins or leaves the call based on the user's action.
|
|
@@ -25,6 +26,7 @@ const useProcessPushCallEffect = () => {
|
|
|
25
26
|
if (!pushConfig || !client || !connectedUserId) {
|
|
26
27
|
return;
|
|
27
28
|
}
|
|
29
|
+
(0, _videoClient.getLogger)(['useProcessPushCallEffect'])('debug', `Adding subscriptions to process incoming call from push notification`);
|
|
28
30
|
|
|
29
31
|
// if the user accepts the call from push notification we join the call
|
|
30
32
|
const acceptedCallSubscription = createCallSubscription(_rxSubjects.pushAcceptedIncomingCallCId$, client, pushConfig, 'accept');
|
|
@@ -57,6 +59,7 @@ function cidIsNotUndefined(cid) {
|
|
|
57
59
|
*/
|
|
58
60
|
const createCallSubscription = (behaviourSubjectWithCallCid, client, pushConfig, action) => {
|
|
59
61
|
return behaviourSubjectWithCallCid.pipe((0, _operators.filter)(cidIsNotUndefined), (0, _operators.distinctUntilChanged)()).subscribe(async callCId => {
|
|
62
|
+
(0, _videoClient.getLogger)(['useProcessPushCallEffect'])('debug', `Processing call from push notification with action: ${action} and callCId: ${callCId}`);
|
|
60
63
|
await (0, _utils2.processCallFromPush)(client, callCId, action, pushConfig);
|
|
61
64
|
behaviourSubjectWithCallCid.next(undefined); // remove the current call id to avoid processing again
|
|
62
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_rxSubjects","require","_react","_utils","_videoReactBindings","_operators","_utils2","useProcessPushCallEffect","client","useStreamVideoClient","connectedUserId","useConnectedUser","id","useEffect","pushConfig","StreamVideoRN","getConfig","push","acceptedCallSubscription","createCallSubscription","pushAcceptedIncomingCallCId$","declinedCallSubscription","pushRejectedIncomingCallCId$","pressedCallSubscription","pushTappedIncomingCallCId$","backgroundIncomingDeliveredCallSubscription","pushAndroidBackgroundDeliveredIncomingCallCId$","unsubscribe","exports","cidIsNotUndefined","cid","undefined","behaviourSubjectWithCallCid","action","pipe","filter","distinctUntilChanged","subscribe","callCId","processCallFromPush","next"],"sourceRoot":"../../../../src","sources":["hooks/push/useProcessPushCallEffect.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAKA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;
|
|
1
|
+
{"version":3,"names":["_rxSubjects","require","_react","_utils","_videoReactBindings","_operators","_utils2","_videoClient","useProcessPushCallEffect","client","useStreamVideoClient","connectedUserId","useConnectedUser","id","useEffect","pushConfig","StreamVideoRN","getConfig","push","getLogger","acceptedCallSubscription","createCallSubscription","pushAcceptedIncomingCallCId$","declinedCallSubscription","pushRejectedIncomingCallCId$","pressedCallSubscription","pushTappedIncomingCallCId$","backgroundIncomingDeliveredCallSubscription","pushAndroidBackgroundDeliveredIncomingCallCId$","unsubscribe","exports","cidIsNotUndefined","cid","undefined","behaviourSubjectWithCallCid","action","pipe","filter","distinctUntilChanged","subscribe","callCId","processCallFromPush","next"],"sourceRoot":"../../../../src","sources":["hooks/push/useProcessPushCallEffect.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAKA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMO,wBAAwB,GAAGA,CAAA,KAAM;EAC5C,MAAMC,MAAM,GAAG,IAAAC,wCAAoB,EAAC,CAAC;EACrC,MAAMC,eAAe,GAAG,IAAAC,oCAAgB,EAAC,CAAC,EAAEC,EAAE;EAC9C;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,UAAU,GAAGC,oBAAa,CAACC,SAAS,CAAC,CAAC,CAACC,IAAI;IACjD,IAAI,CAACH,UAAU,IAAI,CAACN,MAAM,IAAI,CAACE,eAAe,EAAE;MAC9C;IACF;IAEA,IAAAQ,sBAAS,EAAC,CAAC,0BAA0B,CAAC,CAAC,CACrC,OAAO,EACP,sEACF,CAAC;;IAED;IACA,MAAMC,wBAAwB,GAAGC,sBAAsB,CACrDC,wCAA4B,EAC5Bb,MAAM,EACNM,UAAU,EACV,QACF,CAAC;;IAED;IACA,MAAMQ,wBAAwB,GAAGF,sBAAsB,CACrDG,wCAA4B,EAC5Bf,MAAM,EACNM,UAAU,EACV,SACF,CAAC;;IAED;IACA,MAAMU,uBAAuB,GAAGJ,sBAAsB,CACpDK,sCAA0B,EAC1BjB,MAAM,EACNM,UAAU,EACV,SACF,CAAC;IAED,MAAMY,2CAA2C,GAAGN,sBAAsB,CACxEO,0DAA8C,EAC9CnB,MAAM,EACNM,UAAU,EACV,qBACF,CAAC;IAED,OAAO,MAAM;MACXK,wBAAwB,CAACS,WAAW,CAAC,CAAC;MACtCN,wBAAwB,CAACM,WAAW,CAAC,CAAC;MACtCJ,uBAAuB,CAACI,WAAW,CAAC,CAAC;MACrCF,2CAA2C,CAACE,WAAW,CAAC,CAAC;IAC3D,CAAC;EACH,CAAC,EAAE,CAACpB,MAAM,EAAEE,eAAe,CAAC,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AAFAmB,OAAA,CAAAtB,wBAAA,GAAAA,wBAAA;AAGA,SAASuB,iBAAiBA,CAACC,GAAuB,EAAiB;EACjE,OAAOA,GAAG,KAAKC,SAAS;AAC1B;;AAEA;AACA;AACA;AACA,MAAMZ,sBAAsB,GAAGA,CAC7Ba,2BAAgE,EAChEzB,MAAyB,EACzBM,UAAkD,EAClDoB,MAAgE,KAC7D;EACH,OAAOD,2BAA2B,CAC/BE,IAAI,CAAC,IAAAC,iBAAM,EAACN,iBAAiB,CAAC,EAAE,IAAAO,+BAAoB,EAAC,CAAC,CAAC,CACvDC,SAAS,CAAC,MAAOC,OAAO,IAAK;IAC5B,IAAArB,sBAAS,EAAC,CAAC,0BAA0B,CAAC,CAAC,CACrC,OAAO,EACP,uDAAuDgB,MAAM,iBAAiBK,OAAO,EACvF,CAAC;IACD,MAAM,IAAAC,2BAAmB,EAAChC,MAAM,EAAE+B,OAAO,EAAEL,MAAM,EAAEpB,UAAU,CAAC;IAC9DmB,2BAA2B,CAACQ,IAAI,CAACT,SAAS,CAAC,CAAC,CAAC;EAC/C,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _utils = require("../../utils");
|
|
|
10
10
|
var _videoReactBindings = require("@stream-io/video-react-bindings");
|
|
11
11
|
var _operators = require("rxjs/operators");
|
|
12
12
|
var _utils2 = require("../../utils/push/internal/utils");
|
|
13
|
+
var _videoClient = require("@stream-io/video-client");
|
|
13
14
|
/**
|
|
14
15
|
* This hook is used to process the non ringing call data via push notifications using the relevant rxjs subject
|
|
15
16
|
* Note: this effect cannot work when push notifications are received when the app is in quit state or in other words when the client is not connected with a websocket.
|
|
@@ -28,6 +29,7 @@ const useProcessPushNonRingingCallEffect = () => {
|
|
|
28
29
|
cid,
|
|
29
30
|
type
|
|
30
31
|
}) => {
|
|
32
|
+
(0, _videoClient.getLogger)(['useProcessPushNonRingingCallEffect'])('debug', `processNonIncomingCallFromPush with callCId: ${cid} and type: ${type}`);
|
|
31
33
|
await (0, _utils2.processNonIncomingCallFromPush)(client, cid, type);
|
|
32
34
|
_rxSubjects.pushNonRingingCallData$.next(undefined); // remove the current data to avoid processing again
|
|
33
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_rxSubjects","require","_react","_utils","_videoReactBindings","_operators","_utils2","useProcessPushNonRingingCallEffect","client","useStreamVideoClient","connectedUserId","useConnectedUser","id","useEffect","pushConfig","StreamVideoRN","getConfig","push","subscription","pushNonRingingCallData$","pipe","filter","NotUndefined","subscribe","cid","type","processNonIncomingCallFromPush","next","undefined","unsubscribe","exports","data"],"sourceRoot":"../../../../src","sources":["hooks/push/useProcessPushNonRingingCallEffect.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAIA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,
|
|
1
|
+
{"version":3,"names":["_rxSubjects","require","_react","_utils","_videoReactBindings","_operators","_utils2","_videoClient","useProcessPushNonRingingCallEffect","client","useStreamVideoClient","connectedUserId","useConnectedUser","id","useEffect","pushConfig","StreamVideoRN","getConfig","push","subscription","pushNonRingingCallData$","pipe","filter","NotUndefined","subscribe","cid","type","getLogger","processNonIncomingCallFromPush","next","undefined","unsubscribe","exports","data"],"sourceRoot":"../../../../src","sources":["hooks/push/useProcessPushNonRingingCallEffect.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAIA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMO,kCAAkC,GAAGA,CAAA,KAAM;EACtD,MAAMC,MAAM,GAAG,IAAAC,wCAAoB,EAAC,CAAC;EACrC,MAAMC,eAAe,GAAG,IAAAC,oCAAgB,EAAC,CAAC,EAAEC,EAAE;EAC9C;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,UAAU,GAAGC,oBAAa,CAACC,SAAS,CAAC,CAAC,CAACC,IAAI;IACjD,IAAI,CAACH,UAAU,IAAI,CAACN,MAAM,IAAI,CAACE,eAAe,EAAE;MAC9C;IACF;IAEA,MAAMQ,YAAY,GAAGC,mCAAuB,CACzCC,IAAI,CAAC,IAAAC,iBAAM,EAACC,YAAY,CAAC,CAAC,CAC1BC,SAAS,CAAC,OAAO;MAAEC,GAAG;MAAEC;IAAK,CAAC,KAAK;MAClC,IAAAC,sBAAS,EAAC,CAAC,oCAAoC,CAAC,CAAC,CAC/C,OAAO,EACP,gDAAgDF,GAAG,cAAcC,IAAI,EACvE,CAAC;MACD,MAAM,IAAAE,sCAA8B,EAACnB,MAAM,EAAEgB,GAAG,EAAEC,IAAI,CAAC;MACvDN,mCAAuB,CAACS,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEJ,OAAO,MAAM;MACXX,YAAY,CAACY,WAAW,CAAC,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACtB,MAAM,EAAEE,eAAe,CAAC,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AAFAqB,OAAA,CAAAxB,kCAAA,GAAAA,kCAAA;AAGA,SAASe,YAAYA,CAAIU,IAAmB,EAAa;EACvD,OAAOA,IAAI,KAAKH,SAAS;AAC3B","ignoreList":[]}
|
|
@@ -29,6 +29,7 @@ async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener)
|
|
|
29
29
|
const setDeviceToken = async token => {
|
|
30
30
|
const userId = client.streamClient._user?.id ?? '';
|
|
31
31
|
if (lastFirebaseToken.token === token && lastFirebaseToken.userId === userId) {
|
|
32
|
+
(0, _videoClient.getLogger)(['initAndroidPushToken'])('debug', `Skipping setting the same token again for userId: ${userId} and token: ${token}`);
|
|
32
33
|
return;
|
|
33
34
|
}
|
|
34
35
|
lastFirebaseToken = {
|
|
@@ -41,6 +42,7 @@ async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener)
|
|
|
41
42
|
userId: ''
|
|
42
43
|
};
|
|
43
44
|
try {
|
|
45
|
+
(0, _videoClient.getLogger)(['initAndroidPushToken'])('debug', `Logout removeDeviceToken: ${token}`);
|
|
44
46
|
await client.removeDevice(token);
|
|
45
47
|
} catch (err) {
|
|
46
48
|
const logger = (0, _videoClient.getLogger)(['initAndroidPushToken']);
|
|
@@ -114,18 +116,34 @@ const firebaseDataHandler = async data => {
|
|
|
114
116
|
return new Promise(async () => {
|
|
115
117
|
const client = await pushConfig.createStreamVideoClient();
|
|
116
118
|
if (!client) {
|
|
119
|
+
(0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler'])('debug', `Closing fg service as there is no client to create from push config`);
|
|
117
120
|
notifee.stopForegroundService();
|
|
118
121
|
return;
|
|
119
122
|
}
|
|
120
123
|
const callFromPush = await client.onRingingCall(call_cid);
|
|
121
|
-
|
|
124
|
+
let _shouldCallBeClosed = shouldCallBeClosed(callFromPush);
|
|
125
|
+
if (_shouldCallBeClosed) {
|
|
126
|
+
(0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler'])('debug', `Closing fg service callCid: ${call_cid} shouldCallBeClosed: ${_shouldCallBeClosed}`);
|
|
122
127
|
notifee.stopForegroundService();
|
|
123
128
|
return;
|
|
124
129
|
}
|
|
125
130
|
const unsubscribeFunctions = [];
|
|
126
131
|
// check if service needs to be closed if accept/decline event was done on another device
|
|
127
|
-
const unsubscribe = callFromPush.on('all',
|
|
128
|
-
|
|
132
|
+
const unsubscribe = callFromPush.on('all', event => {
|
|
133
|
+
const _canListenToWS = canListenToWS();
|
|
134
|
+
if (!_canListenToWS) {
|
|
135
|
+
(0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler'])('debug', `Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
|
|
136
|
+
event
|
|
137
|
+
});
|
|
138
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
139
|
+
notifee.stopForegroundService();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
_shouldCallBeClosed = shouldCallBeClosed(callFromPush);
|
|
143
|
+
if (_shouldCallBeClosed) {
|
|
144
|
+
(0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler'])('debug', `Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed: ${_shouldCallBeClosed}`, {
|
|
145
|
+
event
|
|
146
|
+
});
|
|
129
147
|
unsubscribeFunctions.forEach(fn => fn());
|
|
130
148
|
notifee.stopForegroundService();
|
|
131
149
|
}
|
|
@@ -165,6 +183,9 @@ const firebaseDataHandler = async data => {
|
|
|
165
183
|
getBody
|
|
166
184
|
} = incomingCallNotificationTextGetters;
|
|
167
185
|
const createdUserName = data.created_by_display_name;
|
|
186
|
+
const title = getTitle(createdUserName);
|
|
187
|
+
const body = getBody(createdUserName);
|
|
188
|
+
(0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler'])('debug', `Displaying incoming call notification with callCid: ${call_cid} title: ${title} body: ${body} asForegroundService: ${asForegroundService}`);
|
|
168
189
|
const channelId = incomingCallChannel.id;
|
|
169
190
|
await notifee.displayNotification({
|
|
170
191
|
id: call_cid,
|
|
@@ -216,6 +237,7 @@ const firebaseDataHandler = async data => {
|
|
|
216
237
|
}
|
|
217
238
|
const callFromPush = await client.onRingingCall(call_cid);
|
|
218
239
|
if (shouldCallBeClosed(callFromPush)) {
|
|
240
|
+
(0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler'])('debug', `Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
|
|
219
241
|
notifee.cancelDisplayedNotification(call_cid);
|
|
220
242
|
}
|
|
221
243
|
} else {
|
|
@@ -226,7 +248,7 @@ const firebaseDataHandler = async data => {
|
|
|
226
248
|
const callNotificationTextGetters = pushConfig.android.callNotificationTextGetters;
|
|
227
249
|
if (!callChannel || !callNotificationTextGetters) {
|
|
228
250
|
const logger = (0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler']);
|
|
229
|
-
logger('
|
|
251
|
+
logger('debug', "Can't show call notification as either or both callChannel and callNotificationTextGetters is not provided");
|
|
230
252
|
return;
|
|
231
253
|
}
|
|
232
254
|
await notifee.createChannel(callChannel);
|
|
@@ -238,6 +260,9 @@ const firebaseDataHandler = async data => {
|
|
|
238
260
|
const createdUserName = data.created_by_display_name;
|
|
239
261
|
// we can safely cast to string because the data is from "stream.video"
|
|
240
262
|
const type = data.type;
|
|
263
|
+
const title = getTitle(type, createdUserName);
|
|
264
|
+
const body = getBody(type, createdUserName);
|
|
265
|
+
(0, _videoClient.getLogger)(['firebaseMessagingOnMessageHandler'])('debug', `Displaying NonRingingPushEvent ${type} notification with title: ${title} body: ${body}`);
|
|
241
266
|
await notifee.displayNotification({
|
|
242
267
|
title: getTitle(type, createdUserName),
|
|
243
268
|
body: getBody(type, createdUserName),
|
|
@@ -297,24 +322,31 @@ const onAndroidNotifeeEvent = async ({
|
|
|
297
322
|
// Check if we need to accept the call
|
|
298
323
|
const mustAccept = type === notifeeLib.EventType.ACTION_PRESS && pressAction?.id === ACCEPT_CALL_ACTION_ID;
|
|
299
324
|
if (mustAccept || mustDecline || type === notifeeLib.EventType.ACTION_PRESS) {
|
|
325
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `clearPushWSEventSubscriptions for callCId: ${call_cid} mustAccept: ${mustAccept} mustDecline: ${mustDecline}`);
|
|
300
326
|
(0, _utils.clearPushWSEventSubscriptions)();
|
|
301
327
|
notifee.stopForegroundService();
|
|
302
328
|
}
|
|
303
329
|
if (mustAccept) {
|
|
330
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `pushAcceptedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
304
331
|
_rxSubjects.pushAcceptedIncomingCallCId$.next(call_cid);
|
|
305
332
|
// NOTE: accept will be handled by the app with rxjs observers as the app will go to foreground always
|
|
306
333
|
} else if (mustDecline) {
|
|
334
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `pushRejectedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
307
335
|
_rxSubjects.pushRejectedIncomingCallCId$.next(call_cid);
|
|
308
336
|
if (hasObservers) {
|
|
309
337
|
// if we had observers we can return here as the observers will handle the call as the app is in the foreground state
|
|
338
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `Skipped processCallFromPushInBackground for Declining call with callCId: ${call_cid} as the app is in the foreground state`);
|
|
310
339
|
return;
|
|
311
340
|
}
|
|
341
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `start processCallFromPushInBackground - Declining call with callCId: ${call_cid}`);
|
|
312
342
|
await (0, _utils.processCallFromPushInBackground)(pushConfig, call_cid, 'decline');
|
|
313
343
|
} else {
|
|
314
344
|
if (type === notifeeLib.EventType.PRESS) {
|
|
345
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `pushTappedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
315
346
|
_rxSubjects.pushTappedIncomingCallCId$.next(call_cid);
|
|
316
347
|
// pressed state will be handled by the app with rxjs observers as the app will go to foreground always
|
|
317
348
|
} else if (isBackground && type === notifeeLib.EventType.DELIVERED) {
|
|
349
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `pushAndroidBackgroundDeliveredIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
318
350
|
_rxSubjects.pushAndroidBackgroundDeliveredIncomingCallCId$.next(call_cid);
|
|
319
351
|
// background delivered state will be handled by the app with rxjs observers as processing needs to happen only when app is opened
|
|
320
352
|
}
|
|
@@ -322,6 +354,7 @@ const onAndroidNotifeeEvent = async ({
|
|
|
322
354
|
} else {
|
|
323
355
|
const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
|
|
324
356
|
if (type === notifeeLib.EventType.PRESS) {
|
|
357
|
+
(0, _videoClient.getLogger)(['onAndroidNotifeeEvent'])('debug', `onTapNonRingingCallNotification with callCId: ${call_cid}`);
|
|
325
358
|
pushConfig.onTapNonRingingCallNotification?.(call_cid, data.type);
|
|
326
359
|
}
|
|
327
360
|
}
|