Skip to content

Commit aac0ec0

Browse files
authored
Fix for mutable config (#179)
* Fix for mutable config This was just casting to a RollbarMutableConfig, but it wasn’t actually mutable. This makes the config actually mutable * Copy updated configuration back to Rollbar
1 parent 4a88a17 commit aac0ec0

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

ios/RollbarReactNative.m

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ @implementation RollbarReactNative
1919
static NSString *const REACT_NATIVE = @"react-native";
2020

2121
+ (void)initWithConfiguration:(NSDictionary*)options {
22-
RollbarMutableConfig *config = ((RollbarMutableConfig *)[Rollbar configuration]);
22+
RollbarMutableConfig *config = [[Rollbar configuration] mutableCopy];
2323
if (config) {
2424
updateConfiguration(config, options);
25+
[Rollbar updateWithConfiguration:config];
2526
return;
2627
}
2728
config = [RollbarConfig mutableConfigWithAccessToken:[RCTConvert NSString:options[@"accessToken"]]];
@@ -373,9 +374,10 @@ void updateConfiguration(RollbarMutableConfig *config, NSDictionary *options) {
373374
RCT_EXPORT_MODULE()
374375

375376
RCT_EXPORT_METHOD(init:(NSDictionary *)options) {
376-
RollbarMutableConfig *config = (RollbarMutableConfig *)[Rollbar configuration];
377+
RollbarMutableConfig *config = [[Rollbar configuration] mutableCopy];
377378
if (config) {
378379
updateConfiguration(config, options);
380+
[Rollbar updateWithConfiguration:config];
379381
return;
380382
}
381383
config = [RollbarConfig mutableConfigWithAccessToken:[RCTConvert NSString:options[@"accessToken"]]];
@@ -391,11 +393,15 @@ void updateConfiguration(RollbarMutableConfig *config, NSDictionary *options) {
391393
? [RCTConvert NSString:personInfo[@"name"]] : nil;
392394
NSString *email = personInfo[@"email"] && ![personInfo[@"email"] isEqual:[NSNull null]]
393395
? [RCTConvert NSString:personInfo[@"email"]] : nil;
394-
[((RollbarMutableConfig *)[Rollbar configuration]) setPersonId:identifier username:name email:email];
396+
RollbarMutableConfig *config = [[Rollbar configuration] mutableCopy];
397+
[config setPersonId:identifier username:name email:email];
398+
[Rollbar updateWithConfiguration:config];
395399
}
396400

397401
RCT_EXPORT_METHOD(clearPerson) {
398-
[((RollbarMutableConfig *)[Rollbar configuration]) setPersonId:@"" username:nil email:nil];
402+
RollbarMutableConfig *config = [[Rollbar configuration] mutableCopy];
403+
[config setPersonId:@"" username:nil email:nil];
404+
[Rollbar updateWithConfiguration:config];
399405
}
400406

401407
// Defined as synchronous because the data must be returned in the

0 commit comments

Comments
 (0)