@stream-io/video-react-native-sdk 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +24 -17
  3. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  4. package/dist/commonjs/utils/hooks/usePrevious.js.map +1 -1
  5. package/dist/commonjs/utils/push/ios.js +3 -2
  6. package/dist/commonjs/utils/push/ios.js.map +1 -1
  7. package/dist/commonjs/utils/push/utils.js +5 -3
  8. package/dist/commonjs/utils/push/utils.js.map +1 -1
  9. package/dist/commonjs/version.js +1 -1
  10. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +24 -17
  11. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  12. package/dist/module/utils/hooks/usePrevious.js.map +1 -1
  13. package/dist/module/utils/push/ios.js +3 -2
  14. package/dist/module/utils/push/ios.js.map +1 -1
  15. package/dist/module/utils/push/utils.js +5 -3
  16. package/dist/module/utils/push/utils.js.map +1 -1
  17. package/dist/module/version.js +1 -1
  18. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
  19. package/dist/typescript/utils/hooks/usePrevious.d.ts +1 -1
  20. package/dist/typescript/utils/hooks/usePrevious.d.ts.map +1 -1
  21. package/dist/typescript/utils/push/ios.d.ts.map +1 -1
  22. package/dist/typescript/utils/push/utils.d.ts +1 -1
  23. package/dist/typescript/utils/push/utils.d.ts.map +1 -1
  24. package/dist/typescript/version.d.ts +1 -1
  25. package/package.json +3 -3
  26. package/src/hooks/useAndroidKeepCallAliveEffect.ts +39 -19
  27. package/src/utils/hooks/usePrevious.ts +1 -1
  28. package/src/utils/push/ios.ts +9 -3
  29. package/src/utils/push/utils.ts +10 -4
  30. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.7.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.6.1...@stream-io/video-react-native-sdk-1.7.0) (2025-01-08)
