Skip to content

Commit f0cf691

Browse files
chore: fix wrong id passed from iOS to RN
1 parent 393f451 commit f0cf691

File tree

4 files changed

+25
-35
lines changed

4 files changed

+25
-35
lines changed

examples/default/src/App.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ export const App: React.FC = () => {
3737
networkData.url = networkData.url + '/iOS/obfuscated';
3838
return networkData;
3939
});
40-
41-
NetworkLogger.setRequestFilterExpression('false');
40+
// NetworkLogger.setRequestFilterExpression('false');
4241
});
4342
CrashReporting.setNDKCrashesEnabled(true);
4443

ios/RNInstabug/InstabugNetworkLoggerBridge.m

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ -(void)stopObserving {
189189
}
190190

191191
// Ensure self.completion is not nil before calling it
192-
NSString *callbackID = dict[@"callbackID"];
192+
NSString *callbackID = dict[@"id"];
193193
if ([callbackID isKindOfClass:[NSString class]] && self.requestObfuscationCompletionDictionary[callbackID] != nil) {
194194
((IBGURLRequestAsyncObfuscationCompletedHandler)self.requestObfuscationCompletionDictionary[callbackID])(request);
195195
} else {
@@ -229,9 +229,10 @@ -(void)stopObserving {
229229

230230
// NSPredicate *requestPredicate = [NSPredicate predicateWithValue:(value) ? YES : NO];
231231

232-
if ([callbackID isKindOfClass:[NSString class]] && self.responseFilteringCompletionDictionary[callbackID] != nil) {
233-
// ⬇️ YES == Response will be saved, NO == will be ignored
234-
((IBGURLRequestResponseAsyncFilteringCompletedHandler)self.responseFilteringCompletionDictionary[callbackID])(YES);
232+
233+
if ([callbackID isKindOfClass:[NSString class]] && self.requestFilteringCompletionDictionary[callbackID] != nil) {
234+
// ⬇️ YES == Request will be saved, NO == will be ignored
235+
((IBGURLRequestResponseAsyncFilteringCompletedHandler)self.requestFilteringCompletionDictionary[callbackID])(YES);
235236
} else {
236237
NSLog(@"Not Available Completion");
237238
}
@@ -250,7 +251,10 @@ - (void)setupRequestFilteringHandler {
250251
self.requestFilteringCompletionDictionary[callbackID] = completion;
251252

252253
NSDictionary *dict = [self createNetworkRequestDictForRequest:request callbackID:callbackID];
253-
[self sendEventWithName:@"IBGNetworkLoggerHandler" body:dict];
254+
if(hasListeners){
255+
[self sendEventWithName:@"IBGNetworkLoggerHandler" body:dict];
256+
}
257+
254258
}];
255259
}
256260

@@ -262,12 +266,16 @@ - (void)setupRequestObfuscationHandler {
262266

263267

264268
NSDictionary *dict = [self createNetworkRequestDictForRequest:request callbackID:callbackID];
265-
[self sendEventWithName:@"IBGNetworkLoggerHandler" body:dict];
269+
if (hasListeners) {
270+
[self sendEventWithName:@"IBGNetworkLoggerHandler" body:dict];
271+
}
272+
266273
}];
267274
}
268275

