Skip to content

Commit d9233e7

Browse files
committed
fix(voip): add missing RNCallKeep.endCall on user hangup before answer
When the user ended an incoming call before it connected, handleObservedCallChanged sent the REST reject but never notified CallKit to remove the call from the system Recents UI. Also deduplicate MediaCallsAnswerResponse with MessageResponse, and remove unnecessary import RocketChat that was causing module resolution failures in the Libraries target.
1 parent 4b43763 commit d9233e7

5 files changed

Lines changed: 262 additions & 229 deletions

File tree

ios/Libraries/VoipService.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import CallKit
22
import Foundation
33
import PushKit
4-
import RocketChat
54

65
/**
76
* VoipModuleSwift - Swift implementation for VoIP push notifications and initial events data.
@@ -595,11 +594,12 @@ public final class VoipService: NSObject {
595594
return
596595
}
597596

597+
let endedCallId = observedCall.payload.callId
598598
observedIncomingCalls.removeValue(forKey: call.uuid)
599-
cancelIncomingCallTimeout(for: observedCall.payload.callId)
600-
clearNativeAcceptDedupe(for: observedCall.payload.callId)
599+
cancelIncomingCallTimeout(for: endedCallId)
600+
clearNativeAcceptDedupe(for: endedCallId)
601601

602-
let endedCallId = observedCall.payload.callId
602+
RNCallKeep.endCall(withUUID: endedCallId, reason: 3)
603603
reject(payload: observedCall.payload)
604604
}
605605
}

ios/Podfile.lock

Lines changed: 66 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ PODS:
3636
- EXAV (16.0.8):
3737
- ExpoModulesCore
3838
- ReactCommon/turbomodule/core
39-
- EXConstants (18.0.12):
39+
- EXConstants (18.0.13):
4040
- ExpoModulesCore
41-
- EXNotifications (0.32.15):
41+
- EXNotifications (0.32.16):
4242
- ExpoModulesCore
43-
- Expo (54.0.30):
43+
- Expo (54.0.33):
4444
- boost
4545
- DoubleConversion
4646
- ExpoModulesCore
@@ -85,7 +85,7 @@ PODS:
8585
- ExpoModulesCore
8686
- ExpoFileSystem (19.0.21):
8787
- ExpoModulesCore
88-
- ExpoFont (14.0.10):
88+
- ExpoFont (14.0.11):
8989
- ExpoModulesCore
9090
- ExpoHaptics (15.0.8):
9191
- ExpoModulesCore
@@ -137,49 +137,49 @@ PODS:
137137
- ExpoModulesCore
138138
- fast_float (8.0.0)
139139
- FBLazyVector (0.81.5)
140-
- Firebase/AnalyticsWithoutAdIdSupport (11.11.0):
140+
- Firebase/AnalyticsWithoutAdIdSupport (11.10.0):
141141
- Firebase/CoreOnly
142-
- FirebaseAnalytics/WithoutAdIdSupport (~> 11.11.0)
143-
- Firebase/CoreOnly (11.11.0):
144-
- FirebaseCore (~> 11.11.0)
145-
- Firebase/Crashlytics (11.11.0):
142+
- FirebaseAnalytics/WithoutAdIdSupport (~> 11.10.0)
143+
- Firebase/CoreOnly (11.10.0):
144+
- FirebaseCore (~> 11.10.0)
145+
- Firebase/Crashlytics (11.10.0):
146146
- Firebase/CoreOnly
147-
- FirebaseCrashlytics (~> 11.11.0)
148-
- FirebaseAnalytics/WithoutAdIdSupport (11.11.0):
149-
- FirebaseCore (~> 11.11.0)
147+
- FirebaseCrashlytics (~> 11.10.0)
148+
- FirebaseAnalytics/WithoutAdIdSupport (11.10.0):
149+
- FirebaseCore (~> 11.10.0)
150150
- FirebaseInstallations (~> 11.0)
151-
- GoogleAppMeasurement/WithoutAdIdSupport (= 11.11.0)
151+
- GoogleAppMeasurement/WithoutAdIdSupport (= 11.10.0)
152152
- GoogleUtilities/AppDelegateSwizzler (~> 8.0)
153153
- GoogleUtilities/MethodSwizzler (~> 8.0)
154154
- GoogleUtilities/Network (~> 8.0)
155155
- "GoogleUtilities/NSData+zlib (~> 8.0)"
156156
- nanopb (~> 3.30910.0)
157-
- FirebaseCore (11.11.0):
158-
- FirebaseCoreInternal (~> 11.11.0)
157+
- FirebaseCore (11.10.0):
158+
- FirebaseCoreInternal (~> 11.10.0)
159159
- GoogleUtilities/Environment (~> 8.0)
160160
- GoogleUtilities/Logger (~> 8.0)
161-
- FirebaseCoreExtension (11.11.0):
162-
- FirebaseCore (~> 11.11.0)
163-
- FirebaseCoreInternal (11.11.0):
161+
- FirebaseCoreExtension (11.10.0):
162+
- FirebaseCore (~> 11.10.0)
163+
- FirebaseCoreInternal (11.10.0):
164164
- "GoogleUtilities/NSData+zlib (~> 8.0)"
165-
- FirebaseCrashlytics (11.11.0):
166-
- FirebaseCore (~> 11.11.0)
165+
- FirebaseCrashlytics (11.10.0):
166+
- FirebaseCore (~> 11.10.0)
167167
- FirebaseInstallations (~> 11.0)
168168
- FirebaseRemoteConfigInterop (~> 11.0)
169169
- FirebaseSessions (~> 11.0)
170170
- GoogleDataTransport (~> 10.0)
171171
- GoogleUtilities/Environment (~> 8.0)
172172
- nanopb (~> 3.30910.0)
173173
- PromisesObjC (~> 2.4)
174-
- FirebaseInstallations (11.11.0):
175-
- FirebaseCore (~> 11.11.0)
174+
- FirebaseInstallations (11.10.0):
175+
- FirebaseCore (~> 11.10.0)
176176
- GoogleUtilities/Environment (~> 8.0)
177177
- GoogleUtilities/UserDefaults (~> 8.0)
178178
- PromisesObjC (~> 2.4)
179179
- FirebaseRemoteConfigInterop (11.15.0)
180-
- FirebaseSessions (11.11.0):
181-
- FirebaseCore (~> 11.11.0)
182-
- FirebaseCoreExtension (~> 11.11.0)
180+
- FirebaseSessions (11.10.0):
181+
- FirebaseCore (~> 11.10.0)
182+
- FirebaseCoreExtension (~> 11.10.0)
183183
- FirebaseInstallations (~> 11.0)
184184
- GoogleDataTransport (~> 10.0)
185185
- GoogleUtilities/Environment (~> 8.0)
@@ -188,7 +188,7 @@ PODS:
188188
- PromisesSwift (~> 2.1)
189189
- fmt (11.0.2)
190190
- glog (0.3.5)
191-
- GoogleAppMeasurement/WithoutAdIdSupport (11.11.0):
191+
- GoogleAppMeasurement/WithoutAdIdSupport (11.10.0):
192192
- GoogleUtilities/AppDelegateSwizzler (~> 8.0)
193193
- GoogleUtilities/MethodSwizzler (~> 8.0)
194194
- GoogleUtilities/Network (~> 8.0)
@@ -245,7 +245,7 @@ PODS:
245245
- libwebp/sharpyuv (1.5.0)
246246
- libwebp/webp (1.5.0):
247247
- libwebp/sharpyuv
248-
- MobileCrypto (0.2.2):
248+
- MobileCrypto (0.2.0):
249249
- boost
250250
- DoubleConversion
251251
- fast_float
@@ -2051,7 +2051,7 @@ PODS:
20512051
- Yoga
20522052
- react-native-background-timer (2.4.1):
20532053
- React-Core
2054-
- react-native-cameraroll (7.10.2):
2054+
- react-native-cameraroll (7.10.0):
20552055
- boost
20562056
- DoubleConversion
20572057
- fast_float
@@ -2166,11 +2166,11 @@ PODS:
21662166
- ReactCommon/turbomodule/core
21672167
- SocketRocket
21682168
- Yoga
2169-
- react-native-netinfo (11.4.1):
2169+
- react-native-netinfo (11.3.1):
21702170
- React-Core
21712171
- react-native-restart (0.0.22):
21722172
- React-Core
2173-
- react-native-safe-area-context (5.6.2):
2173+
- react-native-safe-area-context (5.7.0):
21742174
- boost
21752175
- DoubleConversion
21762176
- fast_float
@@ -2188,8 +2188,8 @@ PODS:
21882188
- React-graphics
21892189
- React-ImageManager
21902190
- React-jsi
2191-
- react-native-safe-area-context/common (= 5.6.2)
2192-
- react-native-safe-area-context/fabric (= 5.6.2)
2191+
- react-native-safe-area-context/common (= 5.7.0)
2192+
- react-native-safe-area-context/fabric (= 5.7.0)
21932193
- React-NativeModulesApple
21942194
- React-RCTFabric
21952195
- React-renderercss
@@ -2200,7 +2200,7 @@ PODS:
22002200
- ReactCommon/turbomodule/core
22012201
- SocketRocket
22022202
- Yoga
2203-
- react-native-safe-area-context/common (5.6.2):
2203+
- react-native-safe-area-context/common (5.7.0):
22042204
- boost
22052205
- DoubleConversion
22062206
- fast_float
@@ -2228,7 +2228,7 @@ PODS:
22282228
- ReactCommon/turbomodule/core
22292229
- SocketRocket
22302230
- Yoga
2231-
- react-native-safe-area-context/fabric (5.6.2):
2231+
- react-native-safe-area-context/fabric (5.7.0):
22322232
- boost
22332233
- DoubleConversion
22342234
- fast_float
@@ -2852,7 +2852,7 @@ PODS:
28522852
- SocketRocket
28532853
- ReactNativeIncallManager (4.2.1):
28542854
- React-Core
2855-
- RNBootSplash (6.3.11):
2855+
- RNBootSplash (6.3.8):
28562856
- boost
28572857
- DoubleConversion
28582858
- fast_float
@@ -2910,7 +2910,7 @@ PODS:
29102910
- ReactCommon/turbomodule/core
29112911
- SocketRocket
29122912
- Yoga
2913-
- RNCClipboard (1.16.3):
2913+
- RNCClipboard (1.13.2):
29142914
- boost
29152915
- DoubleConversion
29162916
- fast_float
@@ -2938,34 +2938,8 @@ PODS:
29382938
- ReactCommon/turbomodule/core
29392939
- SocketRocket
29402940
- Yoga
2941-
- RNCMaskedView (0.3.2):
2942-
- boost
2943-
- DoubleConversion
2944-
- fast_float
2945-
- fmt
2946-
- glog
2947-
- hermes-engine
2948-
- RCT-Folly
2949-
- RCT-Folly/Fabric
2950-
- RCTRequired
2951-
- RCTTypeSafety
2941+
- RNCMaskedView (0.3.1):
29522942
- React-Core
2953-
- React-debug
2954-
- React-Fabric
2955-
- React-featureflags
2956-
- React-graphics
2957-
- React-ImageManager
2958-
- React-jsi
2959-
- React-NativeModulesApple
2960-
- React-RCTFabric
2961-
- React-renderercss
2962-
- React-rendererdebug
2963-
- React-utils
2964-
- ReactCodegen
2965-
- ReactCommon/turbomodule/bridging
2966-
- ReactCommon/turbomodule/core
2967-
- SocketRocket
2968-
- Yoga
29692943
- RNConfigReader (1.0.0):
29702944
- React
29712945
- RNCPicker (2.11.1):
@@ -3026,15 +3000,15 @@ PODS:
30263000
- Yoga
30273001
- RNDeviceInfo (11.1.0):
30283002
- React-Core
3029-
- RNFBAnalytics (21.14.0):
3030-
- Firebase/AnalyticsWithoutAdIdSupport (= 11.11.0)
3003+
- RNFBAnalytics (21.12.2):
3004+
- Firebase/AnalyticsWithoutAdIdSupport (= 11.10.0)
30313005
- React-Core
30323006
- RNFBApp
3033-
- RNFBApp (21.14.0):
3034-
- Firebase/CoreOnly (= 11.11.0)
3007+
- RNFBApp (21.12.2):
3008+
- Firebase/CoreOnly (= 11.10.0)
30353009
- React-Core
3036-
- RNFBCrashlytics (21.14.0):
3037-
- Firebase/Crashlytics (= 11.11.0)
3010+
- RNFBCrashlytics (21.12.2):
3011+
- Firebase/Crashlytics (= 11.10.0)
30383012
- FirebaseCoreExtension
30393013
- React-Core
30403014
- RNFBApp
@@ -3914,16 +3888,16 @@ SPEC CHECKSUMS:
39143888
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
39153889
EXApplication: 1e98d4b1dccdf30627f92917f4b2c5a53c330e5f
39163890
EXAV: b60fcf142fae6684d295bc28cd7cfcb3335570ea
3917-
EXConstants: 805f35b1b295c542ca6acce836f21a1f9ee104d5
3918-
EXNotifications: 983f04ad4ad879b181179e326bf220541e478386
3919-
Expo: 6118272de314ed3d4bc74de3b1229b8f5b324ef1
3891+
EXConstants: fce59a631a06c4151602843667f7cfe35f81e271
3892+
EXNotifications: 9eec98712cc814ceff916d876cb53859003b0597
3893+
Expo: ec20d60a9ba93352323b8f773c0e59bc7aa1c492
39203894
ExpoAppleAuthentication: 9413ae9a5e631a424cc04c1b13b0694dbab7d594
39213895
ExpoAsset: f867e55ceb428aab99e1e8c082b5aee7c159ea18
39223896
ExpoCamera: 6a326deb45ba840749652e4c15198317aa78497e
39233897
ExpoDevice: 6327c3c200816795708885adf540d26ecab83d1a
39243898
ExpoDocumentPicker: 7cd9e71a0f66fb19eb0a586d6f26eee1284692e0
39253899
ExpoFileSystem: 858a44267a3e6e9057e0888ad7c7cfbf55d52063
3926-
ExpoFont: 35ac6191ed86bbf56b3ebd2d9154eda9fad5b509
3900+
ExpoFont: f543ce20a228dd702813668b1a07b46f51878d47
39273901
ExpoHaptics: d3a6375d8dcc3a1083d003bc2298ff654fafb536
39283902
ExpoImage: 686f972bff29525733aa13357f6691dc90aa03d8
39293903
ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296
@@ -3934,26 +3908,26 @@ SPEC CHECKSUMS:
39343908
ExpoWebBrowser: 17b064c621789e41d4816c95c93f429b84971f52
39353909
fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6
39363910
FBLazyVector: 5beb8028d5a2e75dd9634917f23e23d3a061d2aa
3937-
Firebase: 6a8f201c61eda24e98f1ce2b44b1b9c2caf525cc
3938-
FirebaseAnalytics: acfa848bf81e1a4dbf60ef1f0eddd7328fe6673e
3939-
FirebaseCore: 2321536f9c423b1f857e047a82b8a42abc6d9e2c
3940-
FirebaseCoreExtension: 3a64994969dd05f4bcb7e6896c654eded238e75b
3941-
FirebaseCoreInternal: 31ee350d87b30a9349e907f84bf49ef8e6791e5a
3942-
FirebaseCrashlytics: 5058c465e10782f54337b394c37254e0595174e9
3943-
FirebaseInstallations: 781e0e37aa0e1c92b44d00e739aba79ad31b2dba
3911+
Firebase: 1fe1c0a7d9aaea32efe01fbea5f0ebd8d70e53a2
3912+
FirebaseAnalytics: 4e42333f02cf78ed93703a5c36f36dd518aebdef
3913+
FirebaseCore: 8344daef5e2661eb004b177488d6f9f0f24251b7
3914+
FirebaseCoreExtension: 6f357679327f3614e995dc7cf3f2d600bdc774ac
3915+
FirebaseCoreInternal: ef4505d2afb1d0ebbc33162cb3795382904b5679
3916+
FirebaseCrashlytics: 84b073c997235740e6a951b7ee49608932877e5c
3917+
FirebaseInstallations: 9980995bdd06ec8081dfb6ab364162bdd64245c3
39443918
FirebaseRemoteConfigInterop: 1c6135e8a094cc6368949f5faeeca7ee8948b8aa
3945-
FirebaseSessions: f5c6bfeb66a7202deaf33352017bb6365e395820
3919+
FirebaseSessions: 9b3b30947b97a15370e0902ee7a90f50ef60ead6
39463920
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
39473921
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
3948-
GoogleAppMeasurement: 8a82b93a6400c8e6551c0bcd66a9177f2e067aed
3922+
GoogleAppMeasurement: 36684bfb3ee034e2b42b4321eb19da3a1b81e65d
39493923
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
39503924
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
39513925
hermes-engine: 9f4dfe93326146a1c99eb535b1cb0b857a3cd172
39523926
JitsiWebRTC: b47805ab5668be38e7ee60e2258f49badfe8e1d0
39533927
libavif: 5f8e715bea24debec477006f21ef9e95432e254d
39543928
libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f
39553929
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
3956-
MobileCrypto: 41cd66d5588e979cf95d1ff6ae2eec88eb284ef1
3930+
MobileCrypto: 9657a1cccf06b61efebcaadfb0ac42edca511294
39573931
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
39583932
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
39593933
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
@@ -3992,13 +3966,13 @@ SPEC CHECKSUMS:
39923966
React-microtasksnativemodule: 63ee6730cec233feab9cdcc0c100dc28a12e4165
39933967
react-native-a11y-order: 20b33ff538af60d8b8a7f7284115a7febc9034d4
39943968
react-native-background-timer: 4638ae3bee00320753647900b21260b10587b6f7
3995-
react-native-cameraroll: ae31ba7ee17d31c5ee05d7bb248742e3af482783
3969+
react-native-cameraroll: 3c91530ef1e696b6b6bbc4f8ca98c535c0836e8b
39963970
react-native-cookies: d648ab7025833b977c0b19e142503034f5f29411
39973971
react-native-keyboard-controller: c4ca61f44d66c2f8987a7e67e9b78e80dc965c45
39983972
react-native-mmkv: 7b9c7469fa0a7e463f9411ad3e4fe273bd5ff030
3999-
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
3973+
react-native-netinfo: 2e3c27627db7d49ba412bfab25834e679db41e21
40003974
react-native-restart: f6f591aeb40194c41b9b5013901f00e6cf7d0f29
4001-
react-native-safe-area-context: 0a3b034bb63a5b684dd2f5fffd3c90ef6ed41ee8
3975+
react-native-safe-area-context: eda63a662750758c1fdd7e719c9f1026c8d161cb
40023976
react-native-slider: 6201419b3e3f7c6b7cf2068e0c01274fa86a1da5
40033977
react-native-webrtc: e8f0ce746353adc2744a2b933645e1aeb41eaa74
40043978
react-native-webview: 83c663c5bdf1357d3e7c00986260cb888ea0e328
@@ -4033,18 +4007,18 @@ SPEC CHECKSUMS:
40334007
ReactCodegen: 7fadc30654a54b3a0d62df08f55e2211e25486ee
40344008
ReactCommon: 6d0fa86a4510730da7c72560e0ced14258292ab9
40354009
ReactNativeIncallManager: dccd3e7499caa3bb73d3acfedf4fb0360f1a87d5
4036-
RNBootSplash: 7fcc9a58ae343aeb1a1dd49f9030832fe432c544
4010+
RNBootSplash: 936fabfc64028c5f02729389622c9e25b764637c
40374011
RNCallKeep: 1930a01d8caf48f018be4f2db0c9f03405c2f977
40384012
RNCAsyncStorage: fd44f4b03e007e642e98df6726737bc66e9ba609
4039-
RNCClipboard: e560338bf6cc4656a09ff90610b62ddc0dbdad65
4040-
RNCMaskedView: d707a83784c67099b54b37d056ababb2767ce15e
4013+
RNCClipboard: 911ec53dd1b6b1f7f014f307a6559dff50ceeac1
4014+
RNCMaskedView: de80352547bd4f0d607bf6bab363d826822bd126
40414015
RNConfigReader: 27bab37cca5e6b87766ffd73b8b8818ee46e3416
40424016
RNCPicker: 70fd0622147f0ca1b9c5e1be2069a4fb2e8ec461
40434017
RNDateTimePicker: ca1dc7e24d0b4839877f0ab619e7bca5db715289
40444018
RNDeviceInfo: 900bd20e1fd3bfd894e7384cc4a83880c0341bd3
4045-
RNFBAnalytics: 2e8b8ffcd2bb3d59a43ecbe09571c73c56edef7a
4046-
RNFBApp: a448037d2df74af9d374a0b765be12ff1e844dc0
4047-
RNFBCrashlytics: c3bb5533f9957eddc88f3ea383583309a4ce9f89
4019+
RNFBAnalytics: 8f000e79ee496f195db63d0ed06ce6c6330d5721
4020+
RNFBApp: d10e2aeb95700dc4b6cca7839059d17f9d7d8566
4021+
RNFBCrashlytics: 8a49978bb953d3fc052813093fecd4b447bbabf8
40484022
RNFileViewer: f9424017fa643c115c1444e11292e84fb16ddd68
40494023
RNGestureHandler: b8d2e75c2e88fc2a1f6be3b3beeeed80b88fa37d
40504024
RNImageCropPicker: 0a63af4b79e514c1edd6c3152f19300c5ed85312

0 commit comments

Comments
 (0)