From 98be7b2b279b70087a15fe51516d274f9d534ca4 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste LARRIVIERE <76693792+jblarriviere@users.noreply.github.com> Date: Tue, 21 Jan 2025 11:10:25 +0100 Subject: [PATCH] fix: prevent setDeviceToken to resolve and reject --- ios/IntercomModule.m | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ios/IntercomModule.m b/ios/IntercomModule.m index 5db7318c..4bf5b828 100644 --- a/ios/IntercomModule.m +++ b/ios/IntercomModule.m @@ -82,12 +82,18 @@ - (NSData *)dataFromHexString:(NSString *)string { resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { @try { + __block BOOL isSettled = NO; NSData *data = [self dataFromHexString:token]; [Intercom setDeviceToken:data failure:^(NSError * _Nullable error) { - reject(SEND_TOKEN_TO_INTERCOM, @"Error in sendTokenToIntercom", error); + if (!isSettled) { + isSettled = YES; + reject(SEND_TOKEN_TO_INTERCOM, @"Error in sendTokenToIntercom", error); + } }]; - - resolve(@(YES)); + if (!isSettled) { + isSettled = YES; + resolve(@(YES)); + } } @catch (NSException *exception) { reject(SEND_TOKEN_TO_INTERCOM, @"Error in sendTokenToIntercom", [self exceptionToError:exception :SEND_TOKEN_TO_INTERCOM :@"sendTokenToIntercom"]); }