@stream-io/video-react-native-sdk 1.9.7 → 1.9.9

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 CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.9.9](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.8...@stream-io/video-react-native-sdk-1.9.9) (2025-01-23)
6
+
7
+ ### Dependency Updates
8
+
9
+ * `@stream-io/video-client` updated to version `1.15.4`
10
+ * `@stream-io/video-react-bindings` updated to version `1.4.4`
11
+ ## [1.9.8](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.7...@stream-io/video-react-native-sdk-1.9.8) (2025-01-23)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * unnecessary reject from callkeep ([15aaa0d](https://github.com/GetStream/stream-video-js/commit/15aaa0d79a9d608eff801a2eb1dd913fff19dfd3))
17
+
5
18
  ## [1.9.7](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.9.6...@stream-io/video-react-native-sdk-1.9.7) (2025-01-22)
6
19
 
7
20
 
@@ -17,6 +17,13 @@ const isNonActiveCallingState = callingState => {
17
17
  const isAcceptedCallingState = callingState => {
18
18
  return callingState === _videoClient.CallingState.JOINING || callingState === _videoClient.CallingState.JOINED;
19
19
  };
20
+ const unsubscribeCallkeepEvents = activeCallCid => {
21
+ const voipPushNotificationCallCId = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipPushNotificationCallCId$);
22
+ if (activeCallCid && activeCallCid === voipPushNotificationCallCId) {
23
+ // callkeep events should not be listened anymore so clear the call cid
24
+ _rxSubjects.voipPushNotificationCallCId$.next(undefined);
25
+ }
26
+ };
20
27
 
21
28
  /**
22
29
  * This hook is used to inform the callkeep library that the call has been joined or ended.
@@ -37,6 +44,7 @@ const useIosCallkeepWithCallingStateEffect = () => {
37
44
  const callkeep = (0, _libs.getCallKeepLib)();
38
45
  // if the component is unmounted and the callID was not reported to callkeep, then report it now
39
46
  if (acceptedForegroundCallkeepMap) {
47
+ unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid);
40
48
  // this call should be ended in callkeep
41
49
  callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
42
50
  }
@@ -53,10 +61,12 @@ const useIosCallkeepWithCallingStateEffect = () => {
53
61
  const foregroundIncomingCallkeepMap = _videoClient.RxUtils.getCurrentValue(_rxSubjects.voipCallkeepCallOnForegroundMap$);
54
62
  const callkeep = (0, _libs.getCallKeepLib)();
55
63
  if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
64
+ unsubscribeCallkeepEvents(activeCallCid);
56
65
  callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
57
66
  // no need to keep this reference anymore
58
67
  _rxSubjects.voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
59
68
  } else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
69
+ unsubscribeCallkeepEvents(activeCallCid);
60
70
  callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
61
71
  // no need to keep this reference anymore
62
72
  _rxSubjects.voipCallkeepCallOnForegroundMap$.next(undefined);
@@ -90,6 +100,8 @@ const useIosCallkeepWithCallingStateEffect = () => {
90
100
  */
