@stream-io/video-react-native-sdk 1.9.13 → 1.9.15
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 +15 -0
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +1 -5
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +1 -5
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +9 -3
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/expo-config-plugin/dist/withAppDelegate.js +35 -0
- package/package.json +1 -1
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +1 -13
- package/src/utils/StreamVideoRN/types.ts +12 -3
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [1.9.15](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.14...@stream-io/video-react-native-sdk-1.9.15) (2025-01-31)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* added missed call events to push config types ([#1667](https://github.com/GetStream/stream-video-js/issues/1667)) ([36a9683](https://github.com/GetStream/stream-video-js/commit/36a96839b095a9d3cd736a1bd60b9a01f6160421))
|
|
11
|
+
* open fg service only on a successful join ([#1666](https://github.com/GetStream/stream-video-js/issues/1666)) ([dd5d8f8](https://github.com/GetStream/stream-video-js/commit/dd5d8f8d5c390a16ad35d7b5b4f0e8b254f0f5f6))
|
|
12
|
+
|
|
13
|
+
## [1.9.14](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.13...@stream-io/video-react-native-sdk-1.9.14) (2025-01-29)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* add callkit audio methods for expo ([#1659](https://github.com/GetStream/stream-video-js/issues/1659)) ([89a53ec](https://github.com/GetStream/stream-video-js/commit/89a53ece63f7f6f4f4275d4697052a86fdad8a79))
|
|
19
|
+
|
|
5
20
|
## [1.9.13](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.12...@stream-io/video-react-native-sdk-1.9.13) (2025-01-29)
|
|
6
21
|
|
|
7
22
|
|
|
@@ -10,7 +10,6 @@ var _utils = require("../utils");
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
var _videoClient = require("@stream-io/video-client");
|
|
12
12
|
var _notifee = require("../utils/push/libs/notifee");
|
|
13
|
-
var _hooks = require("../utils/hooks");
|
|
14
13
|
const notifeeLib = (0, _notifee.getNotifeeLibNoThrowForKeepCallAlive)();
|
|
15
14
|
function setForegroundService() {
|
|
16
15
|
notifeeLib?.default.registerForegroundService(() => {
|
|
@@ -83,12 +82,9 @@ const useAndroidKeepCallAliveEffect = () => {
|
|
|
83
82
|
useCallCallingState
|
|
84
83
|
} = (0, _videoReactBindings.useCallStateHooks)();
|
|
85
84
|
const callingState = useCallCallingState();
|
|
86
|
-
const prevCallingState = (0, _hooks.usePrevious)(callingState);
|
|
87
|
-
const isStartingToJoin = prevCallingState === _videoClient.CallingState.IDLE && callingState === _videoClient.CallingState.JOINING;
|
|
88
|
-
const isStartingToJoinFromRinging = prevCallingState === _videoClient.CallingState.RINGING && callingState === _videoClient.CallingState.JOINING;
|
|
89
85
|
const isOutgoingCall = callingState === _videoClient.CallingState.RINGING && call?.isCreatedByMe;
|
|
90
86
|
const isCallJoined = callingState === _videoClient.CallingState.JOINED;
|
|
91
|
-
const shouldStartForegroundService =
|
|
87
|
+
const shouldStartForegroundService = !foregroundServiceStartedRef.current && (isOutgoingCall || isCallJoined);
|
|
92
88
|
(0, _react.useEffect)(() => {
|
|
93
89
|
if (_reactNative.Platform.OS === 'ios' || !activeCallCid) {
|
|
94
90
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_videoReactBindings","require","_react","_utils","_reactNative","_videoClient","_notifee","
|
|
1
|
+
{"version":3,"names":["_videoReactBindings","require","_react","_utils","_reactNative","_videoClient","_notifee","notifeeLib","getNotifeeLibNoThrowForKeepCallAlive","setForegroundService","default","registerForegroundService","Promise","logger","getLogger","startForegroundService","call_cid","foregroundServiceConfig","StreamVideoRN","getConfig","foregroundService","title","body","android","notificationTexts","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","channelId","channel","id","createChannel","foregroundServiceTypes","getKeepCallAliveForegroundServiceTypes","requestAnimationFrame","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","useRef","call","useCall","activeCallCid","cid","useCallCallingState","useCallStateHooks","callingState","isOutgoingCall","CallingState","RINGING","isCreatedByMe","isCallJoined","JOINED","shouldStartForegroundService","current","useEffect","Platform","OS","run","notifee","displayedNotifications","getDisplayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","then","IDLE","LEFT","exports"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -4,7 +4,6 @@ import { StreamVideoRN } from '../utils';
|
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
5
|
import { CallingState, getLogger } from '@stream-io/video-client';
|
|
6
6
|
import { getNotifeeLibNoThrowForKeepCallAlive, getKeepCallAliveForegroundServiceTypes } from '../utils/push/libs/notifee';
|
|
7
|
-
import { usePrevious } from '../utils/hooks';
|
|
8
7
|
const notifeeLib = getNotifeeLibNoThrowForKeepCallAlive();
|
|
9
8
|
function setForegroundService() {
|
|
10
9
|
notifeeLib?.default.registerForegroundService(() => {
|
|
@@ -77,12 +76,9 @@ export const useAndroidKeepCallAliveEffect = () => {
|
|
|
77
76
|
useCallCallingState
|
|
78
77
|
} = useCallStateHooks();
|
|
79
78
|
const callingState = useCallCallingState();
|
|
80
|
-
const prevCallingState = usePrevious(callingState);
|
|
81
|
-
const isStartingToJoin = prevCallingState === CallingState.IDLE && callingState === CallingState.JOINING;
|
|
82
|
-
const isStartingToJoinFromRinging = prevCallingState === CallingState.RINGING && callingState === CallingState.JOINING;
|
|
83
79
|
const isOutgoingCall = callingState === CallingState.RINGING && call?.isCreatedByMe;
|
|
84
80
|
const isCallJoined = callingState === CallingState.JOINED;
|
|
85
|
-
const shouldStartForegroundService =
|
|
81
|
+
const shouldStartForegroundService = !foregroundServiceStartedRef.current && (isOutgoingCall || isCallJoined);
|
|
86
82
|
useEffect(() => {
|
|
87
83
|
if (Platform.OS === 'ios' || !activeCallCid) {
|
|
88
84
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","Platform","CallingState","getLogger","getNotifeeLibNoThrowForKeepCallAlive","getKeepCallAliveForegroundServiceTypes","
|
|
1
|
+
{"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","Platform","CallingState","getLogger","getNotifeeLibNoThrowForKeepCallAlive","getKeepCallAliveForegroundServiceTypes","notifeeLib","setForegroundService","default","registerForegroundService","Promise","logger","startForegroundService","call_cid","foregroundServiceConfig","getConfig","foregroundService","title","body","android","notificationTexts","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","channelId","channel","id","createChannel","foregroundServiceTypes","requestAnimationFrame","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","call","activeCallCid","cid","useCallCallingState","callingState","isOutgoingCall","RINGING","isCreatedByMe","isCallJoined","JOINED","shouldStartForegroundService","current","OS","run","notifee","displayedNotifications","getDisplayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","then","IDLE","LEFT"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.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.15';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AAqEA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YAwFzC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClientPublishOptions, StreamVideoClient } from '@stream-io/video-client';
|
|
2
2
|
import type { AndroidChannel } from '@notifee/react-native';
|
|
3
|
-
export type NonRingingPushEvent = 'call.live_started' | 'call.notification';
|
|
3
|
+
export type NonRingingPushEvent = 'call.live_started' | 'call.notification' | 'call.missed';
|
|
4
4
|
export type StreamVideoConfig = {
|
|
5
5
|
/**
|
|
6
6
|
* The configuration to be used for push notifications.
|
|
@@ -70,12 +70,18 @@ export type StreamVideoConfig = {
|
|
|
70
70
|
* getTitle(type, createdUserName) {
|
|
71
71
|
if (type === 'call.live_started') {
|
|
72
72
|
return `Call went live, it was started by ${createdUserName}`;
|
|
73
|
+
} else if (type === 'call.missed') {
|
|
74
|
+
return `Missed call from ${createdUserName}`;
|
|
73
75
|
} else {
|
|
74
76
|
return `${createdUserName} is notifying you about a call`;
|
|
75
77
|
}
|
|
76
78
|
},
|
|
77
|
-
getBody(
|
|
78
|
-
|
|
79
|
+
getBody(type, _createdUserName) {
|
|
80
|
+
if (type === 'call.missed') {
|
|
81
|
+
return 'Missed call!';
|
|
82
|
+
} else {
|
|
83
|
+
return 'Tap to open the call';
|
|
84
|
+
}
|
|
79
85
|
},
|
|
80
86
|
*/
|
|
81
87
|
callNotificationTextGetters?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;QACtC,GAAG,EAAE;YACH;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,OAAO,EAAE;YACP;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B;;;;;;;;;eASG;YACH,WAAW,CAAC,EAAE,cAAc,CAAC;YAC7B;;;;;;;;;eASG;YACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;YACrC;;;;;;;eAOG;YACH,mCAAmC,CAAC,EAAE;gBACpC,QAAQ,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;gBAC9C,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aAC9C,CAAC;YACF;;;;;;;;;;;;;;;;;;;eAmBG;YACH,2BAA2B,CAAC,EAAE;gBAC5B,QAAQ,EAAE,CACR,IAAI,EAAE,mBAAmB,EACzB,eAAe,EAAE,MAAM,KACpB,MAAM,CAAC;gBACZ,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aACzE,CAAC;SACH,CAAC;QACF;;;;;;;;;;;;;;;;;WAiBG;QACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;QACtE;yJACiJ;QACjJ,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;QAChC;yJACiJ;QACjJ,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;QACpC,8EAA8E;QAC9E,+BAA+B,CAAC,EAAE,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;KACX,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP;;eAEG;YACH,OAAO,EAAE,cAAc,CAAC;YACxB;;eAEG;YACH,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.9.
|
|
1
|
+
export declare const version = "1.9.15";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -9,6 +9,8 @@ const addNewLinesToAppDelegate_1 = __importDefault(require("./common/addNewLines
|
|
|
9
9
|
const DID_FINISH_LAUNCHING_WITH_OPTIONS = 'application:didFinishLaunchingWithOptions:';
|
|
10
10
|
const DID_UPDATE_PUSH_CREDENTIALS = 'pushRegistry:didUpdatePushCredentials:forType:';
|
|
11
11
|
const DID_RECEIVE_INCOMING_PUSH = 'pushRegistry:didReceiveIncomingPushWithPayload:forType:withCompletionHandler:';
|
|
12
|
+
const DID_ACTIVATE_AUDIO_SESSION = 'provider:didActivateAudioSession:audioSession';
|
|
13
|
+
const DID_DEACTIVATE_AUDIO_SESSION = 'provider:didDeactivateAudioSession:audioSession';
|
|
12
14
|
const withAppDelegate = (configuration, props) => {
|
|
13
15
|
return (0, config_plugins_1.withAppDelegate)(configuration, (config) => {
|
|
14
16
|
if (!props?.ringingPushNotifications &&
|
|
@@ -25,10 +27,12 @@ const withAppDelegate = (configuration, props) => {
|
|
|
25
27
|
'<PushKit/PushKit.h>',
|
|
26
28
|
'"RNVoipPushNotificationManager.h"',
|
|
27
29
|
'"StreamVideoReactNative.h"',
|
|
30
|
+
'<WebRTC/RTCAudioSession.h>',
|
|
28
31
|
]);
|
|
29
32
|
config.modResults.contents = addDidFinishLaunchingWithOptionsRinging(config.modResults.contents, props.ringingPushNotifications);
|
|
30
33
|
config.modResults.contents = addDidUpdatePushCredentials(config.modResults.contents);
|
|
31
34
|
config.modResults.contents = addDidReceiveIncomingPushCallback(config.modResults.contents);
|
|
35
|
+
config.modResults.contents = addAudioSessionMethods(config.modResults.contents);
|
|
32
36
|
}
|
|
33
37
|
config.modResults.contents = addDidFinishLaunchingWithOptions(config.modResults.contents, props.iOSEnableMultitaskingCameraAccess);
|
|
34
38
|
return config;
|
|
@@ -93,6 +97,37 @@ function addDidUpdatePushCredentials(contents) {
|
|
|
93
97
|
}
|
|
94
98
|
return contents;
|
|
95
99
|
}
|
|
100
|
+
function addAudioSessionMethods(contents) {
|
|
101
|
+
const audioSessionDidActivateMethod = '[[RTCAudioSession sharedInstance] audioSessionDidActivate:[AVAudioSession sharedInstance]];';
|
|
102
|
+
if (!contents.includes(audioSessionDidActivateMethod)) {
|
|
103
|
+
const codeblock = (0, codeMod_1.findObjcFunctionCodeBlock)(contents, DID_ACTIVATE_AUDIO_SESSION);
|
|
104
|
+
if (!codeblock) {
|
|
105
|
+
contents = (0, addNewLinesToAppDelegate_1.default)(contents, [
|
|
106
|
+
'- (void) provider:(CXProvider *) provider didActivateAudioSession:(AVAudioSession *) audioSession {',
|
|
107
|
+
' ' /* indentation */ + audioSessionDidActivateMethod,
|
|
108
|
+
'}',
|
|
109
|
+
]);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
contents = (0, codeMod_1.insertContentsInsideObjcFunctionBlock)(contents, DID_ACTIVATE_AUDIO_SESSION, audioSessionDidActivateMethod, { position: 'tail' });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const audioSessionDidDeactivateMethod = '[[RTCAudioSession sharedInstance] audioSessionDidDeactivate:[AVAudioSession sharedInstance]];';
|
|
116
|
+
if (!contents.includes(audioSessionDidDeactivateMethod)) {
|
|
117
|
+
const codeblock = (0, codeMod_1.findObjcFunctionCodeBlock)(contents, DID_DEACTIVATE_AUDIO_SESSION);
|
|
118
|
+
if (!codeblock) {
|
|
119
|
+
contents = (0, addNewLinesToAppDelegate_1.default)(contents, [
|
|
120
|
+
'- (void) provider:(CXProvider *) provider didDeactivateAudioSession:(AVAudioSession *) audioSession {',
|
|
121
|
+
' ' /* indentation */ + audioSessionDidDeactivateMethod,
|
|
122
|
+
'}',
|
|
123
|
+
]);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
contents = (0, codeMod_1.insertContentsInsideObjcFunctionBlock)(contents, DID_DEACTIVATE_AUDIO_SESSION, audioSessionDidDeactivateMethod, { position: 'tail' });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return contents;
|
|
130
|
+
}
|
|
96
131
|
function addDidReceiveIncomingPushCallback(contents) {
|
|
97
132
|
const onIncomingPush = `
|
|
98
133
|
// send event to JS
|
package/package.json
CHANGED
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
getNotifeeLibNoThrowForKeepCallAlive,
|
|
8
8
|
getKeepCallAliveForegroundServiceTypes,
|
|
9
9
|
} from '../utils/push/libs/notifee';
|
|
10
|
-
import { usePrevious } from '../utils/hooks';
|
|
11
10
|
|
|
12
11
|
const notifeeLib = getNotifeeLibNoThrowForKeepCallAlive();
|
|
13
12
|
|
|
@@ -86,23 +85,12 @@ export const useAndroidKeepCallAliveEffect = () => {
|
|
|
86
85
|
const { useCallCallingState } = useCallStateHooks();
|
|
87
86
|
const callingState = useCallCallingState();
|
|
88
87
|
|
|
89
|
-
const prevCallingState = usePrevious(callingState);
|
|
90
|
-
|
|
91
|
-
const isStartingToJoin =
|
|
92
|
-
prevCallingState === CallingState.IDLE &&
|
|
93
|
-
callingState === CallingState.JOINING;
|
|
94
|
-
const isStartingToJoinFromRinging =
|
|
95
|
-
prevCallingState === CallingState.RINGING &&
|
|
96
|
-
callingState === CallingState.JOINING;
|
|
97
88
|
const isOutgoingCall =
|
|
98
89
|
callingState === CallingState.RINGING && call?.isCreatedByMe;
|
|
99
90
|
const isCallJoined = callingState === CallingState.JOINED;
|
|
100
91
|
|
|
101
92
|
const shouldStartForegroundService =
|
|
102
|
-
|
|
103
|
-
isStartingToJoinFromRinging ||
|
|
104
|
-
isOutgoingCall ||
|
|
105
|
-
isCallJoined;
|
|
93
|
+
!foregroundServiceStartedRef.current && (isOutgoingCall || isCallJoined);
|
|
106
94
|
|
|
107
95
|
useEffect((): (() => void) | undefined => {
|
|
108
96
|
if (Platform.OS === 'ios' || !activeCallCid) {
|
|
@@ -4,7 +4,10 @@ import {
|
|
|
4
4
|
} from '@stream-io/video-client';
|
|
5
5
|
import type { AndroidChannel } from '@notifee/react-native';
|
|
6
6
|
|
|
7
|
-
export type NonRingingPushEvent =
|
|
7
|
+
export type NonRingingPushEvent =
|
|
8
|
+
| 'call.live_started'
|
|
9
|
+
| 'call.notification'
|
|
10
|
+
| 'call.missed';
|
|
8
11
|
|
|
9
12
|
export type StreamVideoConfig = {
|
|
10
13
|
/**
|
|
@@ -75,12 +78,18 @@ export type StreamVideoConfig = {
|
|
|
75
78
|
* getTitle(type, createdUserName) {
|
|
76
79
|
if (type === 'call.live_started') {
|
|
77
80
|
return `Call went live, it was started by ${createdUserName}`;
|
|
81
|
+
} else if (type === 'call.missed') {
|
|
82
|
+
return `Missed call from ${createdUserName}`;
|
|
78
83
|
} else {
|
|
79
84
|
return `${createdUserName} is notifying you about a call`;
|
|
80
85
|
}
|
|
81
86
|
},
|
|
82
|
-
getBody(
|
|
83
|
-
|
|
87
|
+
getBody(type, _createdUserName) {
|
|
88
|
+
if (type === 'call.missed') {
|
|
89
|
+
return 'Missed call!';
|
|
90
|
+
} else {
|
|
91
|
+
return 'Tap to open the call';
|
|
92
|
+
}
|
|
84
93
|
},
|
|
85
94
|
*/
|
|
86
95
|
callNotificationTextGetters?: {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '1.9.
|
|
1
|
+
export const version = '1.9.15';
|