6
+
7
+
8
+ ### Features
9
+
10
+ * update peer deps and sample app to webrtc v125 ([#1638](https://github.com/GetStream/stream-video-js/issues/1638)) ([2b9074f](https://github.com/GetStream/stream-video-js/commit/2b9074f8fdb857699fa5fa429be424dc0496363e))
11
+
12
+ ## [1.6.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.6.0...@stream-io/video-react-native-sdk-1.6.1) (2025-01-06)
13
+
14
+
15
+ * **rn-video:** upgrade to expo ver 52 ([#1630](https://github.com/GetStream/stream-video-js/issues/1630)) ([7eec9b0](https://github.com/GetStream/stream-video-js/commit/7eec9b0616a6c8f397a00d0c48da8932fd2b7dfc))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * foreground service cannot be started in background exception ([#1635](https://github.com/GetStream/stream-video-js/issues/1635)) ([bb82021](https://github.com/GetStream/stream-video-js/commit/bb820214b85e08c7be726e0da27b6739681e07e2))
21
+
5
22
  ## [1.6.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.5.2...@stream-io/video-react-native-sdk-1.6.0) (2025-01-02)
6
23
 
7
24
  ### Dependency Updates
@@ -10,6 +10,7 @@ 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");
13
14
  const notifeeLib = (0, _notifee.getNotifeeLibNoThrowForKeepCallAlive)();
14
15
  function setForegroundService() {
15
16
  notifeeLib?.default.registerForegroundService(() => {
@@ -26,7 +27,7 @@ async function startForegroundService(call_cid) {
26
27
  body
27
28
  } = foregroundServiceConfig.android.notificationTexts;
28
29
 
29
- // request for notification permission and then start the foreground service
30
+ // check for notification permission and then start the foreground service
30
31
  if (!notifeeLib) return;
31
32
  const settings = await notifeeLib.default.getNotificationSettings();
32
33
  if (settings.authorizationStatus !== notifeeLib.AuthorizationStatus.AUTHORIZED) {
@@ -71,11 +72,18 @@ const useAndroidKeepCallAliveEffect = () => {
71
72
  setForegroundService();
72
73
  }
73
74
  const foregroundServiceStartedRef = (0, _react.useRef)(false);
74
- const activeCallCid = (0, _videoReactBindings.useCall)()?.cid;
75
+ const call = (0, _videoReactBindings.useCall)();
76
+ const activeCallCid = call?.cid;
75
77
  const {
76
78
  useCallCallingState
77
79
  } = (0, _videoReactBindings.useCallStateHooks)();
78
80
  const callingState = useCallCallingState();
81
+ const prevCallingState = (0, _hooks.usePrevious)(callingState);
82
+ const isStartingToJoin = prevCallingState === _videoClient.CallingState.IDLE && callingState === _videoClient.CallingState.JOINING;
83
+ const isStartingToJoinFromRinging = prevCallingState === _videoClient.CallingState.RINGING && callingState === _videoClient.CallingState.JOINING;
84
+ const isOutgoingCall = callingState === _videoClient.CallingState.RINGING && call?.isCreatedByMe;
85
+ const isCallJoined = callingState === _videoClient.CallingState.JOINED;
86
+ const shouldStartForegroundService = isStartingToJoin || isStartingToJoinFromRinging || isOutgoingCall || isCallJoined;
79
87
  (0, _react.useEffect)(() => {
80
88
  if (_reactNative.Platform.OS === 'ios' || !activeCallCid) {
81
89
  return;
@@ -83,30 +91,29 @@ const useAndroidKeepCallAliveEffect = () => {
83
91
  if (!notifeeLib) return;
84
92
 
85
93
  // start foreground service as soon as the call is joined
86
- if (callingState === _videoClient.CallingState.JOINED) {
94
+ if (shouldStartForegroundService) {
87
95
  const run = async () => {
88
96
  if (foregroundServiceStartedRef.current) {
89
97
  return;
90
98
  }
91
99
  const notifee = notifeeLib.default;
92
- notifee.getDisplayedNotifications().then(displayedNotifications => {
93
- const activeCallNotification = displayedNotifications.find(notification => notification.id === activeCallCid);
94
- if (activeCallNotification) {
95
- // this means that we have a incoming call notification shown as foreground service and we must stop it
96
- notifee.stopForegroundService();
97
- notifee.cancelDisplayedNotification(activeCallCid);
98
- }
99
- // request for notification permission and then start the foreground service
100
- startForegroundService(activeCallCid).then(() => {
101
- foregroundServiceStartedRef.current = true;
102
- });
100
+ const displayedNotifications = await notifee.getDisplayedNotifications();
101
+ const activeCallNotification = displayedNotifications.find(notification => notification.id === activeCallCid);
102
+ if (activeCallNotification) {
103
+ // this means that we have a incoming call notification shown as foreground service and we must stop it
104
+ notifee.stopForegroundService();
105
+ notifee.cancelDisplayedNotification(activeCallCid);
106
+ }
107
+ // check for notification permission and then start the foreground service
108
+ startForegroundService(activeCallCid).then(() => {
109
+ foregroundServiceStartedRef.current = true;
103
110
  });
104
111
  };
105
112
  run();
106
113
  } else if (callingState === _videoClient.CallingState.RINGING) {
107
- // cancel any notifee displayed notification when the call has transitioned out of ringing
108
114
  return () => {
109
- // cancels the non fg service notifications
115
+ // cancel any notifee displayed notification when the call has transitioned out of ringing
116
+ // NOTE: cancels only the non fg service notifications
110
117
  notifeeLib.default.cancelDisplayedNotification(activeCallCid);
111
118
  };
112
119
  } else if (callingState === _videoClient.CallingState.IDLE || callingState === _videoClient.CallingState.LEFT) {
@@ -124,7 +131,7 @@ const useAndroidKeepCallAliveEffect = () => {
124
131
  });
125
132
  }
126
133
  }
127
- }, [activeCallCid, callingState]);
134
+ }, [activeCallCid, callingState, shouldStartForegroundService]);
128
135
  (0, _react.useEffect)(() => {
129
136
  return () => {
130
137
  // stop foreground service when this effect is unmounted
@@ -1 +1 @@
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","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","useRef","activeCallCid","useCall","cid","useCallCallingState","useCallStateHooks","callingState","useEffect","Platform","OS","CallingState","JOINED","run","current","notifee","getDisplayedNotifications","then","displayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","RINGING","IDLE","LEFT","exports"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_utils","_reactNative","_videoClient","_notifee","_hooks","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","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","useRef","call","useCall","activeCallCid","cid","useCallCallingState","useCallStateHooks","callingState","prevCallingState","usePrevious","isStartingToJoin","CallingState","IDLE","JOINING","isStartingToJoinFromRinging","RINGING","isOutgoingCall","isCreatedByMe","isCallJoined","JOINED","shouldStartForegroundService","useEffect","Platform","OS","run","current","notifee","displayedNotifications","getDisplayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","then","LEFT","exports"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","usePrevious","value","valueRef","useRef","useEffect","current","exports"],"sourceRoot":"../../../../src","sources":["utils/hooks/usePrevious.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAIC,KAAU,IAAK;EACzC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAACF,KAAK,CAAC;EAE9B,IAAAG,gBAAS,EAAC,MAAM;IACdF,QAAQ,CAACG,OAAO,GAAGJ,KAAK;EAC1B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,QAAQ,CAACG,OAAO;AACzB,CAAC;AAACC,OAAA,CAAAN,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","usePrevious","value","valueRef","useRef","useEffect","current","exports"],"sourceRoot":"../../../../src","sources":["utils/hooks/usePrevious.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAOC,KAAQ,IAAK;EAC1C,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAACF,KAAK,CAAC;EAE9B,IAAAG,gBAAS,EAAC,MAAM;IACdF,QAAQ,CAACG,OAAO,GAAGJ,KAAK;EAC1B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,QAAQ,CAACG,OAAO;AACzB,CAAC;AAACC,OAAA,CAAAN,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -33,8 +33,9 @@ function processNonRingingNotificationStreamPayload(streamPayload) {
33
33
  const oniOSExpoNotificationEvent = event => {
34
34
  const pushConfig = _StreamVideoRN.StreamVideoRN.getConfig().push;
35
35
  if (pushConfig) {
36
- if (event.request.trigger.type === 'push') {
37
- const streamPayload = event.request.trigger.payload?.stream;
36
+ const trigger = event.request.trigger;
37
+ if (trigger && typeof trigger === 'object' && 'type' in trigger && trigger.type === 'push' && trigger.payload?.stream) {
38
+ const streamPayload = trigger.payload.stream;
38
39
  processNonRingingNotificationStreamPayload(streamPayload);
39
40
  }
40
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_rxSubjects","_libs","_videoClient","_pushLogoutCallback","_StreamVideoRN","lastApnToken","token","userId","processNonRingingNotificationStreamPayload","streamPayload","sender","type","cid","call_cid","pushNonRingingCallData$","next","oniOSExpoNotificationEvent","event","pushConfig","StreamVideoRN","getConfig","push","request","trigger","payload","stream","exports","oniOSNotifeeEvent","Platform","OS","detail","notifeeLib","getNotifeeLibThrowIfNotInstalledForPush","EventType","PRESS","notification","data","result","onTapNonRingingCallNotification","onPushNotificationiOSStreamVideoEvent","pushNotificationIosLib","getPushNotificationIosLib","getData","isClicked","userInteraction","finish","FetchResult","NoData","initIosNonVoipToken","client","setUnsubscribeListener","ios","pushProviderName","setDeviceToken","streamClient","_user","id","setPushLogoutCallback","removeDevice","err","logger","getLogger","push_provider_name","addDevice","isExpo","expoNotificationsLib","getExpoNotificationsLib","getDevicePushTokenAsync","then","devicePushToken","subscription","addPushTokenListener","remove","addEventListener","removeEventListener"],"sourceRoot":"../../../../src","sources":["utils/push/ios.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_rxSubjects","_libs","_videoClient","_pushLogoutCallback","_StreamVideoRN","lastApnToken","token","userId","processNonRingingNotificationStreamPayload","streamPayload","sender","type","cid","call_cid","pushNonRingingCallData$","next","oniOSExpoNotificationEvent","event","pushConfig","StreamVideoRN","getConfig","push","trigger","request","payload","stream","exports","oniOSNotifeeEvent","Platform","OS","detail","notifeeLib","getNotifeeLibThrowIfNotInstalledForPush","EventType","PRESS","notification","data","result","onTapNonRingingCallNotification","onPushNotificationiOSStreamVideoEvent","pushNotificationIosLib","getPushNotificationIosLib","getData","isClicked","userInteraction","finish","FetchResult","NoData","initIosNonVoipToken","client","setUnsubscribeListener","ios","pushProviderName","setDeviceToken","streamClient","_user","id","setPushLogoutCallback","removeDevice","err","logger","getLogger","push_provider_name","addDevice","isExpo","expoNotificationsLib","getExpoNotificationsLib","getDevicePushTokenAsync","then","devicePushToken","subscription","addPushTokenListener","remove","addEventListener","removeEventListener"],"sourceRoot":"../../../../src","sources":["utils/push/ios.ts"],"mappings":"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","ignoreList":[]}
@@ -20,13 +20,15 @@ function isNotifeeStreamVideoEvent(event) {
20
20
  return notification?.data?.sender === 'stream.video';
21
21
  }
22
22
  function isExpoNotificationStreamVideoEvent(event) {
23
- if (event.request.trigger.type === 'push') {
23
+ const trigger = event.request.trigger;
24
+ if (trigger && typeof trigger === 'object' && 'type' in trigger && trigger.type === 'push') {
24
25
  // iOS
25
- const streamPayload = event.request.trigger.payload?.stream;
26
+ const streamPayload = trigger.payload?.stream;
26
27
  // Android
27
- const remoteMessageData = event.request.trigger.remoteMessage?.data;
28
+ const remoteMessageData = trigger.remoteMessage?.data;
28
29
  return streamPayload?.sender === 'stream.video' || remoteMessageData?.sender === 'stream.video';
29
30
  }
31
+ return false;
30
32
  }
31
33
  function isPushNotificationiOSStreamVideoEvent(notification) {
32
34
  const data = notification.getData();
@@ -1 +1 @@
1
- {"version":3,"names":["isFirebaseStreamVideoMessage","message","data","sender","isNotifeeStreamVideoEvent","event","detail","notification","isExpoNotificationStreamVideoEvent","request","trigger","type","streamPayload","payload","stream","remoteMessageData","remoteMessage","isPushNotificationiOSStreamVideoEvent","getData"],"sourceRoot":"../../../../src","sources":["utils/push/utils.ts"],"mappings":";;;;;;;;;AAcO,SAASA,4BAA4BA,CAC1CC,OAA6C,EAC7C;EACA,OAAOA,OAAO,CAACC,IAAI,EAAEC,MAAM,KAAK,cAAc;AAChD;AAEO,SAASC,yBAAyBA,CAACC,KAAY,EAAE;EACtD,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EACxB,MAAM;IAAEE;EAAa,CAAC,GAAGD,MAAM;EAC/B,OAAOC,YAAY,EAAEL,IAAI,EAAEC,MAAM,KAAK,cAAc;AACtD;AAEO,SAASK,kCAAkCA,CAACH,KAAuB,EAAE;EAC1E,IAAIA,KAAK,CAACI,OAAO,CAACC,OAAO,CAACC,IAAI,KAAK,MAAM,EAAE;IACzC;IACA,MAAMC,aAAa,GAAGP,KAAK,CAACI,OAAO,CAACC,OAAO,CAACG,OAAO,EAC/CC,MAA2B;IAC/B;IACA,MAAMC,iBAAiB,GAAGV,KAAK,CAACI,OAAO,CAACC,OAAO,CAACM,aAAa,EAAEd,IAAI;IACnE,OACEU,aAAa,EAAET,MAAM,KAAK,cAAc,IACxCY,iBAAiB,EAAEZ,MAAM,KAAK,cAAc;EAEhD;AACF;AAEO,SAASc,qCAAqCA,CACnDV,YAAqC,EACrC;EACA,MAAML,IAAI,GAAGK,YAAY,CAACW,OAAO,CAAC,CAAC;EACnC,MAAMN,aAAa,GAAGV,IAAI,EAAEY,MAA2B;EACvD,OAAOF,aAAa,EAAET,MAAM,KAAK,cAAc;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["isFirebaseStreamVideoMessage","message","data","sender","isNotifeeStreamVideoEvent","event","detail","notification","isExpoNotificationStreamVideoEvent","trigger","request","type","streamPayload","payload","stream","remoteMessageData","remoteMessage","isPushNotificationiOSStreamVideoEvent","getData"],"sourceRoot":"../../../../src","sources":["utils/push/utils.ts"],"mappings":";;;;;;;;;AAcO,SAASA,4BAA4BA,CAC1CC,OAA6C,EAC7C;EACA,OAAOA,OAAO,CAACC,IAAI,EAAEC,MAAM,KAAK,cAAc;AAChD;AAEO,SAASC,yBAAyBA,CAACC,KAAY,EAAE;EACtD,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EACxB,MAAM;IAAEE;EAAa,CAAC,GAAGD,MAAM;EAC/B,OAAOC,YAAY,EAAEL,IAAI,EAAEC,MAAM,KAAK,cAAc;AACtD;AAEO,SAASK,kCAAkCA,CAACH,KAAuB,EAAE;EAC1E,MAAMI,OAAO,GAAGJ,KAAK,CAACK,OAAO,CAACD,OAAO;EACrC,IACEA,OAAO,IACP,OAAOA,OAAO,KAAK,QAAQ,IAC3B,MAAM,IAAIA,OAAO,IACjBA,OAAO,CAACE,IAAI,KAAK,MAAM,EACvB;IACA;IACA,MAAMC,aAAa,GAAGH,OAAO,CAACI,OAAO,EAAEC,MAA2B;IAClE;IACA,MAAMC,iBAAiB,GAAGN,OAAO,CAACO,aAAa,EAAEd,IAAI;IACrD,OACEU,aAAa,EAAET,MAAM,KAAK,cAAc,IACxCY,iBAAiB,EAAEZ,MAAM,KAAK,cAAc;EAEhD;EACA,OAAO,KAAK;AACd;AAEO,SAASc,qCAAqCA,CACnDV,YAAqC,EACrC;EACA,MAAML,IAAI,GAAGK,YAAY,CAACW,OAAO,CAAC,CAAC;EACnC,MAAMN,aAAa,GAAGV,IAAI,EAAEY,MAA2B;EACvD,OAAOF,aAAa,EAAET,MAAM,KAAK,cAAc;AACjD","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '1.6.0';
7
+ const version = exports.version = '1.7.0';
8
8
  //# sourceMappingURL=version.js.map
@@ -4,6 +4,7 @@ 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';
7
8
  const notifeeLib = getNotifeeLibNoThrowForKeepCallAlive();
8
9
  function setForegroundService() {
9
10
  notifeeLib?.default.registerForegroundService(() => {
@@ -20,7 +21,7 @@ async function startForegroundService(call_cid) {
20
21
  body
21
22
  } = foregroundServiceConfig.android.notificationTexts;
22
23
 
23
- // request for notification permission and then start the foreground service
24
+ // check for notification permission and then start the foreground service
24
25
  if (!notifeeLib) return;
25
26
  const settings = await notifeeLib.default.getNotificationSettings();
26
27
  if (settings.authorizationStatus !== notifeeLib.AuthorizationStatus.AUTHORIZED) {
@@ -65,11 +66,18 @@ export const useAndroidKeepCallAliveEffect = () => {
65
66
  setForegroundService();
66
67
  }
67
68
  const foregroundServiceStartedRef = useRef(false);
68
- const activeCallCid = useCall()?.cid;
69
+ const call = useCall();
70
+ const activeCallCid = call?.cid;
69
71
  const {
70
72
  useCallCallingState
71
73
  } = useCallStateHooks();
72
74
  const callingState = useCallCallingState();
75
+ const prevCallingState = usePrevious(callingState);
76
+ const isStartingToJoin = prevCallingState === CallingState.IDLE && callingState === CallingState.JOINING;
77
+ const isStartingToJoinFromRinging = prevCallingState === CallingState.RINGING && callingState === CallingState.JOINING;
78
+ const isOutgoingCall = callingState === CallingState.RINGING && call?.isCreatedByMe;
79
+ const isCallJoined = callingState === CallingState.JOINED;
80
+ const shouldStartForegroundService = isStartingToJoin || isStartingToJoinFromRinging || isOutgoingCall || isCallJoined;
73
81
  useEffect(() => {
74
82
  if (Platform.OS === 'ios' || !activeCallCid) {
75
83
  return;
@@ -77,30 +85,29 @@ export const useAndroidKeepCallAliveEffect = () => {
77
85
  if (!notifeeLib) return;
78
86
 
79
87
  // start foreground service as soon as the call is joined
80
- if (callingState === CallingState.JOINED) {
88
+ if (shouldStartForegroundService) {
81
89
  const run = async () => {
82
90
  if (foregroundServiceStartedRef.current) {
83
91
  return;
84
92
  }
85
93
  const notifee = notifeeLib.default;
86
- notifee.getDisplayedNotifications().then(displayedNotifications => {
87
- const activeCallNotification = displayedNotifications.find(notification => notification.id === activeCallCid);
88
- if (activeCallNotification) {
89
- // this means that we have a incoming call notification shown as foreground service and we must stop it
90
- notifee.stopForegroundService();
91
- notifee.cancelDisplayedNotification(activeCallCid);
92
- }
93
- // request for notification permission and then start the foreground service
94
- startForegroundService(activeCallCid).then(() => {
95
- foregroundServiceStartedRef.current = true;
96
- });
94
+ const displayedNotifications = await notifee.getDisplayedNotifications();
95
+ const activeCallNotification = displayedNotifications.find(notification => notification.id === activeCallCid);
96
+ if (activeCallNotification) {
97
+ // this means that we have a incoming call notification shown as foreground service and we must stop it
98
+ notifee.stopForegroundService();
99
+ notifee.cancelDisplayedNotification(activeCallCid);
100
+ }
101
+ // check for notification permission and then start the foreground service
102
+ startForegroundService(activeCallCid).then(() => {
103
+ foregroundServiceStartedRef.current = true;
97
104
  });
98
105
  };
99
106
  run();
100
107
  } else if (callingState === CallingState.RINGING) {
101
- // cancel any notifee displayed notification when the call has transitioned out of ringing
102
108
  return () => {
103
- // cancels the non fg service notifications
109
+ // cancel any notifee displayed notification when the call has transitioned out of ringing
110
+ // NOTE: cancels only the non fg service notifications
104
111
  notifeeLib.default.cancelDisplayedNotification(activeCallCid);
105
112
  };
106
113
  } else if (callingState === CallingState.IDLE || callingState === CallingState.LEFT) {
@@ -118,7 +125,7 @@ export const useAndroidKeepCallAliveEffect = () => {
118
125
  });
119
126
  }
120
127
  }
121
- }, [activeCallCid, callingState]);
128
+ }, [activeCallCid, callingState, shouldStartForegroundService]);
122
129
  useEffect(() => {
123
130
  return () => {
124
131
  // stop foreground service when this effect is unmounted
@@ -1 +1 @@
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","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","activeCallCid","cid","useCallCallingState","callingState","OS","JOINED","run","current","notifee","getDisplayedNotifications","then","displayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","RINGING","IDLE","LEFT"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","Platform","CallingState","getLogger","getNotifeeLibNoThrowForKeepCallAlive","getKeepCallAliveForegroundServiceTypes","usePrevious","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","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","call","activeCallCid","cid","useCallCallingState","callingState","prevCallingState","isStartingToJoin","IDLE","JOINING","isStartingToJoinFromRinging","RINGING","isOutgoingCall","isCreatedByMe","isCallJoined","JOINED","shouldStartForegroundService","OS","run","current","notifee","displayedNotifications","getDisplayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","then","LEFT"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","usePrevious","value","valueRef","current"],"sourceRoot":"../../../../src","sources":["utils/hooks/usePrevious.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,OAAO,MAAMC,WAAW,GAAIC,KAAU,IAAK;EACzC,MAAMC,QAAQ,GAAGH,MAAM,CAACE,KAAK,CAAC;EAE9BH,SAAS,CAAC,MAAM;IACdI,QAAQ,CAACC,OAAO,GAAGF,KAAK;EAC1B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,QAAQ,CAACC,OAAO;AACzB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","usePrevious","value","valueRef","current"],"sourceRoot":"../../../../src","sources":["utils/hooks/usePrevious.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,OAAO,MAAMC,WAAW,GAAOC,KAAQ,IAAK;EAC1C,MAAMC,QAAQ,GAAGH,MAAM,CAACE,KAAK,CAAC;EAE9BH,SAAS,CAAC,MAAM;IACdI,QAAQ,CAACC,OAAO,GAAGF,KAAK;EAC1B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,QAAQ,CAACC,OAAO;AACzB,CAAC","ignoreList":[]}
@@ -25,8 +25,9 @@ function processNonRingingNotificationStreamPayload(streamPayload) {
25
25
  export const oniOSExpoNotificationEvent = event => {
26
26
  const pushConfig = StreamVideoRN.getConfig().push;
27
27
  if (pushConfig) {
28
- if (event.request.trigger.type === 'push') {
29
- const streamPayload = event.request.trigger.payload?.stream;
28
+ const trigger = event.request.trigger;
29
+ if (trigger && typeof trigger === 'object' && 'type' in trigger && trigger.type === 'push' && trigger.payload?.stream) {
30
+ const streamPayload = trigger.payload.stream;
30
31
  processNonRingingNotificationStreamPayload(streamPayload);
31
32
  }
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","pushNonRingingCallData$","getExpoNotificationsLib","getNotifeeLibThrowIfNotInstalledForPush","getPushNotificationIosLib","getLogger","setPushLogoutCallback","StreamVideoRN","lastApnToken","token","userId","processNonRingingNotificationStreamPayload","streamPayload","sender","type","cid","call_cid","next","oniOSExpoNotificationEvent","event","pushConfig","getConfig","push","request","trigger","payload","stream","oniOSNotifeeEvent","OS","detail","notifeeLib","EventType","PRESS","notification","data","result","onTapNonRingingCallNotification","onPushNotificationiOSStreamVideoEvent","pushNotificationIosLib","getData","isClicked","userInteraction","finish","FetchResult","NoData","initIosNonVoipToken","client","setUnsubscribeListener","ios","pushProviderName","setDeviceToken","streamClient","_user","id","removeDevice","err","logger","push_provider_name","addDevice","isExpo","expoNotificationsLib","getDevicePushTokenAsync","then","devicePushToken","subscription","addPushTokenListener","remove","addEventListener","removeEventListener"],"sourceRoot":"../../../../src","sources":["utils/push/ios.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","pushNonRingingCallData$","getExpoNotificationsLib","getNotifeeLibThrowIfNotInstalledForPush","getPushNotificationIosLib","getLogger","setPushLogoutCallback","StreamVideoRN","lastApnToken","token","userId","processNonRingingNotificationStreamPayload","streamPayload","sender","type","cid","call_cid","next","oniOSExpoNotificationEvent","event","pushConfig","getConfig","push","trigger","request","payload","stream","oniOSNotifeeEvent","OS","detail","notifeeLib","EventType","PRESS","notification","data","result","onTapNonRingingCallNotification","onPushNotificationiOSStreamVideoEvent","pushNotificationIosLib","getData","isClicked","userInteraction","finish","FetchResult","NoData","initIosNonVoipToken","client","setUnsubscribeListener","ios","pushProviderName","setDeviceToken","streamClient","_user","id","removeDevice","err","logger","push_provider_name","addDevice","isExpo","expoNotificationsLib","getDevicePushTokenAsync","then","devicePushToken","subscription","addPushTokenListener","remove","addEventListener","removeEventListener"],"sourceRoot":"../../../../src","sources":["utils/push/ios.ts"],"mappings":"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","ignoreList":[]}
@@ -11,13 +11,15 @@ export function isNotifeeStreamVideoEvent(event) {
11
11
  return notification?.data?.sender === 'stream.video';
12
12
  }
13
13
  export function isExpoNotificationStreamVideoEvent(event) {
14
- if (event.request.trigger.type === 'push') {
14
+ const trigger = event.request.trigger;
15
+ if (trigger && typeof trigger === 'object' && 'type' in trigger && trigger.type === 'push') {
15
16
  // iOS
16
- const streamPayload = event.request.trigger.payload?.stream;
17
+ const streamPayload = trigger.payload?.stream;
17
18
  // Android
18
- const remoteMessageData = event.request.trigger.remoteMessage?.data;
19
+ const remoteMessageData = trigger.remoteMessage?.data;
19
20
  return streamPayload?.sender === 'stream.video' || remoteMessageData?.sender === 'stream.video';
20
21
  }
22
+ return false;
21
23
  }
22
24
  export function isPushNotificationiOSStreamVideoEvent(notification) {
23
25
  const data = notification.getData();
@@ -1 +1 @@
1
- {"version":3,"names":["isFirebaseStreamVideoMessage","message","data","sender","isNotifeeStreamVideoEvent","event","detail","notification","isExpoNotificationStreamVideoEvent","request","trigger","type","streamPayload","payload","stream","remoteMessageData","remoteMessage","isPushNotificationiOSStreamVideoEvent","getData"],"sourceRoot":"../../../../src","sources":["utils/push/utils.ts"],"mappings":"AAcA,OAAO,SAASA,4BAA4BA,CAC1CC,OAA6C,EAC7C;EACA,OAAOA,OAAO,CAACC,IAAI,EAAEC,MAAM,KAAK,cAAc;AAChD;AAEA,OAAO,SAASC,yBAAyBA,CAACC,KAAY,EAAE;EACtD,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EACxB,MAAM;IAAEE;EAAa,CAAC,GAAGD,MAAM;EAC/B,OAAOC,YAAY,EAAEL,IAAI,EAAEC,MAAM,KAAK,cAAc;AACtD;AAEA,OAAO,SAASK,kCAAkCA,CAACH,KAAuB,EAAE;EAC1E,IAAIA,KAAK,CAACI,OAAO,CAACC,OAAO,CAACC,IAAI,KAAK,MAAM,EAAE;IACzC;IACA,MAAMC,aAAa,GAAGP,KAAK,CAACI,OAAO,CAACC,OAAO,CAACG,OAAO,EAC/CC,MAA2B;IAC/B;IACA,MAAMC,iBAAiB,GAAGV,KAAK,CAACI,OAAO,CAACC,OAAO,CAACM,aAAa,EAAEd,IAAI;IACnE,OACEU,aAAa,EAAET,MAAM,KAAK,cAAc,IACxCY,iBAAiB,EAAEZ,MAAM,KAAK,cAAc;EAEhD;AACF;AAEA,OAAO,SAASc,qCAAqCA,CACnDV,YAAqC,EACrC;EACA,MAAML,IAAI,GAAGK,YAAY,CAACW,OAAO,CAAC,CAAC;EACnC,MAAMN,aAAa,GAAGV,IAAI,EAAEY,MAA2B;EACvD,OAAOF,aAAa,EAAET,MAAM,KAAK,cAAc;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["isFirebaseStreamVideoMessage","message","data","sender","isNotifeeStreamVideoEvent","event","detail","notification","isExpoNotificationStreamVideoEvent","trigger","request","type","streamPayload","payload","stream","remoteMessageData","remoteMessage","isPushNotificationiOSStreamVideoEvent","getData"],"sourceRoot":"../../../../src","sources":["utils/push/utils.ts"],"mappings":"AAcA,OAAO,SAASA,4BAA4BA,CAC1CC,OAA6C,EAC7C;EACA,OAAOA,OAAO,CAACC,IAAI,EAAEC,MAAM,KAAK,cAAc;AAChD;AAEA,OAAO,SAASC,yBAAyBA,CAACC,KAAY,EAAE;EACtD,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EACxB,MAAM;IAAEE;EAAa,CAAC,GAAGD,MAAM;EAC/B,OAAOC,YAAY,EAAEL,IAAI,EAAEC,MAAM,KAAK,cAAc;AACtD;AAEA,OAAO,SAASK,kCAAkCA,CAACH,KAAuB,EAAE;EAC1E,MAAMI,OAAO,GAAGJ,KAAK,CAACK,OAAO,CAACD,OAAO;EACrC,IACEA,OAAO,IACP,OAAOA,OAAO,KAAK,QAAQ,IAC3B,MAAM,IAAIA,OAAO,IACjBA,OAAO,CAACE,IAAI,KAAK,MAAM,EACvB;IACA;IACA,MAAMC,aAAa,GAAGH,OAAO,CAACI,OAAO,EAAEC,MAA2B;IAClE;IACA,MAAMC,iBAAiB,GAAGN,OAAO,CAACO,aAAa,EAAEd,IAAI;IACrD,OACEU,aAAa,EAAET,MAAM,KAAK,cAAc,IACxCY,iBAAiB,EAAEZ,MAAM,KAAK,cAAc;EAEhD;EACA,OAAO,KAAK;AACd;AAEA,OAAO,SAASc,qCAAqCA,CACnDV,YAAqC,EACrC;EACA,MAAML,IAAI,GAAGK,YAAY,CAACW,OAAO,CAAC,CAAC;EACnC,MAAMN,aAAa,GAAGV,IAAI,EAAEY,MAA2B;EACvD,OAAOF,aAAa,EAAET,MAAM,KAAK,cAAc;AACjD","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.6.0';
1
+ export const version = '1.7.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AAgEA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YAgFzC,CAAC"}
1
+ {"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AAiEA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YAmGzC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const usePrevious: (value: any) => any;
1
+ export declare const usePrevious: <T>(value: T) => T;
2
2
  //# sourceMappingURL=usePrevious.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../../../src/utils/hooks/usePrevious.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,UAAW,GAAG,QAQrC,CAAC"}
1
+ {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../../../src/utils/hooks/usePrevious.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,CAAC,MAQtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/ios.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EACL,gBAAgB,EAIhB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,iBAAiB,EAAa,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,KAAK,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAkBzD,eAAO,MAAM,0BAA0B,UAAW,gBAAgB,SASjE,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAE3B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACvB,SAcA,CAAC;AAEF,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,uBAAuB,QAiBtC;AAED,2BAA2B;AAC3B,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,iBAiD1D"}
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/ios.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EACL,gBAAgB,EAIhB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,iBAAiB,EAAa,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,KAAK,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAkBzD,eAAO,MAAM,0BAA0B,UAAW,gBAAgB,SAejE,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAE3B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACvB,SAcA,CAAC;AAEF,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,uBAAuB,QAiBtC;AAED,2BAA2B;AAC3B,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,iBAiD1D"}
@@ -10,6 +10,6 @@ export type StreamPushPayload = {
10
10
  } | undefined;
11
11
  export declare function isFirebaseStreamVideoMessage(message: FirebaseMessagingTypes.RemoteMessage): boolean;
12
12
  export declare function isNotifeeStreamVideoEvent(event: Event): boolean;
13
- export declare function isExpoNotificationStreamVideoEvent(event: ExpoNotification): boolean | undefined;
13
+ export declare function isExpoNotificationStreamVideoEvent(event: ExpoNotification): boolean;
14
14
  export declare function isPushNotificationiOSStreamVideoEvent(notification: PushNotificationiOSType): boolean;
15
15
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,mBAAmB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB,GACD,SAAS,CAAC;AAEd,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,sBAAsB,CAAC,aAAa,WAG9C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAIrD;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,gBAAgB,uBAYzE;AAED,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,uBAAuB,WAKtC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,mBAAmB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB,GACD,SAAS,CAAC;AAEd,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,sBAAsB,CAAC,aAAa,WAG9C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAIrD;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,gBAAgB,WAkBzE;AAED,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,uBAAuB,WAKtC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.6.0";
1
+ export declare const version = "1.7.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "module": "dist/module/index.js",
@@ -60,7 +60,7 @@
60
60
  "@react-native-community/push-notification-ios": ">=1.11.0",
61
61
  "@react-native-firebase/app": ">=17.5.0",
62
62
  "@react-native-firebase/messaging": ">=17.5.0",
63
- "@stream-io/react-native-webrtc": "^118.1.0",
63
+ "@stream-io/react-native-webrtc": ">=125.0.3",
64
64
  "@stream-io/video-filters-react-native": ">=0.1.0",
65
65
  "expo": ">=47.0.0",
66
66
  "expo-build-properties": "*",
@@ -135,7 +135,7 @@
135
135
  "expo": "50.0.19",
136
136
  "expo-build-properties": "^0.12.3",
137
137
  "expo-modules-core": "1.12.16",
138
- "expo-notifications": "~0.28.18",
138
+ "expo-notifications": "~0.29.11",
139
139
  "jest": "^29.7.0",
140
140
  "react-native": "0.71.8",
141
141
  "react-native-builder-bob": "^0.23.2",
@@ -7,6 +7,7 @@ import {
7
7
  getNotifeeLibNoThrowForKeepCallAlive,
8
8
  getKeepCallAliveForegroundServiceTypes,
9
9
  } from '../utils/push/libs/notifee';
10
+ import { usePrevious } from '../utils/hooks';
10
11
 
11
12
  const notifeeLib = getNotifeeLibNoThrowForKeepCallAlive();
12
13
 
@@ -23,7 +24,7 @@ async function startForegroundService(call_cid: string) {
23
24
  const foregroundServiceConfig = StreamVideoRN.getConfig().foregroundService;
24
25
  const { title, body } = foregroundServiceConfig.android.notificationTexts;
25
26
 
26
- // request for notification permission and then start the foreground service
27
+ // check for notification permission and then start the foreground service
27
28
  if (!notifeeLib) return;
28
29
  const settings = await notifeeLib.default.getNotificationSettings();
29
30
  if (
@@ -75,10 +76,29 @@ export const useAndroidKeepCallAliveEffect = () => {
75
76
  }
76
77
  const foregroundServiceStartedRef = useRef(false);
77
78
 
78
- const activeCallCid = useCall()?.cid;
79
+ const call = useCall();
80
+ const activeCallCid = call?.cid;
79
81
  const { useCallCallingState } = useCallStateHooks();
80
82
  const callingState = useCallCallingState();
81
83
 
84
+ const prevCallingState = usePrevious(callingState);
85
+
86
+ const isStartingToJoin =
87
+ prevCallingState === CallingState.IDLE &&
88
+ callingState === CallingState.JOINING;
89
+ const isStartingToJoinFromRinging =
90
+ prevCallingState === CallingState.RINGING &&
91
+ callingState === CallingState.JOINING;
92
+ const isOutgoingCall =
93
+ callingState === CallingState.RINGING && call?.isCreatedByMe;
94
+ const isCallJoined = callingState === CallingState.JOINED;
95
+
96
+ const shouldStartForegroundService =
97
+ isStartingToJoin ||
98
+ isStartingToJoinFromRinging ||
99
+ isOutgoingCall ||
100
+ isCallJoined;
101
+
82
102
  useEffect((): (() => void) | undefined => {
83
103
  if (Platform.OS === 'ios' || !activeCallCid) {
84
104
  return;
@@ -86,32 +106,32 @@ export const useAndroidKeepCallAliveEffect = () => {
86
106
  if (!notifeeLib) return;
87
107
 
88
108
  // start foreground service as soon as the call is joined
89
- if (callingState === CallingState.JOINED) {
109
+ if (shouldStartForegroundService) {
90
110
  const run = async () => {
91
111
  if (foregroundServiceStartedRef.current) {
92
112
  return;
93
113
  }
94
114
  const notifee = notifeeLib.default;
95
- notifee.getDisplayedNotifications().then((displayedNotifications) => {
96
- const activeCallNotification = displayedNotifications.find(
97
- (notification) => notification.id === activeCallCid
98
- );
99
- if (activeCallNotification) {
100
- // this means that we have a incoming call notification shown as foreground service and we must stop it
101
- notifee.stopForegroundService();
102
- notifee.cancelDisplayedNotification(activeCallCid);
103
- }
104
- // request for notification permission and then start the foreground service
105
- startForegroundService(activeCallCid).then(() => {
106
- foregroundServiceStartedRef.current = true;
107
- });
115
+ const displayedNotifications =
116
+ await notifee.getDisplayedNotifications();
117
+ const activeCallNotification = displayedNotifications.find(
118
+ (notification) => notification.id === activeCallCid
119
+ );
120
+ if (activeCallNotification) {
121
+ // this means that we have a incoming call notification shown as foreground service and we must stop it
122
+ notifee.stopForegroundService();
123
+ notifee.cancelDisplayedNotification(activeCallCid);
124
+ }
125
+ // check for notification permission and then start the foreground service
126
+ startForegroundService(activeCallCid).then(() => {
127
+ foregroundServiceStartedRef.current = true;
108
128
  });
109
129
  };
110
130
  run();
111
131
  } else if (callingState === CallingState.RINGING) {
112
- // cancel any notifee displayed notification when the call has transitioned out of ringing
113
132
  return () => {
114
- // cancels the non fg service notifications
133
+ // cancel any notifee displayed notification when the call has transitioned out of ringing
134
+ // NOTE: cancels only the non fg service notifications
115
135
  notifeeLib.default.cancelDisplayedNotification(activeCallCid);
116
136
  };
117
137
  } else if (
@@ -136,7 +156,7 @@ export const useAndroidKeepCallAliveEffect = () => {
136
156
  });
137
157
  }
138
158
  }
139
- }, [activeCallCid, callingState]);
159
+ }, [activeCallCid, callingState, shouldStartForegroundService]);
140
160
 
141
161
  useEffect(() => {
142
162
  return () => {
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useRef } from 'react';
2
2
 
3
- export const usePrevious = (value: any) => {
3
+ export const usePrevious = <T>(value: T) => {
4
4
  const valueRef = useRef(value);
5
5
 
6
6
  useEffect(() => {
@@ -35,9 +35,15 @@ function processNonRingingNotificationStreamPayload(
35
35
  export const oniOSExpoNotificationEvent = (event: ExpoNotification) => {
36
36
  const pushConfig = StreamVideoRN.getConfig().push;
37
37
  if (pushConfig) {
38
- if (event.request.trigger.type === 'push') {
39
- const streamPayload = event.request.trigger.payload
40
- ?.stream as StreamPushPayload;
38
+ const trigger = event.request.trigger;
39
+ if (
40
+ trigger &&
41
+ typeof trigger === 'object' &&
42
+ 'type' in trigger &&
43
+ trigger.type === 'push' &&
44
+ trigger.payload?.stream
45
+ ) {
46
+ const streamPayload = trigger.payload.stream as StreamPushPayload;
41
47
  processNonRingingNotificationStreamPayload(streamPayload);
42
48
  }
43
49
  }
@@ -25,17 +25,23 @@ export function isNotifeeStreamVideoEvent(event: Event) {
25
25
  }
26
26
 
27
27
  export function isExpoNotificationStreamVideoEvent(event: ExpoNotification) {
28
- if (event.request.trigger.type === 'push') {
28
+ const trigger = event.request.trigger;
29
+ if (
30
+ trigger &&
31
+ typeof trigger === 'object' &&
32
+ 'type' in trigger &&
33
+ trigger.type === 'push'
34
+ ) {
29
35
  // iOS
30
- const streamPayload = event.request.trigger.payload
31
- ?.stream as StreamPushPayload;
36
+ const streamPayload = trigger.payload?.stream as StreamPushPayload;
32
37
  // Android
33
- const remoteMessageData = event.request.trigger.remoteMessage?.data;
38
+ const remoteMessageData = trigger.remoteMessage?.data;
34
39
  return (
35
40
  streamPayload?.sender === 'stream.video' ||
36
41
  remoteMessageData?.sender === 'stream.video'
37
42
  );
38
43
  }
44
+ return false;
39
45
  }
40
46
 
41
47
  export function isPushNotificationiOSStreamVideoEvent(
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.6.0';
1
+ export const version = '1.7.0';