91
101
  if (isNonActiveCallingState(callingState)) {
92
102
  const callkeep = (0, _libs.getCallKeepLib)();
103
+ unsubscribeCallkeepEvents(activeCallCid);
104
+
93
105
  // this was a previously joined call which had push notification displayed
94
106
  // the call was accepted through the app and not through native dialer
95
107
  // the call was left using the leave button in the app and not through native dialer
@@ -1 +1 @@
1
- {"version":3,"names":["_videoClient","require","_videoReactBindings","_reactNative","_react","_utils","_libs","_rxSubjects","isNonActiveCallingState","callingState","CallingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","useIosCallkeepWithCallingStateEffect","activeCall","useCall","useCallCallingState","useCallStateHooks","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","useState","useEffect","pushConfig","StreamVideoRN","getConfig","push","Platform","OS","callkeep","getCallKeepLib","endCall","uuid","activeCallCid","cid","nativeDialerAcceptedCallMap","RxUtils","getCurrentValue","voipCallkeepAcceptedCallOnNativeDialerMap$","foregroundIncomingCallkeepMap","voipCallkeepCallOnForegroundMap$","next","undefined","foregroundCallkeepMap","answerIncomingCall","exports"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoClient","require","_videoReactBindings","_reactNative","_react","_utils","_libs","_rxSubjects","isNonActiveCallingState","callingState","CallingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","unsubscribeCallkeepEvents","activeCallCid","voipPushNotificationCallCId","RxUtils","getCurrentValue","voipPushNotificationCallCId$","next","undefined","useIosCallkeepWithCallingStateEffect","activeCall","useCall","useCallCallingState","useCallStateHooks","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","useState","useEffect","pushConfig","StreamVideoRN","getConfig","push","Platform","OS","callkeep","getCallKeepLib","cid","endCall","uuid","nativeDialerAcceptedCallMap","voipCallkeepAcceptedCallOnNativeDialerMap$","foregroundIncomingCallkeepMap","voipCallkeepCallOnForegroundMap$","foregroundCallkeepMap","answerIncomingCall","exports"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -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.9.7';
7
+ const version = exports.version = '1.9.9';
8
8
  //# sourceMappingURL=version.js.map
@@ -4,13 +4,20 @@ import { Platform } from 'react-native';
4
4
  import { useEffect, useState } from 'react';
5
5
  import { StreamVideoRN } from '../../utils';
6
6
  import { getCallKeepLib } from '../../utils/push/libs';
7
- import { voipCallkeepAcceptedCallOnNativeDialerMap$, voipCallkeepCallOnForegroundMap$ } from '../../utils/push/internal/rxSubjects';
7
+ import { voipCallkeepAcceptedCallOnNativeDialerMap$, voipCallkeepCallOnForegroundMap$, voipPushNotificationCallCId$ } from '../../utils/push/internal/rxSubjects';
8
8
  const isNonActiveCallingState = callingState => {
9
9
  return callingState === CallingState.IDLE || callingState === CallingState.UNKNOWN || callingState === CallingState.LEFT;
10
10
  };
11
11
  const isAcceptedCallingState = callingState => {
12
12
  return callingState === CallingState.JOINING || callingState === CallingState.JOINED;
13
13
  };
14
+ const unsubscribeCallkeepEvents = activeCallCid => {
15
+ const voipPushNotificationCallCId = RxUtils.getCurrentValue(voipPushNotificationCallCId$);
16
+ if (activeCallCid && activeCallCid === voipPushNotificationCallCId) {
17
+ // callkeep events should not be listened anymore so clear the call cid
18
+ voipPushNotificationCallCId$.next(undefined);
19
+ }
20
+ };
14
21
 
15
22
  /**
16
23
  * This hook is used to inform the callkeep library that the call has been joined or ended.
@@ -31,6 +38,7 @@ export const useIosCallkeepWithCallingStateEffect = () => {
31
38
  const callkeep = getCallKeepLib();
32
39
  // if the component is unmounted and the callID was not reported to callkeep, then report it now
33
40
  if (acceptedForegroundCallkeepMap) {
41
+ unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid);
34
42
  // this call should be ended in callkeep
35
43
  callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
36
44
  }
@@ -47,10 +55,12 @@ export const useIosCallkeepWithCallingStateEffect = () => {
47
55
  const foregroundIncomingCallkeepMap = RxUtils.getCurrentValue(voipCallkeepCallOnForegroundMap$);
48
56
  const callkeep = getCallKeepLib();
49
57
  if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
58
+ unsubscribeCallkeepEvents(activeCallCid);
50
59
  callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
51
60
  // no need to keep this reference anymore
52
61
  voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
53
62
  } else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
63
+ unsubscribeCallkeepEvents(activeCallCid);
54
64
  callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
55
65
  // no need to keep this reference anymore
56
66
  voipCallkeepCallOnForegroundMap$.next(undefined);
@@ -84,6 +94,8 @@ export const useIosCallkeepWithCallingStateEffect = () => {
84
94
  */
85
95
  if (isNonActiveCallingState(callingState)) {
86
96
  const callkeep = getCallKeepLib();
97
+ unsubscribeCallkeepEvents(activeCallCid);
98
+
87
99
  // this was a previously joined call which had push notification displayed
88
100
  // the call was accepted through the app and not through native dialer
89
101
  // the call was left using the leave button in the app and not through native dialer
@@ -1 +1 @@
1
- {"version":3,"names":["CallingState","RxUtils","useCall","useCallStateHooks","Platform","useEffect","useState","StreamVideoRN","getCallKeepLib","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","isNonActiveCallingState","callingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","useIosCallkeepWithCallingStateEffect","activeCall","useCallCallingState","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","pushConfig","getConfig","push","OS","callkeep","endCall","uuid","activeCallCid","cid","nativeDialerAcceptedCallMap","getCurrentValue","foregroundIncomingCallkeepMap","next","undefined","foregroundCallkeepMap","answerIncomingCall"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"mappings":"AAAA,SAASA,YAAY,EAAEC,OAAO,QAAQ,yBAAyB;AAC/D,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SACEC,0CAA0C,EAC1CC,gCAAgC,QAC3B,sCAAsC;AAE7C,MAAMC,uBAAuB,GAAIC,YAA0B,IAAK;EAC9D,OACEA,YAAY,KAAKZ,YAAY,CAACa,IAAI,IAClCD,YAAY,KAAKZ,YAAY,CAACc,OAAO,IACrCF,YAAY,KAAKZ,YAAY,CAACe,IAAI;AAEtC,CAAC;AAED,MAAMC,sBAAsB,GAAIJ,YAA0B,IAAK;EAC7D,OACEA,YAAY,KAAKZ,YAAY,CAACiB,OAAO,IACrCL,YAAY,KAAKZ,YAAY,CAACkB,MAAM;AAExC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,oCAAoC,GAAGA,CAAA,KAAM;EACxD,MAAMC,UAAU,GAAGlB,OAAO,CAAC,CAAC;EAC5B,MAAM;IAAEmB;EAAoB,CAAC,GAAGlB,iBAAiB,CAAC,CAAC;EACnD,MAAMS,YAAY,GAAGS,mBAAmB,CAAC,CAAC;EAC1C,MAAM,CAACC,6BAA6B,EAAEC,gCAAgC,CAAC,GACrEjB,QAAQ,CAGL,CAAC;EAEND,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,MAAMmB,UAAU,GAAGjB,aAAa,CAACkB,SAAS,CAAC,CAAC,CAACC,IAAI;MACjD,IAAItB,QAAQ,CAACuB,EAAE,KAAK,KAAK,IAAI,CAACH,UAAU,EAAE;QACxC;MACF;MACA,MAAMI,QAAQ,GAAGpB,cAAc,CAAC,CAAC;MACjC;MACA,IAAIc,6BAA6B,EAAE;QACjC;QACAM,QAAQ,CAACC,OAAO,CAACP,6BAA6B,CAACQ,IAAI,CAAC;MACtD;IACF,CAAC;EACH,CAAC,EAAE,CAACR,6BAA6B,CAAC,CAAC;EAEnC,MAAMS,aAAa,GAAGX,UAAU,EAAEY,GAAG;EAErC3B,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,MAAMmB,UAAU,GAAGjB,aAAa,CAACkB,SAAS,CAAC,CAAC,CAACC,IAAI;MACjD,IAAItB,QAAQ,CAACuB,EAAE,KAAK,KAAK,IAAI,CAACH,UAAU,IAAI,CAACO,aAAa,EAAE;QAC1D;MACF;MACA,MAAME,2BAA2B,GAAGhC,OAAO,CAACiC,eAAe,CACzDzB,0CACF,CAAC;MACD,MAAM0B,6BAA6B,GAAGlC,OAAO,CAACiC,eAAe,CAC3DxB,gCACF,CAAC;MACD,MAAMkB,QAAQ,GAAGpB,cAAc,CAAC,CAAC;MACjC,IAAIuB,aAAa,KAAKE,2BAA2B,EAAED,GAAG,EAAE;QACtDJ,QAAQ,CAACC,OAAO,CAACI,2BAA2B,CAACH,IAAI,CAAC;QAClD;QACArB,0CAA0C,CAAC2B,IAAI,CAACC,SAAS,CAAC;MAC5D,CAAC,MAAM,IAAIN,aAAa,KAAKI,6BAA6B,EAAEH,GAAG,EAAE;QAC/DJ,QAAQ,CAACC,OAAO,CAACM,6BAA6B,CAACL,IAAI,CAAC;QACpD;QACApB,gCAAgC,CAAC0B,IAAI,CAACC,SAAS,CAAC;MAClD;IACF,CAAC;EACH,CAAC,EAAE,CAACN,aAAa,CAAC,CAAC;EAEnB,MAAMP,UAAU,GAAGjB,aAAa,CAACkB,SAAS,CAAC,CAAC,CAACC,IAAI;EACjD,IAAItB,QAAQ,CAACuB,EAAE,KAAK,KAAK,IAAI,CAACH,UAAU,IAAI,CAACO,aAAa,EAAE;IAC1D;EACF;;EAEA;AACF;AACA;EACE,IACEf,sBAAsB,CAACJ,YAAY,CAAC,IACpCU,6BAA6B,EAAEU,GAAG,KAAKD,aAAa,EACpD;IACA,MAAMH,QAAQ,GAAGpB,cAAc,CAAC,CAAC;IACjC;IACA;IACA,MAAM8B,qBAAqB,GAAGrC,OAAO,CAACiC,eAAe,CACnDxB,gCACF,CAAC;IACD,IAAI4B,qBAAqB,IAAIA,qBAAqB,CAACN,GAAG,KAAKD,aAAa,EAAE;MACxE;MACAH,QAAQ,CAACW,kBAAkB,CAACD,qBAAqB,CAACR,IAAI,CAAC;MACvD;MACApB,gCAAgC,CAAC0B,IAAI,CAACC,SAAS,CAAC;MAChDd,gCAAgC,CAACe,qBAAqB,CAAC;IACzD;EACF;;EAEA;AACF;AACA;EACE,IAAI3B,uBAAuB,CAACC,YAAY,CAAC,EAAE;IACzC,MAAMgB,QAAQ,GAAGpB,cAAc,CAAC,CAAC;IACjC;IACA;IACA;IACA,IAAIuB,aAAa,KAAKT,6BAA6B,EAAEU,GAAG,EAAE;MACxDJ,QAAQ,CAACC,OAAO,CAACP,6BAA6B,CAACQ,IAAI,CAAC;MACpDP,gCAAgC,CAACc,SAAS,CAAC;MAC3C;IACF;IACA;IACA;IACA,MAAMF,6BAA6B,GAAGlC,OAAO,CAACiC,eAAe,CAC3DxB,gCACF,CAAC;IACD,IAAIqB,aAAa,KAAKI,6BAA6B,EAAEH,GAAG,EAAE;MACxDJ,QAAQ,CAACC,OAAO,CAACM,6BAA6B,CAACL,IAAI,CAAC;MACpD;MACApB,gCAAgC,CAAC0B,IAAI,CAACC,SAAS,CAAC;MAChD;IACF;IACA;IACA;IACA;IACA,MAAMJ,2BAA2B,GAAGhC,OAAO,CAACiC,eAAe,CACzDzB,0CACF,CAAC;IACD,IAAIsB,aAAa,KAAKE,2BAA2B,EAAED,GAAG,EAAE;MACtDJ,QAAQ,CAACC,OAAO,CAACI,2BAA2B,CAACH,IAAI,CAAC;MAClD;MACArB,0CAA0C,CAAC2B,IAAI,CAACC,SAAS,CAAC;MAC1D;IACF;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["CallingState","RxUtils","useCall","useCallStateHooks","Platform","useEffect","useState","StreamVideoRN","getCallKeepLib","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","voipPushNotificationCallCId$","isNonActiveCallingState","callingState","IDLE","UNKNOWN","LEFT","isAcceptedCallingState","JOINING","JOINED","unsubscribeCallkeepEvents","activeCallCid","voipPushNotificationCallCId","getCurrentValue","next","undefined","useIosCallkeepWithCallingStateEffect","activeCall","useCallCallingState","acceptedForegroundCallkeepMap","setAcceptedForegroundCallkeepMap","pushConfig","getConfig","push","OS","callkeep","cid","endCall","uuid","nativeDialerAcceptedCallMap","foregroundIncomingCallkeepMap","foregroundCallkeepMap","answerIncomingCall"],"sourceRoot":"../../../../src","sources":["hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.9.7';
1
+ export const version = '1.9.9';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIosCallkeepWithCallingStateEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"names":[],"mappings":"AA0BA;;GAEG;AACH,eAAO,MAAM,oCAAoC,YAoHhD,CAAC"}
1
+ {"version":3,"file":"useIosCallkeepWithCallingStateEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,eAAO,MAAM,oCAAoC,YAyHhD,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.9.7";
1
+ export declare const version = "1.9.9";
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.9.7",
3
+ "version": "1.9.9",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "module": "dist/module/index.js",
@@ -46,8 +46,8 @@
46
46
  "!**/.*"
47
47
  ],
48
48
  "dependencies": {
49
- "@stream-io/video-client": "1.15.3",
50
- "@stream-io/video-react-bindings": "1.4.3",
49
+ "@stream-io/video-client": "1.15.4",
50
+ "@stream-io/video-react-bindings": "1.4.4",
51
51
  "intl-pluralrules": "2.0.1",
52
52
  "lodash.merge": "^4.6.2",
53
53
  "react-native-url-polyfill": "1.3.0",
@@ -7,6 +7,7 @@ import { getCallKeepLib } from '../../utils/push/libs';
7
7
  import {
8
8
  voipCallkeepAcceptedCallOnNativeDialerMap$,
9
9
  voipCallkeepCallOnForegroundMap$,
10
+ voipPushNotificationCallCId$,
10
11
  } from '../../utils/push/internal/rxSubjects';
11
12
 
12
13
  const isNonActiveCallingState = (callingState: CallingState) => {
@@ -24,6 +25,16 @@ const isAcceptedCallingState = (callingState: CallingState) => {
24
25
  );
25
26
  };
26
27
 
28
+ const unsubscribeCallkeepEvents = (activeCallCid: string | undefined) => {
29
+ const voipPushNotificationCallCId = RxUtils.getCurrentValue(
30
+ voipPushNotificationCallCId$
31
+ );
32
+ if (activeCallCid && activeCallCid === voipPushNotificationCallCId) {
33
+ // callkeep events should not be listened anymore so clear the call cid
34
+ voipPushNotificationCallCId$.next(undefined);
35
+ }
36
+ };
37
+
27
38
  /**
28
39
  * This hook is used to inform the callkeep library that the call has been joined or ended.
29
40
  */
@@ -46,6 +57,7 @@ export const useIosCallkeepWithCallingStateEffect = () => {
46
57
  const callkeep = getCallKeepLib();
47
58
  // if the component is unmounted and the callID was not reported to callkeep, then report it now
48
59
  if (acceptedForegroundCallkeepMap) {
60
+ unsubscribeCallkeepEvents(acceptedForegroundCallkeepMap.cid);
49
61
  // this call should be ended in callkeep
50
62
  callkeep.endCall(acceptedForegroundCallkeepMap.uuid);
51
63
  }
@@ -68,10 +80,12 @@ export const useIosCallkeepWithCallingStateEffect = () => {
68
80
  );
69
81
  const callkeep = getCallKeepLib();
70
82
  if (activeCallCid === nativeDialerAcceptedCallMap?.cid) {
83
+ unsubscribeCallkeepEvents(activeCallCid);
71
84
  callkeep.endCall(nativeDialerAcceptedCallMap.uuid);
72
85
  // no need to keep this reference anymore
73
86
  voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
74
87
  } else if (activeCallCid === foregroundIncomingCallkeepMap?.cid) {
88
+ unsubscribeCallkeepEvents(activeCallCid);
75
89
  callkeep.endCall(foregroundIncomingCallkeepMap.uuid);
76
90
  // no need to keep this reference anymore
77
91
  voipCallkeepCallOnForegroundMap$.next(undefined);
@@ -111,6 +125,8 @@ export const useIosCallkeepWithCallingStateEffect = () => {
111
125
  */
112
126
  if (isNonActiveCallingState(callingState)) {
113
127
  const callkeep = getCallKeepLib();
128
+ unsubscribeCallkeepEvents(activeCallCid);
129
+
114
130
  // this was a previously joined call which had push notification displayed
115
131
  // the call was accepted through the app and not through native dialer
116
132
  // the call was left using the leave button in the app and not through native dialer
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.9.7';
1
+ export const version = '1.9.9';