@stream-io/video-react-native-sdk 0.1.2 → 0.1.4
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 +22 -0
- package/dist/commonjs/components/Call/CallControls/HangupCallButton.js +4 -6
- package/dist/commonjs/components/Call/CallControls/HangupCallButton.js.map +1 -1
- package/dist/commonjs/hooks/push/index.js +4 -0
- package/dist/commonjs/hooks/push/index.js.map +1 -1
- package/dist/commonjs/hooks/push/useInitAndroidTokenAndRest.js +8 -2
- package/dist/commonjs/hooks/push/useInitAndroidTokenAndRest.js.map +1 -1
- package/dist/commonjs/hooks/push/useIosInitRemoteNotifications.js +34 -0
- package/dist/commonjs/hooks/push/useIosInitRemoteNotifications.js.map +1 -0
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +50 -4
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useProcessPushNonRingingCallEffect.js +50 -0
- package/dist/commonjs/hooks/push/useProcessPushNonRingingCallEffect.js.map +1 -0
- package/dist/commonjs/utils/StreamVideoRN/index.js +33 -0
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/utils/internal/newNotificationCallbacks.js +18 -0
- package/dist/commonjs/utils/internal/newNotificationCallbacks.js.map +1 -0
- package/dist/commonjs/utils/internal/pushLogoutCallback.js +18 -0
- package/dist/commonjs/utils/internal/pushLogoutCallback.js.map +1 -0
- package/dist/commonjs/utils/push/android.js +182 -68
- package/dist/commonjs/utils/push/android.js.map +1 -1
- package/dist/commonjs/utils/push/ios.js +107 -1
- package/dist/commonjs/utils/push/ios.js.map +1 -1
- package/dist/commonjs/utils/push/libs.js +34 -1
- package/dist/commonjs/utils/push/libs.js.map +1 -1
- package/dist/commonjs/utils/push/rxSubjects.js +8 -1
- package/dist/commonjs/utils/push/rxSubjects.js.map +1 -1
- package/dist/commonjs/utils/push/utils.js +29 -1
- package/dist/commonjs/utils/push/utils.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/CallControls/HangupCallButton.js +3 -4
- package/dist/module/components/Call/CallControls/HangupCallButton.js.map +1 -1
- package/dist/module/hooks/push/index.js +4 -0
- package/dist/module/hooks/push/index.js.map +1 -1
- package/dist/module/hooks/push/useInitAndroidTokenAndRest.js +8 -2
- package/dist/module/hooks/push/useInitAndroidTokenAndRest.js.map +1 -1
- package/dist/module/hooks/push/useIosInitRemoteNotifications.js +28 -0
- package/dist/module/hooks/push/useIosInitRemoteNotifications.js.map +1 -0
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +49 -4
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/push/useProcessPushNonRingingCallEffect.js +44 -0
- package/dist/module/hooks/push/useProcessPushNonRingingCallEffect.js.map +1 -0
- package/dist/module/utils/StreamVideoRN/index.js +32 -0
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/utils/internal/newNotificationCallbacks.js +10 -0
- package/dist/module/utils/internal/newNotificationCallbacks.js.map +1 -0
- package/dist/module/utils/internal/pushLogoutCallback.js +10 -0
- package/dist/module/utils/internal/pushLogoutCallback.js.map +1 -0
- package/dist/module/utils/push/android.js +184 -70
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/ios.js +103 -1
- package/dist/module/utils/push/ios.js.map +1 -1
- package/dist/module/utils/push/libs.js +31 -1
- package/dist/module/utils/push/libs.js.map +1 -1
- package/dist/module/utils/push/rxSubjects.js +5 -0
- package/dist/module/utils/push/rxSubjects.js.map +1 -1
- package/dist/module/utils/push/utils.js +27 -0
- package/dist/module/utils/push/utils.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/hooks/push/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useInitAndroidTokenAndRest.d.ts +1 -1
- package/dist/typescript/hooks/push/useInitAndroidTokenAndRest.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useIosInitRemoteNotifications.d.ts +5 -0
- package/dist/typescript/hooks/push/useIosInitRemoteNotifications.d.ts.map +1 -0
- package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useProcessPushNonRingingCallEffect.d.ts +7 -0
- package/dist/typescript/hooks/push/useProcessPushNonRingingCallEffect.d.ts.map +1 -0
- package/dist/typescript/utils/StreamVideoRN/index.d.ts +12 -0
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +40 -6
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/utils/internal/newNotificationCallbacks.d.ts +10 -0
- package/dist/typescript/utils/internal/newNotificationCallbacks.d.ts.map +1 -0
- package/dist/typescript/utils/internal/pushLogoutCallback.d.ts +8 -0
- package/dist/typescript/utils/internal/pushLogoutCallback.d.ts.map +1 -0
- package/dist/typescript/utils/push/android.d.ts +1 -1
- package/dist/typescript/utils/push/android.d.ts.map +1 -1
- package/dist/typescript/utils/push/ios.d.ts +4 -0
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs.d.ts +6 -0
- package/dist/typescript/utils/push/libs.d.ts.map +1 -1
- package/dist/typescript/utils/push/rxSubjects.d.ts +9 -0
- package/dist/typescript/utils/push/rxSubjects.d.ts.map +1 -1
- package/dist/typescript/utils/push/utils.d.ts +9 -1
- package/dist/typescript/utils/push/utils.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/expo-config-plugin/dist/index.d.ts +3 -2
- package/expo-config-plugin/dist/index.js +9 -5
- package/expo-config-plugin/dist/withPushAppDelegate.d.ts +4 -0
- package/expo-config-plugin/dist/withPushAppDelegate.js +119 -0
- package/expo-config-plugin/dist/withiOSInfoPlist.d.ts +2 -1
- package/expo-config-plugin/dist/withiOSInfoPlist.js +6 -1
- package/package.json +19 -3
- package/src/components/Call/CallControls/HangupCallButton.tsx +4 -4
- package/src/hooks/push/index.ts +4 -0
- package/src/hooks/push/useInitAndroidTokenAndRest.ts +8 -2
- package/src/hooks/push/useIosInitRemoteNotifications.ts +29 -0
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +50 -3
- package/src/hooks/push/useProcessPushNonRingingCallEffect.ts +44 -0
- package/src/utils/StreamVideoRN/index.ts +36 -0
- package/src/utils/StreamVideoRN/types.ts +47 -6
- package/src/utils/internal/newNotificationCallbacks.ts +29 -0
- package/src/utils/internal/pushLogoutCallback.ts +17 -0
- package/src/utils/push/android.ts +203 -74
- package/src/utils/push/ios.ts +120 -1
- package/src/utils/push/libs.ts +48 -2
- package/src/utils/push/rxSubjects.ts +9 -0
- package/src/utils/push/utils.ts +35 -1
- package/src/version.ts +1 -1
- /package/expo-config-plugin/dist/{withAppDelegate.d.ts → withStreamVideoReactNativeSDKAppDelegate.d.ts} +0 -0
- /package/expo-config-plugin/dist/{withAppDelegate.js → withStreamVideoReactNativeSDKAppDelegate.js} +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import notifee, { EventType } from '@notifee/react-native';
|
|
2
2
|
import { Platform } from 'react-native';
|
|
3
|
-
import { getFirebaseMessagingLib } from './libs';
|
|
4
|
-
import { pushAcceptedIncomingCallCId$, pushRejectedIncomingCallCId$, pushTappedIncomingCallCId$ } from './rxSubjects';
|
|
3
|
+
import { getFirebaseMessagingLib, getExpoNotificationsLib, getExpoTaskManagerLib } from './libs';
|
|
4
|
+
import { pushAcceptedIncomingCallCId$, pushRejectedIncomingCallCId$, pushTappedIncomingCallCId$, pushNonRingingCallData$ } from './rxSubjects';
|
|
5
5
|
import { processCallFromPushInBackground } from './utils';
|
|
6
|
+
import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
|
|
6
7
|
const ACCEPT_CALL_ACTION_ID = 'accept';
|
|
7
8
|
const DECLINE_CALL_ACTION_ID = 'decline';
|
|
8
9
|
/** Setup Firebase push message handler **/
|
|
@@ -10,33 +11,96 @@ export function setupFirebaseHandlerAndroid(pushConfig) {
|
|
|
10
11
|
if (Platform.OS !== 'android') {
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
if (pushConfig.isExpo) {
|
|
15
|
+
const Notifications = getExpoNotificationsLib();
|
|
16
|
+
const TaskManager = getExpoTaskManagerLib();
|
|
17
|
+
const BACKGROUND_NOTIFICATION_TASK = 'STREAM-VIDEO-SDK-INTERNAL-BACKGROUND-NOTIFICATION-TASK';
|
|
18
|
+
TaskManager.defineTask(BACKGROUND_NOTIFICATION_TASK, _ref => {
|
|
19
|
+
var _data$notification;
|
|
20
|
+
let {
|
|
21
|
+
data,
|
|
22
|
+
error
|
|
23
|
+
} = _ref;
|
|
24
|
+
if (error) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
const dataToProcess = (_data$notification = data.notification) === null || _data$notification === void 0 ? void 0 : _data$notification.data;
|
|
29
|
+
firebaseMessagingOnMessageHandler(dataToProcess, pushConfig);
|
|
30
|
+
});
|
|
31
|
+
// background handler
|
|
32
|
+
Notifications.registerTaskAsync(BACKGROUND_NOTIFICATION_TASK);
|
|
33
|
+
// foreground handler
|
|
34
|
+
Notifications.setNotificationHandler({
|
|
35
|
+
handleNotification: async notification => {
|
|
36
|
+
var _notification$request;
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
const trigger = notification === null || notification === void 0 || (_notification$request = notification.request) === null || _notification$request === void 0 ? void 0 : _notification$request.trigger;
|
|
39
|
+
if (trigger.type === 'push') {
|
|
40
|
+
var _trigger$remoteMessag;
|
|
41
|
+
const data = trigger === null || trigger === void 0 || (_trigger$remoteMessag = trigger.remoteMessage) === null || _trigger$remoteMessag === void 0 ? void 0 : _trigger$remoteMessag.data;
|
|
42
|
+
if ((data === null || data === void 0 ? void 0 : data.sender) === 'stream.video') {
|
|
43
|
+
await firebaseMessagingOnMessageHandler(data, pushConfig);
|
|
44
|
+
return {
|
|
45
|
+
shouldShowAlert: false,
|
|
46
|
+
shouldPlaySound: false,
|
|
47
|
+
shouldSetBadge: false
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
shouldShowAlert: true,
|
|
53
|
+
shouldPlaySound: false,
|
|
54
|
+
shouldSetBadge: false
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
const messaging = getFirebaseMessagingLib();
|
|
60
|
+
messaging().setBackgroundMessageHandler(async msg => await firebaseMessagingOnMessageHandler(msg.data, pushConfig));
|
|
61
|
+
messaging().onMessage(msg => firebaseMessagingOnMessageHandler(msg.data, pushConfig)); // this is to listen to foreground messages, which we dont need for now
|
|
62
|
+
}
|
|
63
|
+
|
|
16
64
|
notifee.onBackgroundEvent(async event => {
|
|
17
|
-
// NOTE: When app was opened from a quit state, we will never hit this when on accept event as app will open and the click event will go to foreground
|
|
18
65
|
await onNotifeeEvent(event, pushConfig);
|
|
19
66
|
});
|
|
20
67
|
notifee.onForegroundEvent(event => {
|
|
21
|
-
// NOTE: When app was opened from a quit state, we will never hit this when on accept event as app will open and go to foreground immediately
|
|
22
68
|
onNotifeeEvent(event, pushConfig);
|
|
23
69
|
});
|
|
24
70
|
}
|
|
25
71
|
|
|
26
72
|
/** Send token to stream, create notification channel, */
|
|
27
|
-
export async function initAndroidPushToken(client, pushConfig) {
|
|
28
|
-
if (Platform.OS !== 'android') {
|
|
73
|
+
export async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener) {
|
|
74
|
+
if (Platform.OS !== 'android' || !pushConfig.android.pushProviderName) {
|
|
29
75
|
return;
|
|
30
76
|
}
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
77
|
+
const setDeviceToken = async token => {
|
|
78
|
+
setPushLogoutCallback(() => {
|
|
79
|
+
client.removeDevice(token).catch(err => {
|
|
80
|
+
console.warn('Failed to remove voip token from stream', err);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
const push_provider_name = pushConfig.android.pushProviderName;
|
|
84
|
+
await client.addDevice(token, 'firebase', push_provider_name);
|
|
85
|
+
};
|
|
86
|
+
if (pushConfig.isExpo) {
|
|
87
|
+
const expoNotificationsLib = getExpoNotificationsLib();
|
|
88
|
+
const subscription = expoNotificationsLib.addPushTokenListener(devicePushToken => {
|
|
89
|
+
setDeviceToken(devicePushToken.data);
|
|
90
|
+
});
|
|
91
|
+
setUnsubscribeListener(() => subscription.remove());
|
|
92
|
+
const devicePushToken = await expoNotificationsLib.getDevicePushTokenAsync();
|
|
93
|
+
const token = devicePushToken.data;
|
|
94
|
+
await setDeviceToken(token);
|
|
95
|
+
} else {
|
|
96
|
+
const messaging = getFirebaseMessagingLib();
|
|
97
|
+
const unsubscribe = messaging().onTokenRefresh(refreshedToken => setDeviceToken(refreshedToken));
|
|
98
|
+
setUnsubscribeListener(unsubscribe);
|
|
99
|
+
const token = await messaging().getToken();
|
|
100
|
+
await setDeviceToken(token);
|
|
39
101
|
}
|
|
102
|
+
}
|
|
103
|
+
const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
|
|
40
104
|
/* Example data from firebase
|
|
41
105
|
"message": {
|
|
42
106
|
"data": {
|
|
@@ -52,46 +116,89 @@ const firebaseMessagingOnMessageHandler = async (message, pushConfig) => {
|
|
|
52
116
|
// other stuff
|
|
53
117
|
}
|
|
54
118
|
*/
|
|
55
|
-
const data = message.data;
|
|
56
119
|
if (!data || data.sender !== 'stream.video') {
|
|
57
120
|
return;
|
|
58
121
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
pressAction: {
|
|
80
|
-
id: DECLINE_CALL_ACTION_ID
|
|
81
|
-
}
|
|
82
|
-
}, {
|
|
83
|
-
title: 'Accept',
|
|
122
|
+
if (data.type === 'call.ring') {
|
|
123
|
+
const incomingCallChannel = pushConfig.android.incomingCallChannel;
|
|
124
|
+
const incomingCallNotificationTextGetters = pushConfig.android.incomingCallNotificationTextGetters;
|
|
125
|
+
if (!incomingCallChannel || !incomingCallNotificationTextGetters) {
|
|
126
|
+
console.debug("Can't show incoming call notification as either or both incomingCallChannel and was not provided");
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
await notifee.createChannel(incomingCallChannel);
|
|
130
|
+
const {
|
|
131
|
+
getTitle,
|
|
132
|
+
getBody
|
|
133
|
+
} = incomingCallNotificationTextGetters;
|
|
134
|
+
const createdUserName = data.created_by_display_name;
|
|
135
|
+
const channelId = incomingCallChannel.id;
|
|
136
|
+
await notifee.displayNotification({
|
|
137
|
+
title: getTitle(createdUserName),
|
|
138
|
+
body: getBody(createdUserName),
|
|
139
|
+
data,
|
|
140
|
+
android: {
|
|
141
|
+
channelId,
|
|
84
142
|
pressAction: {
|
|
85
|
-
id:
|
|
143
|
+
id: 'default',
|
|
86
144
|
launchActivity: 'default' // open the app when the notification is pressed
|
|
87
|
-
}
|
|
88
|
-
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
actions: [{
|
|
148
|
+
title: 'Decline',
|
|
149
|
+
pressAction: {
|
|
150
|
+
id: DECLINE_CALL_ACTION_ID
|
|
151
|
+
}
|
|
152
|
+
}, {
|
|
153
|
+
title: 'Accept',
|
|
154
|
+
pressAction: {
|
|
155
|
+
id: ACCEPT_CALL_ACTION_ID,
|
|
156
|
+
launchActivity: 'default' // open the app when the notification is pressed
|
|
157
|
+
}
|
|
158
|
+
}],
|
|
89
159
|
|
|
90
|
-
|
|
160
|
+
timeoutAfter: 60000 // 60 seconds, after which the notification will be dismissed automatically
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
} else {
|
|
164
|
+
// the other types are call.live_started and call.notification
|
|
165
|
+
const callChannel = pushConfig.android.callChannel;
|
|
166
|
+
const callNotificationTextGetters = pushConfig.android.callNotificationTextGetters;
|
|
167
|
+
if (!callChannel || !callNotificationTextGetters) {
|
|
168
|
+
console.debug("Can't show call notification as either or both callChannel and callNotificationTextGetters is not provided");
|
|
169
|
+
return;
|
|
91
170
|
}
|
|
92
|
-
|
|
93
|
-
|
|
171
|
+
await notifee.createChannel(callChannel);
|
|
172
|
+
const channelId = callChannel.id;
|
|
173
|
+
const {
|
|
174
|
+
getTitle,
|
|
175
|
+
getBody
|
|
176
|
+
} = callNotificationTextGetters;
|
|
177
|
+
const createdUserName = data.created_by_display_name;
|
|
178
|
+
// we can safely cast to string because the data is from "stream.video"
|
|
179
|
+
const type = data.type;
|
|
180
|
+
await notifee.displayNotification({
|
|
181
|
+
title: getTitle(type, createdUserName),
|
|
182
|
+
body: getBody(type, createdUserName),
|
|
183
|
+
data,
|
|
184
|
+
android: {
|
|
185
|
+
channelId,
|
|
186
|
+
pressAction: {
|
|
187
|
+
id: 'default',
|
|
188
|
+
launchActivity: 'default' // open the app when the notification is pressed
|
|
189
|
+
},
|
|
190
|
+
|
|
191
|
+
timeoutAfter: 60000 // 60 seconds, after which the notification will be dismissed automatically
|
|
192
|
+
}
|
|
193
|
+
});
|
|
94
194
|
|
|
195
|
+
const cid = data.call_cid;
|
|
196
|
+
pushNonRingingCallData$.next({
|
|
197
|
+
cid,
|
|
198
|
+
type
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
};
|
|
95
202
|
const onNotifeeEvent = async (event, pushConfig) => {
|
|
96
203
|
const {
|
|
97
204
|
type,
|
|
@@ -109,29 +216,36 @@ const onNotifeeEvent = async (event, pushConfig) => {
|
|
|
109
216
|
|
|
110
217
|
// we can safely cast to string because the data is from "stream.video"
|
|
111
218
|
const call_cid = data.call_cid;
|
|
219
|
+
if (data.type === 'call.ring') {
|
|
220
|
+
// check if we have observers for the call cid (this means the app is in the foreground state)
|
|
221
|
+
const hasObservers = pushAcceptedIncomingCallCId$.observed && pushRejectedIncomingCallCId$.observed;
|
|
112
222
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
223
|
+
// Check if we need to decline the call
|
|
224
|
+
const didPressDecline = type === EventType.ACTION_PRESS && pressAction.id === DECLINE_CALL_ACTION_ID;
|
|
225
|
+
const didDismiss = type === EventType.DISMISSED;
|
|
226
|
+
const mustDecline = didPressDecline || didDismiss;
|
|
227
|
+
// Check if we need to accept the call
|
|
228
|
+
const mustAccept = type === EventType.ACTION_PRESS && pressAction.id === ACCEPT_CALL_ACTION_ID;
|
|
229
|
+
if (mustAccept) {
|
|
230
|
+
pushAcceptedIncomingCallCId$.next(call_cid);
|
|
231
|
+
// NOTE: accept will be handled by the app with rxjs observers as the app will go to foreground always
|
|
232
|
+
} else if (mustDecline) {
|
|
233
|
+
pushRejectedIncomingCallCId$.next(call_cid);
|
|
234
|
+
if (hasObservers) {
|
|
235
|
+
// if we had observers we can return here as the observers will handle the call as the app is in the foreground state
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
await processCallFromPushInBackground(pushConfig, call_cid, 'decline');
|
|
239
|
+
} else if (type === EventType.PRESS) {
|
|
240
|
+
pushTappedIncomingCallCId$.next(call_cid);
|
|
241
|
+
// pressed state will be handled by the app with rxjs observers as the app will go to foreground always
|
|
242
|
+
}
|
|
243
|
+
} else {
|
|
244
|
+
if (type === EventType.PRESS) {
|
|
245
|
+
var _pushConfig$onTapNonR;
|
|
246
|
+
pushTappedIncomingCallCId$.next(call_cid);
|
|
247
|
+
(_pushConfig$onTapNonR = pushConfig.onTapNonRingingCallNotification) === null || _pushConfig$onTapNonR === void 0 || _pushConfig$onTapNonR.call(pushConfig, call_cid, data.type);
|
|
130
248
|
}
|
|
131
|
-
await processCallFromPushInBackground(pushConfig, call_cid, 'decline');
|
|
132
|
-
} else if (type === EventType.PRESS) {
|
|
133
|
-
pushTappedIncomingCallCId$.next(call_cid);
|
|
134
|
-
// pressed state will be handled by the app with rxjs observers as the app will go to foreground always
|
|
135
249
|
}
|
|
136
250
|
};
|
|
137
251
|
//# sourceMappingURL=android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["notifee","EventType","Platform","getFirebaseMessagingLib","pushAcceptedIncomingCallCId$","pushRejectedIncomingCallCId$","pushTappedIncomingCallCId$","processCallFromPushInBackground","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","setupFirebaseHandlerAndroid","pushConfig","OS","messaging","setBackgroundMessageHandler","msg","
|
|
1
|
+
{"version":3,"names":["notifee","EventType","Platform","getFirebaseMessagingLib","getExpoNotificationsLib","getExpoTaskManagerLib","pushAcceptedIncomingCallCId$","pushRejectedIncomingCallCId$","pushTappedIncomingCallCId$","pushNonRingingCallData$","processCallFromPushInBackground","setPushLogoutCallback","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","setupFirebaseHandlerAndroid","pushConfig","OS","isExpo","Notifications","TaskManager","BACKGROUND_NOTIFICATION_TASK","defineTask","_ref","_data$notification","data","error","dataToProcess","notification","firebaseMessagingOnMessageHandler","registerTaskAsync","setNotificationHandler","handleNotification","_notification$request","trigger","request","type","_trigger$remoteMessag","remoteMessage","sender","shouldShowAlert","shouldPlaySound","shouldSetBadge","messaging","setBackgroundMessageHandler","msg","onMessage","onBackgroundEvent","event","onNotifeeEvent","onForegroundEvent","initAndroidPushToken","client","setUnsubscribeListener","android","pushProviderName","setDeviceToken","token","removeDevice","catch","err","console","warn","push_provider_name","addDevice","expoNotificationsLib","subscription","addPushTokenListener","devicePushToken","remove","getDevicePushTokenAsync","unsubscribe","onTokenRefresh","refreshedToken","getToken","incomingCallChannel","incomingCallNotificationTextGetters","debug","createChannel","getTitle","getBody","createdUserName","created_by_display_name","channelId","id","displayNotification","title","body","pressAction","launchActivity","actions","timeoutAfter","callChannel","callNotificationTextGetters","cid","call_cid","next","detail","notificationId","hasObservers","observed","didPressDecline","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","PRESS","_pushConfig$onTapNonR","onTapNonRingingCallNotification","call"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import { pushAcceptedIncomingCallCId$, voipPushNotificationCallCId$, voipCallkeepCallOnForegroundMap$, voipCallkeepAcceptedCallOnNativeDialerMap$, pushNonRingingCallData$ } from './rxSubjects';
|
|
2
3
|
import { processCallFromPushInBackground } from './utils';
|
|
4
|
+
import { getExpoNotificationsLib, getPushNotificationIosLib } from './libs';
|
|
5
|
+
import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
|
|
6
|
+
import notifee, { EventType } from '@notifee/react-native';
|
|
7
|
+
function processNonRingingNotificationStreamPayload(streamPayload) {
|
|
8
|
+
if ((streamPayload === null || streamPayload === void 0 ? void 0 : streamPayload.sender) === 'stream.video' && (streamPayload === null || streamPayload === void 0 ? void 0 : streamPayload.type) !== 'call.ring') {
|
|
9
|
+
const cid = streamPayload.call_cid;
|
|
10
|
+
const type = streamPayload.type;
|
|
11
|
+
pushNonRingingCallData$.next({
|
|
12
|
+
cid,
|
|
13
|
+
type
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
cid,
|
|
17
|
+
type
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
3
21
|
export const iosCallkeepAcceptCall = (call_cid, callUUIDFromCallkeep) => {
|
|
4
22
|
if (!shouldProcessCallFromCallkeep(call_cid, callUUIDFromCallkeep)) {
|
|
5
23
|
return;
|
|
@@ -35,4 +53,88 @@ const shouldProcessCallFromCallkeep = (call_cid, callUUIDFromCallkeep) => {
|
|
|
35
53
|
}
|
|
36
54
|
return true;
|
|
37
55
|
};
|
|
56
|
+
export const setupRemoteNotificationsHandleriOS = pushConfig => {
|
|
57
|
+
if (Platform.OS !== 'ios') {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
notifee.onForegroundEvent(_ref => {
|
|
61
|
+
let {
|
|
62
|
+
type,
|
|
63
|
+
detail
|
|
64
|
+
} = _ref;
|
|
65
|
+
if (type === EventType.PRESS) {
|
|
66
|
+
var _detail$notification;
|
|
67
|
+
const streamPayload = (_detail$notification = detail.notification) === null || _detail$notification === void 0 || (_detail$notification = _detail$notification.data) === null || _detail$notification === void 0 ? void 0 : _detail$notification.stream;
|
|
68
|
+
const result = processNonRingingNotificationStreamPayload(streamPayload);
|
|
69
|
+
if (result) {
|
|
70
|
+
var _pushConfig$onTapNonR;
|
|
71
|
+
(_pushConfig$onTapNonR = pushConfig.onTapNonRingingCallNotification) === null || _pushConfig$onTapNonR === void 0 || _pushConfig$onTapNonR.call(pushConfig, result.cid, result.type);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
if (pushConfig.isExpo) {
|
|
76
|
+
const Notifications = getExpoNotificationsLib();
|
|
77
|
+
|
|
78
|
+
// foreground handler (just to show the notifications on foreground)
|
|
79
|
+
Notifications.setNotificationHandler({
|
|
80
|
+
handleNotification: async () => {
|
|
81
|
+
return {
|
|
82
|
+
shouldShowAlert: true,
|
|
83
|
+
shouldPlaySound: true,
|
|
84
|
+
shouldSetBadge: false
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
/** Send token to stream */
|
|
92
|
+
export async function initIosNonVoipToken(client, pushConfig, setUnsubscribeListener) {
|
|
93
|
+
if (Platform.OS !== 'ios' || !pushConfig.android.pushProviderName) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const setDeviceToken = async token => {
|
|
97
|
+
setPushLogoutCallback(() => {
|
|
98
|
+
client.removeDevice(token).catch(err => {
|
|
99
|
+
console.warn('Failed to remove voip token from stream', err);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
const push_provider_name = pushConfig.ios.pushProviderName;
|
|
103
|
+
await client.addDevice(token, 'apn', push_provider_name);
|
|
104
|
+
};
|
|
105
|
+
if (pushConfig.isExpo) {
|
|
106
|
+
const expoNotificationsLib = getExpoNotificationsLib();
|
|
107
|
+
const subscription = expoNotificationsLib.addPushTokenListener(devicePushToken => {
|
|
108
|
+
setDeviceToken(devicePushToken.data);
|
|
109
|
+
});
|
|
110
|
+
const subscriptionForReceive = expoNotificationsLib.addNotificationReceivedListener(event => {
|
|
111
|
+
// listen to foreground notifications
|
|
112
|
+
if (event.request.trigger.type === 'push') {
|
|
113
|
+
var _event$request$trigge;
|
|
114
|
+
const streamPayload = (_event$request$trigge = event.request.trigger.payload) === null || _event$request$trigge === void 0 ? void 0 : _event$request$trigge.stream;
|
|
115
|
+
processNonRingingNotificationStreamPayload(streamPayload);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
setUnsubscribeListener(() => {
|
|
119
|
+
subscription.remove();
|
|
120
|
+
subscriptionForReceive.remove();
|
|
121
|
+
});
|
|
122
|
+
} else {
|
|
123
|
+
const pushNotificationIosLib = getPushNotificationIosLib();
|
|
124
|
+
pushNotificationIosLib.addEventListener('register', token => {
|
|
125
|
+
setDeviceToken(token);
|
|
126
|
+
});
|
|
127
|
+
pushNotificationIosLib.addEventListener('notification', notification => {
|
|
128
|
+
const data = notification.getData();
|
|
129
|
+
const streamPayload = data === null || data === void 0 ? void 0 : data.stream;
|
|
130
|
+
// listen to foreground notifications
|
|
131
|
+
processNonRingingNotificationStreamPayload(streamPayload);
|
|
132
|
+
notification.finish(pushNotificationIosLib.FetchResult.NoData);
|
|
133
|
+
});
|
|
134
|
+
setUnsubscribeListener(() => {
|
|
135
|
+
pushNotificationIosLib.removeEventListener('register');
|
|
136
|
+
pushNotificationIosLib.removeEventListener('notification');
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
38
140
|
//# sourceMappingURL=ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pushAcceptedIncomingCallCId$","voipPushNotificationCallCId$","voipCallkeepCallOnForegroundMap$","voipCallkeepAcceptedCallOnNativeDialerMap$","processCallFromPushInBackground","
|
|
1
|
+
{"version":3,"names":["Platform","pushAcceptedIncomingCallCId$","voipPushNotificationCallCId$","voipCallkeepCallOnForegroundMap$","voipCallkeepAcceptedCallOnNativeDialerMap$","pushNonRingingCallData$","processCallFromPushInBackground","getExpoNotificationsLib","getPushNotificationIosLib","setPushLogoutCallback","notifee","EventType","processNonRingingNotificationStreamPayload","streamPayload","sender","type","cid","call_cid","next","iosCallkeepAcceptCall","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","uuid","undefined","iosCallkeepRejectCall","pushConfig","setupRemoteNotificationsHandleriOS","OS","onForegroundEvent","_ref","detail","PRESS","_detail$notification","notification","data","stream","result","_pushConfig$onTapNonR","onTapNonRingingCallNotification","call","isExpo","Notifications","setNotificationHandler","handleNotification","shouldShowAlert","shouldPlaySound","shouldSetBadge","initIosNonVoipToken","client","setUnsubscribeListener","android","pushProviderName","setDeviceToken","token","removeDevice","catch","err","console","warn","push_provider_name","ios","addDevice","expoNotificationsLib","subscription","addPushTokenListener","devicePushToken","subscriptionForReceive","addNotificationReceivedListener","event","request","trigger","_event$request$trigge","payload","remove","pushNotificationIosLib","addEventListener","getData","finish","FetchResult","NoData","removeEventListener"],"sourceRoot":"../../../../src","sources":["utils/push/ios.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
let callkeep;
|
|
2
2
|
let messaging;
|
|
3
3
|
let voipPushNotification;
|
|
4
|
+
let expoNotificationsLib;
|
|
5
|
+
let expoTaskManagerLib;
|
|
6
|
+
let pushNotificationIosLib;
|
|
4
7
|
try {
|
|
5
8
|
callkeep = require('react-native-callkeep').default;
|
|
6
9
|
} catch (e) {}
|
|
@@ -10,6 +13,33 @@ try {
|
|
|
10
13
|
try {
|
|
11
14
|
voipPushNotification = require('react-native-voip-push-notification').default;
|
|
12
15
|
} catch (e) {}
|
|
16
|
+
try {
|
|
17
|
+
expoNotificationsLib = require('expo-notifications');
|
|
18
|
+
} catch (e) {}
|
|
19
|
+
try {
|
|
20
|
+
expoTaskManagerLib = require('expo-task-manager');
|
|
21
|
+
} catch (e) {}
|
|
22
|
+
try {
|
|
23
|
+
pushNotificationIosLib = require('@react-native-community/push-notification-ios').default;
|
|
24
|
+
} catch (e) {}
|
|
25
|
+
export function getExpoNotificationsLib() {
|
|
26
|
+
if (!expoNotificationsLib) {
|
|
27
|
+
throw Error('expo-notifications library is not installed. Please see https://docs.expo.dev/versions/latest/sdk/notifications/ for installation instructions');
|
|
28
|
+
}
|
|
29
|
+
return expoNotificationsLib;
|
|
30
|
+
}
|
|
31
|
+
export function getExpoTaskManagerLib() {
|
|
32
|
+
if (!expoTaskManagerLib) {
|
|
33
|
+
throw Error('expo-task-manager library is not installed. Please see https://docs.expo.dev/versions/latest/sdk/task-manager/ for installation instructions');
|
|
34
|
+
}
|
|
35
|
+
return expoTaskManagerLib;
|
|
36
|
+
}
|
|
37
|
+
export function getPushNotificationIosLib() {
|
|
38
|
+
if (!pushNotificationIosLib) {
|
|
39
|
+
throw Error('@react-native-community/push-notification-ios library is not installed. Please install it using "yarn add @react-native-community/push-notification-ios" or "npm i @react-native-community/push-notification-ios --save"');
|
|
40
|
+
}
|
|
41
|
+
return pushNotificationIosLib;
|
|
42
|
+
}
|
|
13
43
|
export function getCallKeepLib() {
|
|
14
44
|
if (!callkeep) {
|
|
15
45
|
throw Error('react-native-callkeep library is not installed. Please see https://github.com/react-native-webrtc/react-native-callkeep#Installation for installation instructions');
|
|
@@ -24,7 +54,7 @@ export function getFirebaseMessagingLib() {
|
|
|
24
54
|
}
|
|
25
55
|
export function getVoipPushNotificationLib() {
|
|
26
56
|
if (!voipPushNotification) {
|
|
27
|
-
throw Error("react-native-voip-push-notification library is not installed. Please install it using 'yarn add react-native-voip-push-notification' or 'npm
|
|
57
|
+
throw Error("react-native-voip-push-notification library is not installed. Please install it using 'yarn add react-native-voip-push-notification' or 'npm i react-native-voip-push-notification --save'");
|
|
28
58
|
}
|
|
29
59
|
return voipPushNotification;
|
|
30
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["callkeep","messaging","voipPushNotification","require","default","e","
|
|
1
|
+
{"version":3,"names":["callkeep","messaging","voipPushNotification","expoNotificationsLib","expoTaskManagerLib","pushNotificationIosLib","require","default","e","getExpoNotificationsLib","Error","getExpoTaskManagerLib","getPushNotificationIosLib","getCallKeepLib","getFirebaseMessagingLib","getVoipPushNotificationLib"],"sourceRoot":"../../../../src","sources":["utils/push/libs.ts"],"mappings":"AAWA,IAAIA,QAAoC;AACxC,IAAIC,SAA4C;AAChD,IAAIC,oBAA0D;AAC9D,IAAIC,oBAAsD;AAC1D,IAAIC,kBAAkD;AACtD,IAAIC,sBAA0D;AAE9D,IAAI;EACFL,QAAQ,GAAGM,OAAO,CAAC,uBAAuB,CAAC,CAACC,OAAO;AACrD,CAAC,CAAC,OAAOC,CAAC,EAAE,CAAC;AAEb,IAAI;EACFP,SAAS,GAAGK,OAAO,CAAC,kCAAkC,CAAC,CAACC,OAAO;AACjE,CAAC,CAAC,OAAOC,CAAC,EAAE,CAAC;AAEb,IAAI;EACFN,oBAAoB,GAAGI,OAAO,CAAC,qCAAqC,CAAC,CAACC,OAAO;AAC/E,CAAC,CAAC,OAAOC,CAAC,EAAE,CAAC;AAEb,IAAI;EACFL,oBAAoB,GAAGG,OAAO,CAAC,oBAAoB,CAAC;AACtD,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;AAEb,IAAI;EACFJ,kBAAkB,GAAGE,OAAO,CAAC,mBAAmB,CAAC;AACnD,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;AAEb,IAAI;EACFH,sBAAsB,GACpBC,OAAO,CAAC,+CAA+C,CAAC,CAACC,OAAO;AACpE,CAAC,CAAC,OAAOC,CAAC,EAAE,CAAC;AAEb,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,IAAI,CAACN,oBAAoB,EAAE;IACzB,MAAMO,KAAK,CACT,gJACF,CAAC;EACH;EACA,OAAOP,oBAAoB;AAC7B;AAEA,OAAO,SAASQ,qBAAqBA,CAAA,EAAG;EACtC,IAAI,CAACP,kBAAkB,EAAE;IACvB,MAAMM,KAAK,CACT,8IACF,CAAC;EACH;EACA,OAAON,kBAAkB;AAC3B;AAEA,OAAO,SAASQ,yBAAyBA,CAAA,EAAG;EAC1C,IAAI,CAACP,sBAAsB,EAAE;IAC3B,MAAMK,KAAK,CACT,0NACF,CAAC;EACH;EACA,OAAOL,sBAAsB;AAC/B;AAEA,OAAO,SAASQ,cAAcA,CAAA,EAAG;EAC/B,IAAI,CAACb,QAAQ,EAAE;IACb,MAAMU,KAAK,CACT,oKACF,CAAC;EACH;EACA,OAAOV,QAAQ;AACjB;AAEA,OAAO,SAASc,uBAAuBA,CAAA,EAAG;EACxC,IAAI,CAACb,SAAS,EAAE;IACd,MAAMS,KAAK,CACT,6IACF,CAAC;EACH;EACA,OAAOT,SAAS;AAClB;AAEA,OAAO,SAASc,0BAA0BA,CAAA,EAAG;EAC3C,IAAI,CAACb,oBAAoB,EAAE;IACzB,MAAMQ,KAAK,CACT,4LACF,CAAC;EACH;EACA,OAAOR,oBAAoB;AAC7B"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
/**
|
|
3
|
+
* This rxjs subject is used to store the call cid of the accepted incoming call from push notification
|
|
4
|
+
* Note: it is should be subscribed only when a user has connected to the websocket of Stream
|
|
5
|
+
*/
|
|
6
|
+
export const pushNonRingingCallData$ = new BehaviorSubject(undefined);
|
|
2
7
|
|
|
3
8
|
/**
|
|
4
9
|
* This rxjs subject is used to store the call cid of the accepted incoming call from push notification
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BehaviorSubject","
|
|
1
|
+
{"version":3,"names":["BehaviorSubject","pushNonRingingCallData$","undefined","pushAcceptedIncomingCallCId$","pushTappedIncomingCallCId$","pushRejectedIncomingCallCId$","voipPushNotificationCallCId$","voipCallkeepCallOnForegroundMap$","voipCallkeepAcceptedCallOnNativeDialerMap$"],"sourceRoot":"../../../../src","sources":["utils/push/rxSubjects.ts"],"mappings":"AAAA,SAASA,eAAe,QAAQ,MAAM;AAGtC;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,IAAID,eAAe,CAExDE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAG,IAAIH,eAAe,CAE7DE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA,OAAO,MAAME,0BAA0B,GAAG,IAAIJ,eAAe,CAE3DE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA,OAAO,MAAMG,4BAA4B,GAAG,IAAIL,eAAe,CAE7DE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAMI,4BAA4B,GAAG,IAAIN,eAAe,CAE7DE,SAAS,CAAC;;AAEZ;;AAMA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,gCAAgC,GAAG,IAAIP,eAAe,CAEjEE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAMM,0CAA0C,GAAG,IAAIR,eAAe,CAE3EE,SAAS,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { onNewCallNotification } from '../internal/newNotificationCallbacks';
|
|
1
2
|
/* An action for the notification or callkeep and app does not have JS context setup yet, so we need to do two steps:
|
|
2
3
|
1. we need to create a new client and connect the user to decline the call
|
|
3
4
|
2. this is because the app is in background state and we don't have a client to get the call and do an action
|
|
@@ -44,4 +45,30 @@ export const processCallFromPush = async (client, call_cid, action) => {
|
|
|
44
45
|
console.log('failed to process call from push notification', e, action);
|
|
45
46
|
}
|
|
46
47
|
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* This function is used process the call from push notifications due to non ringing calls
|
|
51
|
+
* It does the following steps:
|
|
52
|
+
* 1. Get the call from the client if present or create a new call
|
|
53
|
+
* 2. Fetch the latest state of the call from the server if its not already in ringing state
|
|
54
|
+
* 3. Call all the callbacks to inform the app about the call
|
|
55
|
+
*/
|
|
56
|
+
export const processNonIncomingCallFromPush = async (client, call_cid, nonRingingNotificationType) => {
|
|
57
|
+
let callFromPush;
|
|
58
|
+
try {
|
|
59
|
+
const _callFromPush = client.state.calls.find(c => c.cid === call_cid);
|
|
60
|
+
if (_callFromPush) {
|
|
61
|
+
callFromPush = _callFromPush;
|
|
62
|
+
} else {
|
|
63
|
+
// if not it means that WS is not alive when receiving the push notifications and we need to fetch the call
|
|
64
|
+
const [callType, callId] = call_cid.split(':');
|
|
65
|
+
callFromPush = client.call(callType, callId);
|
|
66
|
+
await callFromPush.get();
|
|
67
|
+
}
|
|
68
|
+
} catch (e) {
|
|
69
|
+
console.log('failed to fetch call from push notification', e);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
onNewCallNotification(callFromPush, nonRingingNotificationType);
|
|
73
|
+
};
|
|
47
74
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["processCallFromPushInBackground","pushConfig","call_cid","action","videoClient","createStreamVideoClient","e","console","log","processCallFromPush","client","callFromPush","onRingingCall","join","leave","reject"],"sourceRoot":"../../../../src","sources":["utils/push/utils.ts"],"mappings":"AAKA;AACA;AACA;AACA;AACA,OAAO,
|
|
1
|
+
{"version":3,"names":["onNewCallNotification","processCallFromPushInBackground","pushConfig","call_cid","action","videoClient","createStreamVideoClient","e","console","log","processCallFromPush","client","callFromPush","onRingingCall","join","leave","reject","processNonIncomingCallFromPush","nonRingingNotificationType","_callFromPush","state","calls","find","c","cid","callType","callId","split","call","get"],"sourceRoot":"../../../../src","sources":["utils/push/utils.ts"],"mappings":"AAKA,SAASA,qBAAqB,QAAQ,sCAAsC;AAI5E;AACA;AACA;AACA;AACA,OAAO,MAAMC,+BAA+B,GAAG,MAAAA,CAC7CC,UAAsB,EACtBC,QAAgB,EAChBC,MAAiD,KAC9C;EACH,IAAIC,WAA0C;EAE9C,IAAI;IACFA,WAAW,GAAG,MAAMH,UAAU,CAACI,uBAAuB,CAAC,CAAC;IACxD,IAAI,CAACD,WAAW,EAAE;MAChB;IACF;EACF,CAAC,CAAC,OAAOE,CAAC,EAAE;IACVC,OAAO,CAACC,GAAG,CAAC,gDAAgD,EAAEF,CAAC,CAAC;IAChE;EACF;EACA,MAAMG,mBAAmB,CAACL,WAAW,EAAEF,QAAQ,EAAEC,MAAM,CAAC;AAC1D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,mBAAmB,GAAG,MAAAA,CACjCC,MAAyB,EACzBR,QAAgB,EAChBC,MAAwC,KACrC;EACH,IAAIQ,YAAkB;EACtB,IAAI;IACFA,YAAY,GAAG,MAAMD,MAAM,CAACE,aAAa,CAACV,QAAQ,CAAC;EACrD,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVC,OAAO,CAACC,GAAG,CAAC,6CAA6C,EAAEF,CAAC,CAAC;IAC7D;EACF;EACA;EACA,IAAI;IACF,IAAIH,MAAM,KAAK,QAAQ,EAAE;MACvB,MAAMQ,YAAY,CAACE,IAAI,CAAC,CAAC;IAC3B,CAAC,MAAM,IAAIV,MAAM,KAAK,SAAS,EAAE;MAC/B,MAAMQ,YAAY,CAACG,KAAK,CAAC;QAAEC,MAAM,EAAE;MAAK,CAAC,CAAC;IAC5C;EACF,CAAC,CAAC,OAAOT,CAAC,EAAE;IACVC,OAAO,CAACC,GAAG,CAAC,+CAA+C,EAAEF,CAAC,EAAEH,MAAM,CAAC;EACzE;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMa,8BAA8B,GAAG,MAAAA,CAC5CN,MAAyB,EACzBR,QAAgB,EAChBe,0BAA+C,KAC5C;EACH,IAAIN,YAAkB;EACtB,IAAI;IACF,MAAMO,aAAa,GAAGR,MAAM,CAACS,KAAK,CAACC,KAAK,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKrB,QAAQ,CAAC;IACxE,IAAIgB,aAAa,EAAE;MACjBP,YAAY,GAAGO,aAAa;IAC9B,CAAC,MAAM;MACL;MACA,MAAM,CAACM,QAAQ,EAAEC,MAAM,CAAC,GAAGvB,QAAQ,CAACwB,KAAK,CAAC,GAAG,CAAC;MAC9Cf,YAAY,GAAGD,MAAM,CAACiB,IAAI,CAACH,QAAQ,EAAEC,MAAM,CAAC;MAC5C,MAAMd,YAAY,CAACiB,GAAG,CAAC,CAAC;IAC1B;EACF,CAAC,CAAC,OAAOtB,CAAC,EAAE;IACVC,OAAO,CAACC,GAAG,CAAC,6CAA6C,EAAEF,CAAC,CAAC;IAC7D;EACF;EACAP,qBAAqB,CAACY,YAAY,EAAEM,0BAA0B,CAAC;AACjE,CAAC"}
|
package/dist/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '0.1.
|
|
1
|
+
export const version = '0.1.4';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/index.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,YAOjC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This hook is used to initialize the push token for Android
|
|
2
|
+
* This hook is used to initialize the push token for Android.
|
|
3
3
|
*/
|
|
4
4
|
export declare const useInitAndroidTokenAndRest: () => void;
|
|
5
5
|
//# sourceMappingURL=useInitAndroidTokenAndRest.d.ts.map
|