269276
// Set up the obfuscation handler
270277
- (void)setupRequestFilteringAndObfuscationHandler {
278+
271279
NSString *callbackID = [[[NSUUID alloc] init] UUIDString];
272280

273281
[IBGNetworkLogger setRequestAsyncObfuscationHandler:^(NSURLRequest * _Nonnull request, void (^ _Nonnull completion)(NSURLRequest * _Nonnull)) {
@@ -278,7 +286,10 @@ - (void)setupRequestFilteringAndObfuscationHandler {
278286
self.requestObfuscationCompletionDictionary[callbackID] = completion;
279287

280288
NSDictionary *dict = [self createNetworkRequestDictForRequest:request callbackID:callbackID];
281-
[self sendEventWithName:@"IBGNetworkLoggerHandler" body:dict];
289+
if(hasListeners){
290+
[self sendEventWithName:@"IBGNetworkLoggerHandler" body:dict];
291+
}
292+
282293
}];
283294
}
284295

@@ -289,7 +300,7 @@ - (NSDictionary *)createNetworkRequestDictForRequest:(NSURLRequest *)request cal
289300
NSDictionary *headerDict = request.allHTTPHeaderFields ?: @{};
290301

291302
return @{
292-
@"callbackID": callbackID,
303+
@"id": callbackID,
293304
@"url": urlString,
294305
@"requestBody": bodyString,
295306
@"requestHeader": headerDict

src/modules/NetworkLogger.ts

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export const setEnabled = (isEnabled: boolean) => {
7777
* @param isEnabled
7878
*/
7979
export const setNativeInterceptionEnabled = (isEnabled: boolean) => {
80-
console.log(`NetworkLogger -> setNativeInterceptionEnabled ${isEnabled}`);
80+
console.log(`Andrew: NetworkLogger -> setNativeInterceptionEnabled ${isEnabled}`);
8181
_isNativeInterceptionEnabled = isEnabled;
8282
};
8383

@@ -89,16 +89,8 @@ export const setNetworkDataObfuscationHandler = (
8989
handler?: NetworkDataObfuscationHandler | null | undefined,
9090
) => {
9191
_networkDataObfuscationHandler = handler;
92-
93-
console.log(
94-
`Andrew: Obfuscation -> _isNativeInterceptionEnabled ${_isNativeInterceptionEnabled}`,
95-
);
9692
if (_isNativeInterceptionEnabled) {
9793
_registerNetworkLogsListener(NetworkListenerType.obfuscation, async (networkSnapshot) => {
98-
console.log(
99-
`Andrew: new snapshot from setNetworkDataObfuscationHandler: ${networkSnapshot.url}`,
100-
);
101-
10294
if (_networkDataObfuscationHandler) {
10395
networkSnapshot = await _networkDataObfuscationHandler(networkSnapshot);
10496
}
@@ -113,11 +105,9 @@ export const setNetworkDataObfuscationHandler = (
113105
*/
114106
export const setRequestFilterExpression = (expression: string) => {
115107
_requestFilterExpression = expression;
116-
console.log(`Andrew: Filtering -> _isNativeInterceptionEnabled ${_isNativeInterceptionEnabled}`);
117108

118109
if (_isNativeInterceptionEnabled) {
119110
_registerNetworkLogsListener(NetworkListenerType.filtering, async (networkSnapshot) => {
120-
console.log(`Andrew: new snapshot from setRequestFilterExpression: ${networkSnapshot.url}`);
121111
// eslint-disable-next-line no-new-func
122112
const predicate = Function('network', 'return ' + _requestFilterExpression);
123113
const value = predicate(networkSnapshot);
@@ -176,23 +166,16 @@ const _registerNetworkLogsListener = (
176166
} else {
177167
_networkListener = NetworkListenerType.both;
178168
}
179-
console.log('Andrew: new NetworkLogsListener attached');
169+
console.log(`Andrew: new NetworkLogsListener (${_networkListener}) attached`);
180170
NetworkLoggerEmitter.addListener(
181171
NativeNetworkLoggerEvent.NETWORK_LOGGER_HANDLER,
182172
(networkSnapshot) => {
183-
const {
184-
callbackID,
185-
url,
186-
requestHeader,
187-
requestBody,
188-
responseHeader,
189-
response,
190-
responseCode,
191-
} = networkSnapshot;
173+
const { id, url, requestHeader, requestBody, responseHeader, response, responseCode } =
174+
networkSnapshot;
192175

193176
console.log(`Andrew: new snapshot ${url}`);
194177
const networkSnapshotObj: NetworkData = {
195-
id: callbackID,
178+
id: id,
196179
url: url,
197180
requestBody: requestBody,
198181
requestHeaders: requestHeader,
@@ -210,7 +193,6 @@ const _registerNetworkLogsListener = (
210193
serverErrorMessage: '',
211194
requestContentType: '',
212195
};
213-
console.log(`Andrew registerNetworkLogsListener object ${networkSnapshotObj.url}`);
214196
if (handler) {
215197
handler(networkSnapshotObj);
216198
}

src/native/NativeNetworkLogger.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ export interface NetworkLoggerNativeModule extends NativeModule {
1616

1717
registerNetworkLogsListener(type: NetworkListenerType): void;
1818

19-
// registerNetworkLogsListener(): void;
20-
2119
updateNetworkLogSnapshot(networkData: string): void;
2220

2321
setNetworkLoggingRequestFilterPredicateIOS(id: string, value: boolean): void; // iOS only

0 commit comments

Comments
 (0)