@luciq/react-native 19.3.0-40271-SNAPSHOT → 19.4.0-44237-SNAPSHOT
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 +15 -0
- package/README.md +118 -0
- package/RNLuciq.podspec +6 -2
- package/android/build.gradle +25 -0
- package/android/native.gradle +1 -1
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqAPMModule.java +3 -12
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqBugReportingModule.java +28 -24
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqCrashReportingModule.java +18 -7
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqFeatureRequestsModule.java +1 -2
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqNetworkLoggerModule.java +29 -56
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqReactnativeModule.java +121 -47
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqReactnativePackage.java +2 -0
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqRepliesModule.java +4 -16
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqSessionReplayModule.java +5 -16
- package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqSurveysModule.java +7 -15
- package/android/src/main/java/ai/luciq/reactlibrary/utils/EventEmitterModule.java +0 -7
- package/android/src/main/java/ai/luciq/reactlibrary/utils/ReportUtil.java +0 -7
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqAPMBaseSpec.java +9 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqBaseSpec.java +33 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqBugReportingBaseSpec.java +33 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqCrashReportingBaseSpec.java +9 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqFeatureRequestsBaseSpec.java +9 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqNetworkLoggerBaseSpec.java +33 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqRepliesBaseSpec.java +33 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqSessionReplayBaseSpec.java +33 -0
- package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqSurveysBaseSpec.java +33 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqAPMBaseSpec.java +11 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqBaseSpec.java +22 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqBugReportingBaseSpec.java +22 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqCrashReportingBaseSpec.java +10 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqFeatureRequestsBaseSpec.java +10 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqNetworkLoggerBaseSpec.java +22 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqRepliesBaseSpec.java +22 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqSessionReplayBaseSpec.java +22 -0
- package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqSurveysBaseSpec.java +22 -0
- package/dist/modules/BugReporting.js +3 -3
- package/dist/modules/Luciq.d.ts +15 -0
- package/dist/modules/Luciq.js +23 -3
- package/dist/modules/NetworkLogger.d.ts +5 -0
- package/dist/modules/NetworkLogger.js +1 -9
- package/dist/modules/Replies.js +1 -1
- package/dist/modules/Surveys.js +2 -2
- package/dist/native/NativeBugReporting.d.ts +4 -4
- package/dist/native/NativeCrashReporting.d.ts +2 -2
- package/dist/native/NativeLuciq.d.ts +5 -3
- package/dist/native/NativePackage.js +25 -2
- package/dist/native/NativeReplies.d.ts +1 -1
- package/dist/native/NativeSurveys.d.ts +2 -2
- package/dist/native/specs/NativeAPM.d.ts +21 -0
- package/dist/native/specs/NativeAPM.js +2 -0
- package/dist/native/specs/NativeBugReporting.d.ts +29 -0
- package/dist/native/specs/NativeBugReporting.js +2 -0
- package/dist/native/specs/NativeCrashReporting.d.ts +12 -0
- package/dist/native/specs/NativeCrashReporting.js +2 -0
- package/dist/native/specs/NativeFeatureRequests.d.ts +8 -0
- package/dist/native/specs/NativeFeatureRequests.js +2 -0
- package/dist/native/specs/NativeLuciq.d.ts +80 -0
- package/dist/native/specs/NativeLuciq.js +2 -0
- package/dist/native/specs/NativeNetworkLogger.d.ts +16 -0
- package/dist/native/specs/NativeNetworkLogger.js +2 -0
- package/dist/native/specs/NativeReplies.d.ts +21 -0
- package/dist/native/specs/NativeReplies.js +2 -0
- package/dist/native/specs/NativeSessionReplay.d.ts +17 -0
- package/dist/native/specs/NativeSessionReplay.js +2 -0
- package/dist/native/specs/NativeSurveys.d.ts +18 -0
- package/dist/native/specs/NativeSurveys.js +2 -0
- package/dist/utils/Enums.js +3 -1
- package/dist/utils/FeatureFlags.d.ts +0 -6
- package/dist/utils/FeatureFlags.js +0 -35
- package/dist/utils/LuciqUtils.d.ts +1 -1
- package/dist/utils/LuciqUtils.js +0 -9
- package/dist/utils/XhrNetworkInterceptor.js +53 -85
- package/ios/RNLuciq/LuciqAPMBridge.h +5 -5
- package/ios/RNLuciq/{LuciqAPMBridge.m → LuciqAPMBridge.mm} +48 -39
- package/ios/RNLuciq/LuciqBugReportingBridge.h +6 -6
- package/ios/RNLuciq/LuciqBugReportingBridge.mm +234 -0
- package/ios/RNLuciq/LuciqCrashReportingBridge.h +16 -5
- package/ios/RNLuciq/LuciqCrashReportingBridge.mm +91 -0
- package/ios/RNLuciq/LuciqFeatureRequestsBridge.h +1 -1
- package/ios/RNLuciq/{LuciqFeatureRequestsBridge.m → LuciqFeatureRequestsBridge.mm} +21 -16
- package/ios/RNLuciq/LuciqNetworkLoggerBridge.h +1 -30
- package/ios/RNLuciq/{LuciqNetworkLoggerBridge.m → LuciqNetworkLoggerBridge.mm} +46 -77
- package/ios/RNLuciq/LuciqReactBridge.h +13 -13
- package/ios/RNLuciq/{LuciqReactBridge.m → LuciqReactBridge.mm} +95 -34
- package/ios/RNLuciq/LuciqRepliesBridge.h +3 -3
- package/ios/RNLuciq/LuciqRepliesBridge.mm +86 -0
- package/ios/RNLuciq/LuciqSessionReplayBridge.h +5 -5
- package/ios/RNLuciq/{LuciqSessionReplayBridge.m → LuciqSessionReplayBridge.mm} +35 -25
- package/ios/RNLuciq/LuciqSurveysBridge.h +5 -5
- package/ios/RNLuciq/{LuciqSurveysBridge.m → LuciqSurveysBridge.mm} +34 -35
- package/ios/native.rb +1 -1
- package/package.json +9 -1
- package/src/modules/BugReporting.ts +3 -3
- package/src/modules/Luciq.ts +26 -4
- package/src/modules/NetworkLogger.ts +1 -26
- package/src/modules/Replies.ts +1 -1
- package/src/modules/Surveys.ts +2 -2
- package/src/native/NativeBugReporting.ts +3 -6
- package/src/native/NativeCrashReporting.ts +2 -2
- package/src/native/NativeLuciq.ts +7 -3
- package/src/native/NativePackage.ts +52 -2
- package/src/native/NativeReplies.ts +1 -1
- package/src/native/NativeSurveys.ts +2 -2
- package/src/native/specs/NativeAPM.ts +47 -0
- package/src/native/specs/NativeBugReporting.ts +53 -0
- package/src/native/specs/NativeCrashReporting.ts +23 -0
- package/src/native/specs/NativeFeatureRequests.ts +10 -0
- package/src/native/specs/NativeLuciq.ts +137 -0
- package/src/native/specs/NativeNetworkLogger.ts +31 -0
- package/src/native/specs/NativeReplies.ts +27 -0
- package/src/native/specs/NativeSessionReplay.ts +20 -0
- package/src/native/specs/NativeSurveys.ts +23 -0
- package/src/utils/Enums.ts +4 -1
- package/src/utils/FeatureFlags.ts +0 -44
- package/src/utils/LuciqUtils.ts +1 -21
- package/src/utils/XhrNetworkInterceptor.ts +55 -128
- package/ios/RNLuciq/LuciqBugReportingBridge.m +0 -249
- package/ios/RNLuciq/LuciqCrashReportingBridge.m +0 -68
- package/ios/RNLuciq/LuciqRepliesBridge.m +0 -80
|
@@ -20,25 +20,21 @@ function getPortFromUrl(url) {
|
|
|
20
20
|
* It is enabled by default.
|
|
21
21
|
* @param isEnabled
|
|
22
22
|
*/
|
|
23
|
-
const NET_TAG = 'LCQ-RN-NET:';
|
|
24
23
|
export const setEnabled = (isEnabled) => {
|
|
25
24
|
if (isEnabled) {
|
|
26
25
|
xhr.enableInterception();
|
|
27
26
|
xhr.setOnDoneCallback(async (network) => {
|
|
28
|
-
Logger.debug(NET_TAG, `[NetworkLogger] onDoneCallback received: ${network.method} ${network.url}, status=${network.responseCode}`);
|
|
29
27
|
// eslint-disable-next-line no-new-func
|
|
30
28
|
const predicate = Function('network', 'return ' + _requestFilterExpression);
|
|
31
29
|
if (!predicate(network)) {
|
|
32
30
|
const MAX_NETWORK_BODY_SIZE_IN_BYTES = await NativeLuciq.getNetworkBodyMaxSize();
|
|
33
31
|
try {
|
|
34
32
|
if (_networkDataObfuscationHandler) {
|
|
35
|
-
Logger.debug(NET_TAG, `[NetworkLogger] Running obfuscation handler for ${network.url}`);
|
|
36
33
|
network = await _networkDataObfuscationHandler(network);
|
|
37
34
|
}
|
|
38
35
|
if (__DEV__) {
|
|
39
36
|
const urlPort = getPortFromUrl(network.url);
|
|
40
37
|
if (urlPort === LuciqRNConfig.metroDevServerPort) {
|
|
41
|
-
Logger.debug(NET_TAG, `[NetworkLogger] Skipping Metro dev server request: ${network.url}`);
|
|
42
38
|
return;
|
|
43
39
|
}
|
|
44
40
|
}
|
|
@@ -58,16 +54,12 @@ export const setEnabled = (isEnabled) => {
|
|
|
58
54
|
network.responseBody = `Body is omitted because content type ${network.contentType} isn't supported`;
|
|
59
55
|
Logger.warn(`LCQ-RN: The response body for the network request with URL ${network.url} has been omitted because the content type ${network.contentType} isn't supported.`);
|
|
60
56
|
}
|
|
61
|
-
Logger.debug(NET_TAG, `[NetworkLogger] Reporting network log to native: ${network.method} ${network.url}`);
|
|
62
57
|
reportNetworkLog(network);
|
|
63
58
|
}
|
|
64
59
|
catch (e) {
|
|
65
|
-
Logger.error(
|
|
60
|
+
Logger.error(e);
|
|
66
61
|
}
|
|
67
62
|
}
|
|
68
|
-
else {
|
|
69
|
-
Logger.debug(NET_TAG, `[NetworkLogger] Request filtered out by predicate: ${network.method} ${network.url}, expression="${_requestFilterExpression}"`);
|
|
70
|
-
}
|
|
71
63
|
});
|
|
72
64
|
}
|
|
73
65
|
else {
|
package/dist/modules/Replies.js
CHANGED
|
@@ -26,7 +26,7 @@ export const show = () => {
|
|
|
26
26
|
*/
|
|
27
27
|
export const setOnNewReplyReceivedHandler = (handler) => {
|
|
28
28
|
emitter.addListener(NativeEvents.ON_REPLY_RECEIVED_HANDLER, handler);
|
|
29
|
-
NativeReplies.setOnNewReplyReceivedHandler(
|
|
29
|
+
NativeReplies.setOnNewReplyReceivedHandler();
|
|
30
30
|
};
|
|
31
31
|
/**
|
|
32
32
|
* Returns the number of unread messages the user currently has.
|
package/dist/modules/Surveys.js
CHANGED
|
@@ -45,7 +45,7 @@ export const setAutoShowingEnabled = (autoShowingSurveysEnabled) => {
|
|
|
45
45
|
*/
|
|
46
46
|
export const setOnShowHandler = (onShowHandler) => {
|
|
47
47
|
emitter.addListener(NativeEvents.WILL_SHOW_SURVEY_HANDLER, onShowHandler);
|
|
48
|
-
NativeSurveys.setOnShowHandler(
|
|
48
|
+
NativeSurveys.setOnShowHandler();
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
51
51
|
* Sets a block of code to be executed right after the survey's UI is dismissed.
|
|
@@ -56,7 +56,7 @@ export const setOnShowHandler = (onShowHandler) => {
|
|
|
56
56
|
*/
|
|
57
57
|
export const setOnDismissHandler = (onDismissHandler) => {
|
|
58
58
|
emitter.addListener(NativeEvents.DID_DISMISS_SURVEY_HANDLER, onDismissHandler);
|
|
59
|
-
NativeSurveys.setOnDismissHandler(
|
|
59
|
+
NativeSurveys.setOnDismissHandler();
|
|
60
60
|
};
|
|
61
61
|
/**
|
|
62
62
|
* Shows survey with a specific token.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NativeEventEmitter, NativeModule } from 'react-native';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ExtendedBugReportMode, FloatingButtonPosition, InvocationEvent, InvocationOption, RecordingButtonPosition, ReportType, userConsentActionType } from '../utils/Enums';
|
|
3
3
|
export interface BugReportingNativeModule extends NativeModule {
|
|
4
4
|
setEnabled(isEnabled: boolean): void;
|
|
5
5
|
show(type: ReportType, options: InvocationOption[]): void;
|
|
@@ -18,9 +18,9 @@ export interface BugReportingNativeModule extends NativeModule {
|
|
|
18
18
|
setShakingThresholdForiPhone(threshold: number): void;
|
|
19
19
|
setShakingThresholdForiPad(threshold: number): void;
|
|
20
20
|
setShakingThresholdForAndroid(threshold: number): void;
|
|
21
|
-
setOnInvokeHandler(
|
|
22
|
-
setDidSelectPromptOptionHandler(
|
|
23
|
-
setOnSDKDismissedHandler(
|
|
21
|
+
setOnInvokeHandler(): void;
|
|
22
|
+
setDidSelectPromptOptionHandler(): void;
|
|
23
|
+
setOnSDKDismissedHandler(): void;
|
|
24
24
|
addUserConsent(key: string, description: string, mandatory: boolean, checked: boolean, actionType?: userConsentActionType): void;
|
|
25
25
|
setProactiveReportingConfigurations(enabled: boolean, gapBetweenModals: number, modalDelayAfterDetection: number): void;
|
|
26
26
|
}
|
|
@@ -19,8 +19,8 @@ export interface CauseCrashData {
|
|
|
19
19
|
}
|
|
20
20
|
export interface CrashReportingNativeModule extends NativeModule {
|
|
21
21
|
setEnabled(isEnabled: boolean): void;
|
|
22
|
-
sendJSCrash(data: CrashData
|
|
23
|
-
sendHandledJSCrash(data: CrashData
|
|
22
|
+
sendJSCrash(data: CrashData): Promise<void>;
|
|
23
|
+
sendHandledJSCrash(data: CrashData, userAttributes?: Record<string, string> | null, fingerprint?: string | null, nonFatalExceptionLevel?: NonFatalErrorLevel | null): Promise<void>;
|
|
24
24
|
setNDKCrashesEnabled(isEnabled: boolean): Promise<void>;
|
|
25
25
|
}
|
|
26
26
|
export declare const NativeCrashReporting: CrashReportingNativeModule;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { NativeEventEmitter, NativeModule, ProcessedColorValue } from 'react-native';
|
|
2
|
-
import type Report from '../models/Report';
|
|
3
2
|
import type { AutoMaskingType, ColorTheme, InvocationEvent, Locale, LogLevel, ReproStepsMode, StringKey, WelcomeMessageMode } from '../utils/Enums';
|
|
4
3
|
import type { NativeConstants } from './NativeConstants';
|
|
5
4
|
import type { W3cExternalTraceAttributes } from '../models/W3cExternalTraceAttributes';
|
|
@@ -56,7 +55,7 @@ export interface LuciqNativeModule extends NativeModule {
|
|
|
56
55
|
removeFeatureFlags(featureFlags: string[]): void;
|
|
57
56
|
removeAllFeatureFlags(): void;
|
|
58
57
|
setFileAttachment(filePath: string, fileName?: string): void;
|
|
59
|
-
setPreSendingHandler(
|
|
58
|
+
setPreSendingHandler(): void;
|
|
60
59
|
appendTagToReport(tag: string): void;
|
|
61
60
|
appendConsoleLogToReport(consoleLog: string): void;
|
|
62
61
|
setUserAttributeToReport(key: string, value: string): void;
|
|
@@ -72,11 +71,14 @@ export interface LuciqNativeModule extends NativeModule {
|
|
|
72
71
|
isW3ExternalGeneratedHeaderEnabled(): Promise<boolean>;
|
|
73
72
|
isW3CaughtHeaderEnabled(): Promise<boolean>;
|
|
74
73
|
registerFeatureFlagsChangeListener(): void;
|
|
75
|
-
setOnFeaturesUpdatedListener(
|
|
74
|
+
setOnFeaturesUpdatedListener(): void;
|
|
76
75
|
enableAutoMasking(autoMaskingTypes: AutoMaskingType[]): void;
|
|
77
76
|
getNetworkBodyMaxSize(): Promise<number>;
|
|
78
77
|
setTheme(theme: ThemeConfig): void;
|
|
79
78
|
setFullscreen(isEnabled: boolean): void;
|
|
79
|
+
setWebViewMonitoringEnabled(isEnabled: boolean): void;
|
|
80
|
+
setWebViewNetworkTrackingEnabled(isEnabled: boolean): void;
|
|
81
|
+
setWebViewUserInteractionsTrackingEnabled(isEnabled: boolean): void;
|
|
80
82
|
}
|
|
81
83
|
export declare const NativeLuciq: LuciqNativeModule;
|
|
82
84
|
export declare enum NativeEvents {
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
import { NativeModules as ReactNativeModules } from 'react-native';
|
|
2
|
-
|
|
1
|
+
import { NativeModules as ReactNativeModules, TurboModuleRegistry } from 'react-native';
|
|
2
|
+
const legacy = ReactNativeModules;
|
|
3
|
+
function resolve(name, fallback) {
|
|
4
|
+
return TurboModuleRegistry.get(name) ?? fallback;
|
|
5
|
+
}
|
|
6
|
+
const LCQAPM = resolve('LCQAPM', legacy.LCQAPM);
|
|
7
|
+
const LCQBugReporting = resolve('LCQBugReporting', legacy.LCQBugReporting);
|
|
8
|
+
const LCQCrashReporting = resolve('LCQCrashReporting', legacy.LCQCrashReporting);
|
|
9
|
+
const LCQFeatureRequests = resolve('LCQFeatureRequests', legacy.LCQFeatureRequests);
|
|
10
|
+
const Luciq = resolve('Luciq', legacy.Luciq);
|
|
11
|
+
const LCQReplies = resolve('LCQReplies', legacy.LCQReplies);
|
|
12
|
+
const LCQSurveys = resolve('LCQSurveys', legacy.LCQSurveys);
|
|
13
|
+
const LCQSessionReplay = resolve('LCQSessionReplay', legacy.LCQSessionReplay);
|
|
14
|
+
const LCQNetworkLogger = resolve('LCQNetworkLogger', legacy.LCQNetworkLogger);
|
|
15
|
+
export const NativeModules = {
|
|
16
|
+
LCQAPM,
|
|
17
|
+
LCQBugReporting,
|
|
18
|
+
LCQCrashReporting,
|
|
19
|
+
LCQFeatureRequests,
|
|
20
|
+
Luciq,
|
|
21
|
+
LCQReplies,
|
|
22
|
+
LCQSurveys,
|
|
23
|
+
LCQSessionReplay,
|
|
24
|
+
LCQNetworkLogger,
|
|
25
|
+
};
|
|
@@ -4,7 +4,7 @@ export interface RepliesNativeModule extends NativeModule {
|
|
|
4
4
|
show(): void;
|
|
5
5
|
hasChats(): Promise<boolean>;
|
|
6
6
|
getUnreadRepliesCount(): Promise<number>;
|
|
7
|
-
setOnNewReplyReceivedHandler(
|
|
7
|
+
setOnNewReplyReceivedHandler(): void;
|
|
8
8
|
setPushNotificationsEnabled(isEnabled: boolean): void;
|
|
9
9
|
setInAppNotificationEnabled(isEnabled: boolean): void;
|
|
10
10
|
setInAppNotificationSound(isEnabled: boolean): void;
|
|
@@ -11,8 +11,8 @@ export interface SurveysNativeModule extends NativeModule {
|
|
|
11
11
|
hasRespondedToSurvey(surveyToken: string): Promise<boolean>;
|
|
12
12
|
setShouldShowWelcomeScreen(shouldShowWelcomeScreen: boolean): void;
|
|
13
13
|
setAppStoreURL(appStoreURL: string): void;
|
|
14
|
-
setOnShowHandler(
|
|
15
|
-
setOnDismissHandler(
|
|
14
|
+
setOnShowHandler(): void;
|
|
15
|
+
setOnDismissHandler(): void;
|
|
16
16
|
}
|
|
17
17
|
export declare const NativeSurveys: SurveysNativeModule;
|
|
18
18
|
export declare enum NativeEvents {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
+
export interface Spec extends TurboModule {
|
|
4
|
+
setEnabled(isEnabled: boolean): void;
|
|
5
|
+
networkLogAndroid(requestStartTime: number, requestDuration: number, requestHeaders: string, requestBody: string, requestBodySize: number, requestMethod: string, requestUrl: string, requestContentType: string, responseHeaders: string, responseBody: string | null, responseBodySize: number, statusCode: number, responseContentType: string, errorDomain: string, w3cExternalTraceAttributes: UnsafeObject, gqlQueryName: string | null, serverErrorMessage: string | null): void;
|
|
6
|
+
setAppLaunchEnabled(isEnabled: boolean): void;
|
|
7
|
+
endAppLaunch(): void;
|
|
8
|
+
startFlow(name: string): void;
|
|
9
|
+
endFlow(name: string): void;
|
|
10
|
+
setFlowAttribute(name: string, key: string, value: string | null): void;
|
|
11
|
+
setAutoUITraceEnabled(isEnabled: boolean): void;
|
|
12
|
+
startUITrace(name: string): void;
|
|
13
|
+
endUITrace(): void;
|
|
14
|
+
lcqSleep(): void;
|
|
15
|
+
setScreenRenderingEnabled(isEnabled: boolean): void;
|
|
16
|
+
syncCustomSpan(name: string, startTimestamp: number, endTimestamp: number): Promise<void>;
|
|
17
|
+
isCustomSpanEnabled(): Promise<boolean>;
|
|
18
|
+
isAPMEnabled(): Promise<boolean>;
|
|
19
|
+
}
|
|
20
|
+
declare const _default: Spec;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
export interface Spec extends TurboModule {
|
|
3
|
+
setEnabled(isEnabled: boolean): void;
|
|
4
|
+
show(type: string, options: string[]): void;
|
|
5
|
+
setInvocationEvents(events: string[]): void;
|
|
6
|
+
setOptions(options: string[]): void;
|
|
7
|
+
setExtendedBugReportMode(mode: string): void;
|
|
8
|
+
setReportTypes(types: string[]): void;
|
|
9
|
+
setDisclaimerText(text: string): void;
|
|
10
|
+
setCommentMinimumCharacterCount(limit: number, reportTypes: string[]): void;
|
|
11
|
+
setFloatingButtonEdge(edge: string, offset: number): void;
|
|
12
|
+
setVideoRecordingFloatingButtonPosition(buttonPosition: string): void;
|
|
13
|
+
setEnabledAttachmentTypes(screenshot: boolean, extraScreenshot: boolean, galleryImage: boolean, screenRecording: boolean): void;
|
|
14
|
+
setAutoScreenRecordingEnabled(isEnabled: boolean): void;
|
|
15
|
+
setAutoScreenRecordingDuration(maxDuration: number): void;
|
|
16
|
+
setViewHierarchyEnabled(isEnabled: boolean): void;
|
|
17
|
+
setShakingThresholdForiPhone(threshold: number): void;
|
|
18
|
+
setShakingThresholdForiPad(threshold: number): void;
|
|
19
|
+
setShakingThresholdForAndroid(threshold: number): void;
|
|
20
|
+
setOnInvokeHandler(): void;
|
|
21
|
+
setDidSelectPromptOptionHandler(): void;
|
|
22
|
+
setOnSDKDismissedHandler(): void;
|
|
23
|
+
addUserConsent(key: string, description: string, mandatory: boolean, checked: boolean, actionType: string | null): void;
|
|
24
|
+
setProactiveReportingConfigurations(enabled: boolean, gapBetweenModals: number, modalDelayAfterDetection: number): void;
|
|
25
|
+
addListener(eventName: string): void;
|
|
26
|
+
removeListeners(count: number): void;
|
|
27
|
+
}
|
|
28
|
+
declare const _default: Spec;
|
|
29
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
+
export interface Spec extends TurboModule {
|
|
4
|
+
setEnabled(isEnabled: boolean): void;
|
|
5
|
+
sendJSCrash(data: UnsafeObject): Promise<void>;
|
|
6
|
+
sendHandledJSCrash(data: UnsafeObject, userAttributes: UnsafeObject | null, fingerprint: string | null, nonFatalExceptionLevel: string | null): Promise<void>;
|
|
7
|
+
setNDKCrashesEnabled(isEnabled: boolean): Promise<void>;
|
|
8
|
+
addListener(eventName: string): void;
|
|
9
|
+
removeListeners(count: number): void;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: Spec;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
export interface Spec extends TurboModule {
|
|
3
|
+
setEnabled(isEnabled: boolean): void;
|
|
4
|
+
show(): void;
|
|
5
|
+
setEmailFieldRequiredForFeatureRequests(isEmailFieldRequired: boolean, types: string[]): void;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: Spec;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
+
export interface Spec extends TurboModule {
|
|
4
|
+
getAllConstants(): UnsafeObject;
|
|
5
|
+
setEnabled(isEnabled: boolean): void;
|
|
6
|
+
isBuilt(): Promise<boolean>;
|
|
7
|
+
init(token: string, invocationEvents: string[], debugLogsLevel: string, useNativeNetworkInterception: boolean, codePushVersion: string | null, appVariant: string | null, options: UnsafeObject | null, overAirVersion: UnsafeObject | null): void;
|
|
8
|
+
show(): void;
|
|
9
|
+
setCodePushVersion(version: string): void;
|
|
10
|
+
setOverAirVersion(OTAserviceVersion: UnsafeObject): void;
|
|
11
|
+
setAppVariant(appVariant: string): void;
|
|
12
|
+
setLCQLogPrintsToConsole(printsToConsole: boolean): void;
|
|
13
|
+
setSessionProfilerEnabled(isEnabled: boolean): void;
|
|
14
|
+
setLocale(sdkLocale: string): void;
|
|
15
|
+
setColorTheme(sdkTheme: string): void;
|
|
16
|
+
setPrimaryColor(color: number | null): void;
|
|
17
|
+
setString(string: string, key: string): void;
|
|
18
|
+
networkLogAndroid(url: string, requestBody: string, responseBody: string | null, method: string, responseCode: number, requestHeaders: string, responseHeaders: string, duration: number): void;
|
|
19
|
+
networkLogIOS(url: string, method: string, requestBody: string | null, requestBodySize: number, responseBody: string | null, responseBodySize: number, responseCode: number, requestHeaders: UnsafeObject, responseHeaders: UnsafeObject, contentType: string, errorDomain: string, errorCode: number, startTime: number, duration: number, gqlQueryName: string | null, serverErrorMessage: string | null, w3cExternalTraceAttributes: UnsafeObject): void;
|
|
20
|
+
setNetworkLoggingEnabled(isEnabled: boolean): void;
|
|
21
|
+
setNetworkLogBodyEnabled(isEnabled: boolean): void;
|
|
22
|
+
setReproStepsConfig(bugMode: string, crashMode: string, sessionReplay: string): void;
|
|
23
|
+
setTrackUserSteps(isEnabled: boolean): void;
|
|
24
|
+
reportScreenChange(firstScreen: string): void;
|
|
25
|
+
reportCurrentViewChange(screenName: string): void;
|
|
26
|
+
addPrivateView(nativeTag: number | null): void;
|
|
27
|
+
removePrivateView(nativeTag: number | null): void;
|
|
28
|
+
logVerbose(message: string): void;
|
|
29
|
+
logInfo(message: string): void;
|
|
30
|
+
logDebug(message: string): void;
|
|
31
|
+
logError(message: string): void;
|
|
32
|
+
logWarn(message: string): void;
|
|
33
|
+
clearLogs(): void;
|
|
34
|
+
identifyUser(email: string, name: string, id: string | null): void;
|
|
35
|
+
logOut(): void;
|
|
36
|
+
logUserEvent(name: string): void;
|
|
37
|
+
setUserData(data: string): void;
|
|
38
|
+
setUserAttribute(key: string, value: string): void;
|
|
39
|
+
getUserAttribute(key: string): Promise<string>;
|
|
40
|
+
removeUserAttribute(key: string): void;
|
|
41
|
+
getAllUserAttributes(): Promise<UnsafeObject>;
|
|
42
|
+
clearAllUserAttributes(): void;
|
|
43
|
+
showWelcomeMessageWithMode(mode: string): void;
|
|
44
|
+
setWelcomeMessageMode(mode: string): void;
|
|
45
|
+
appendTags(tags: string[]): void;
|
|
46
|
+
resetTags(): void;
|
|
47
|
+
getTags(): Promise<string[]>;
|
|
48
|
+
addFeatureFlags(featureFlags: UnsafeObject): void;
|
|
49
|
+
removeFeatureFlags(featureFlags: string[]): void;
|
|
50
|
+
removeAllFeatureFlags(): void;
|
|
51
|
+
setFileAttachment(filePath: string, fileName: string | null): void;
|
|
52
|
+
setPreSendingHandler(): void;
|
|
53
|
+
appendTagToReport(tag: string): void;
|
|
54
|
+
appendConsoleLogToReport(consoleLog: string): void;
|
|
55
|
+
setUserAttributeToReport(key: string, value: string): void;
|
|
56
|
+
logDebugToReport(log: string): void;
|
|
57
|
+
logVerboseToReport(log: string): void;
|
|
58
|
+
logWarnToReport(log: string): void;
|
|
59
|
+
logErrorToReport(log: string): void;
|
|
60
|
+
logInfoToReport(log: string): void;
|
|
61
|
+
addFileAttachmentWithURLToReport(url: string, filename: string | null): void;
|
|
62
|
+
addFileAttachmentWithDataToReport(data: string, filename: string | null): void;
|
|
63
|
+
willRedirectToStore(): void;
|
|
64
|
+
isW3ExternalTraceIDEnabled(): Promise<boolean>;
|
|
65
|
+
isW3ExternalGeneratedHeaderEnabled(): Promise<boolean>;
|
|
66
|
+
isW3CaughtHeaderEnabled(): Promise<boolean>;
|
|
67
|
+
registerFeatureFlagsChangeListener(): void;
|
|
68
|
+
setOnFeaturesUpdatedListener(): void;
|
|
69
|
+
enableAutoMasking(autoMaskingTypes: string[]): void;
|
|
70
|
+
getNetworkBodyMaxSize(): Promise<number>;
|
|
71
|
+
setTheme(theme: UnsafeObject): void;
|
|
72
|
+
setFullscreen(isEnabled: boolean): void;
|
|
73
|
+
setWebViewMonitoringEnabled(isEnabled: boolean): void;
|
|
74
|
+
setWebViewNetworkTrackingEnabled(isEnabled: boolean): void;
|
|
75
|
+
setWebViewUserInteractionsTrackingEnabled(isEnabled: boolean): void;
|
|
76
|
+
addListener(eventName: string): void;
|
|
77
|
+
removeListeners(count: number): void;
|
|
78
|
+
}
|
|
79
|
+
declare const _default: Spec;
|
|
80
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
+
export interface Spec extends TurboModule {
|
|
4
|
+
isNativeInterceptionEnabled(): boolean;
|
|
5
|
+
registerNetworkLogsListener(type: string | null): void;
|
|
6
|
+
updateNetworkLogSnapshot(url: string, callbackID: string, requestBody: string | null, responseBody: string | null, responseCode: number, requestHeaders: UnsafeObject, responseHeaders: UnsafeObject): void;
|
|
7
|
+
hasAPMNetworkPlugin(): Promise<boolean>;
|
|
8
|
+
resetNetworkLogsListener(): void;
|
|
9
|
+
setNetworkLoggingRequestFilterPredicateIOS(id: string, value: boolean): void;
|
|
10
|
+
forceStartNetworkLoggingIOS(): void;
|
|
11
|
+
forceStopNetworkLoggingIOS(): void;
|
|
12
|
+
addListener(eventName: string): void;
|
|
13
|
+
removeListeners(count: number): void;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: Spec;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
+
export interface Spec extends TurboModule {
|
|
4
|
+
setEnabled(isEnabled: boolean): void;
|
|
5
|
+
show(): void;
|
|
6
|
+
hasChats(): Promise<boolean>;
|
|
7
|
+
getUnreadRepliesCount(): Promise<number>;
|
|
8
|
+
setOnNewReplyReceivedHandler(): void;
|
|
9
|
+
setPushNotificationsEnabled(isEnabled: boolean): void;
|
|
10
|
+
setInAppNotificationEnabled(isEnabled: boolean): void;
|
|
11
|
+
setInAppNotificationSound(isEnabled: boolean): void;
|
|
12
|
+
setPushNotificationRegistrationToken(token: string): void;
|
|
13
|
+
showNotification(data: UnsafeObject): void;
|
|
14
|
+
setNotificationIcon(resourceId: number): void;
|
|
15
|
+
setPushNotificationChannelId(id: string): void;
|
|
16
|
+
setSystemReplyNotificationSoundEnabled(isEnabled: boolean): void;
|
|
17
|
+
addListener(eventName: string): void;
|
|
18
|
+
removeListeners(count: number): void;
|
|
19
|
+
}
|
|
20
|
+
declare const _default: Spec;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
export interface Spec extends TurboModule {
|
|
3
|
+
setEnabled(isEnabled: boolean): void;
|
|
4
|
+
setNetworkLogsEnabled(isEnabled: boolean): void;
|
|
5
|
+
setLuciqLogsEnabled(isEnabled: boolean): void;
|
|
6
|
+
setUserStepsEnabled(isEnabled: boolean): void;
|
|
7
|
+
getSessionReplayLink(): Promise<string>;
|
|
8
|
+
setSyncCallback(): Promise<void>;
|
|
9
|
+
evaluateSync(shouldSync: boolean): void;
|
|
10
|
+
setCapturingMode(mode: string): void;
|
|
11
|
+
setScreenshotQuality(quality: string): void;
|
|
12
|
+
setScreenshotCaptureInterval(intervalMs: number): void;
|
|
13
|
+
addListener(eventName: string): void;
|
|
14
|
+
removeListeners(count: number): void;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: Spec;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
+
export interface Spec extends TurboModule {
|
|
4
|
+
setEnabled(isEnabled: boolean): void;
|
|
5
|
+
setAutoShowingEnabled(autoShowingSurveysEnabled: boolean): void;
|
|
6
|
+
showSurvey(surveyToken: string): void;
|
|
7
|
+
showSurveysIfAvailable(): void;
|
|
8
|
+
getAvailableSurveys(): Promise<UnsafeObject[]>;
|
|
9
|
+
hasRespondedToSurvey(surveyToken: string): Promise<boolean>;
|
|
10
|
+
setShouldShowWelcomeScreen(shouldShowWelcomeScreen: boolean): void;
|
|
11
|
+
setAppStoreURL(appStoreURL: string): void;
|
|
12
|
+
setOnShowHandler(): void;
|
|
13
|
+
setOnDismissHandler(): void;
|
|
14
|
+
addListener(eventName: string): void;
|
|
15
|
+
removeListeners(count: number): void;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: Spec;
|
|
18
|
+
export default _default;
|
package/dist/utils/Enums.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { NativeLuciq } from '../native/NativeLuciq';
|
|
2
|
-
const constants = NativeLuciq.getConstants
|
|
2
|
+
const constants = typeof NativeLuciq.getConstants === 'function'
|
|
3
|
+
? NativeLuciq.getConstants()
|
|
4
|
+
: NativeLuciq.getAllConstants();
|
|
3
5
|
/**
|
|
4
6
|
* Verbosity level of the SDK debug logs. This has nothing to do with `Luciq.log`,
|
|
5
7
|
* and only affect the logs used to debug the SDK itself.
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
export declare function initFeatureFlagsCache(): Promise<void>;
|
|
2
|
-
export declare function getCachedW3cFlags(): {
|
|
3
|
-
isW3cExternalTraceIDEnabled: boolean;
|
|
4
|
-
isW3cExternalGeneratedHeaderEnabled: boolean;
|
|
5
|
-
isW3cCaughtHeaderEnabled: boolean;
|
|
6
|
-
};
|
|
7
1
|
export declare const FeatureFlags: {
|
|
8
2
|
isW3ExternalTraceID: () => Promise<boolean>;
|
|
9
3
|
isW3ExternalGeneratedHeader: () => Promise<boolean>;
|
|
@@ -1,34 +1,5 @@
|
|
|
1
1
|
import { NativeLuciq } from '../native/NativeLuciq';
|
|
2
2
|
import { _registerFeatureFlagsChangeListener } from '../modules/Luciq';
|
|
3
|
-
import { Logger } from './logger';
|
|
4
|
-
const TAG = 'LCQ-RN-NET:';
|
|
5
|
-
let cachedW3cFlags = {
|
|
6
|
-
isW3cExternalTraceIDEnabled: false,
|
|
7
|
-
isW3cExternalGeneratedHeaderEnabled: false,
|
|
8
|
-
isW3cCaughtHeaderEnabled: false,
|
|
9
|
-
};
|
|
10
|
-
export async function initFeatureFlagsCache() {
|
|
11
|
-
Logger.debug(TAG, '[FeatureFlags] Initializing W3C feature flags cache from native bridge...');
|
|
12
|
-
try {
|
|
13
|
-
const [traceID, generatedHeader, caughtHeader] = await Promise.all([
|
|
14
|
-
NativeLuciq.isW3ExternalTraceIDEnabled(),
|
|
15
|
-
NativeLuciq.isW3ExternalGeneratedHeaderEnabled(),
|
|
16
|
-
NativeLuciq.isW3CaughtHeaderEnabled(),
|
|
17
|
-
]);
|
|
18
|
-
cachedW3cFlags = {
|
|
19
|
-
isW3cExternalTraceIDEnabled: traceID,
|
|
20
|
-
isW3cExternalGeneratedHeaderEnabled: generatedHeader,
|
|
21
|
-
isW3cCaughtHeaderEnabled: caughtHeader,
|
|
22
|
-
};
|
|
23
|
-
Logger.debug(TAG, `[FeatureFlags] Cache initialized: traceID=${traceID}, generatedHeader=${generatedHeader}, caughtHeader=${caughtHeader}`);
|
|
24
|
-
}
|
|
25
|
-
catch (e) {
|
|
26
|
-
Logger.debug(TAG, '[FeatureFlags] Failed to initialize cache, using defaults (all false):', e);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export function getCachedW3cFlags() {
|
|
30
|
-
return cachedW3cFlags;
|
|
31
|
-
}
|
|
32
3
|
export const FeatureFlags = {
|
|
33
4
|
isW3ExternalTraceID: () => NativeLuciq.isW3ExternalTraceIDEnabled(),
|
|
34
5
|
isW3ExternalGeneratedHeader: () => NativeLuciq.isW3ExternalGeneratedHeaderEnabled(),
|
|
@@ -37,12 +8,6 @@ export const FeatureFlags = {
|
|
|
37
8
|
};
|
|
38
9
|
export const registerFeatureFlagsListener = () => {
|
|
39
10
|
_registerFeatureFlagsChangeListener((res) => {
|
|
40
|
-
Logger.debug(TAG, `[FeatureFlags] Flags updated from native listener: traceID=${res.isW3ExternalTraceIDEnabled}, generatedHeader=${res.isW3ExternalGeneratedHeaderEnabled}, caughtHeader=${res.isW3CaughtHeaderEnabled}, bodyLimit=${res.networkBodyLimit}`);
|
|
41
|
-
cachedW3cFlags = {
|
|
42
|
-
isW3cExternalTraceIDEnabled: res.isW3ExternalTraceIDEnabled,
|
|
43
|
-
isW3cExternalGeneratedHeaderEnabled: res.isW3ExternalGeneratedHeaderEnabled,
|
|
44
|
-
isW3cCaughtHeaderEnabled: res.isW3CaughtHeaderEnabled,
|
|
45
|
-
};
|
|
46
11
|
FeatureFlags.isW3ExternalTraceID = async () => {
|
|
47
12
|
return res.isW3ExternalTraceIDEnabled;
|
|
48
13
|
};
|
|
@@ -28,7 +28,7 @@ export declare const stringifyIfNotString: (input: unknown) => string;
|
|
|
28
28
|
* `sendCrashReport(error, NativeCrashReporting.sendJSCrash);`
|
|
29
29
|
*
|
|
30
30
|
*/
|
|
31
|
-
export declare function sendCrashReport(error: ExtendedError, remoteSenderCallback: (json: CrashData
|
|
31
|
+
export declare function sendCrashReport(error: ExtendedError, remoteSenderCallback: (json: CrashData) => Promise<void>): Promise<void>;
|
|
32
32
|
/**
|
|
33
33
|
* Generate random 32 bit unsigned integer Hexadecimal (8 chars) lower case letters
|
|
34
34
|
* Should not return all zeros
|
package/dist/utils/LuciqUtils.js
CHANGED
|
@@ -3,7 +3,6 @@ import parseErrorStackLib from 'react-native/Libraries/Core/Devtools/parseErrorS
|
|
|
3
3
|
import { NativeCrashReporting } from '../native/NativeCrashReporting';
|
|
4
4
|
import { NativeLuciq } from '../native/NativeLuciq';
|
|
5
5
|
import { NativeAPM } from '../native/NativeAPM';
|
|
6
|
-
import { Logger } from './logger';
|
|
7
6
|
import * as NetworkLogger from '../modules/NetworkLogger';
|
|
8
7
|
import { NativeNetworkLogger, NativeNetworkLoggerEvent, NetworkListenerType, NetworkLoggerEmitter, } from '../native/NativeNetworkLogger';
|
|
9
8
|
let apmFlags = {
|
|
@@ -129,9 +128,6 @@ export const stringifyIfNotString = (input) => {
|
|
|
129
128
|
*/
|
|
130
129
|
export async function sendCrashReport(error, remoteSenderCallback) {
|
|
131
130
|
const jsonObject = getCrashDataFromError(error);
|
|
132
|
-
if (Platform.OS === 'android') {
|
|
133
|
-
return remoteSenderCallback(JSON.stringify(jsonObject));
|
|
134
|
-
}
|
|
135
131
|
return remoteSenderCallback(jsonObject);
|
|
136
132
|
}
|
|
137
133
|
/**
|
|
@@ -182,12 +178,10 @@ export const reportNetworkLog = (network) => {
|
|
|
182
178
|
if (Platform.OS === 'android') {
|
|
183
179
|
const requestHeaders = JSON.stringify(network.requestHeaders);
|
|
184
180
|
const responseHeaders = JSON.stringify(network.responseHeaders);
|
|
185
|
-
Logger.debug('LCQ-RN-NET:', `[reportNetworkLog] Sending to NativeLuciq.networkLogAndroid: ${network.method} ${network.url}, status=${network.responseCode}, duration=${network.duration}ms, error=${network.errorDomain || 'none'}`);
|
|
186
181
|
NativeLuciq.networkLogAndroid(network.url, network.requestBody, network.responseBody, network.method, network.responseCode, requestHeaders, responseHeaders, network.duration);
|
|
187
182
|
if (!apmFlags.isNativeInterceptionFeatureEnabled ||
|
|
188
183
|
!apmFlags.hasAPMNetworkPlugin ||
|
|
189
184
|
!apmFlags.shouldEnableNativeInterception) {
|
|
190
|
-
Logger.debug('LCQ-RN-NET:', `[reportNetworkLog] Also sending to NativeAPM.networkLogAndroid (native interception disabled): ${network.method} ${network.url}`);
|
|
191
185
|
NativeAPM.networkLogAndroid(network.startTime, network.duration, requestHeaders, network.requestBody, network.requestBodySize, network.method, network.url, network.requestContentType, responseHeaders, network.responseBody, network.responseBodySize, network.responseCode, network.contentType, network.errorDomain, {
|
|
192
186
|
isW3cHeaderFound: network.isW3cHeaderFound,
|
|
193
187
|
partialId: network.partialId,
|
|
@@ -196,9 +190,6 @@ export const reportNetworkLog = (network) => {
|
|
|
196
190
|
w3cCaughtHeader: network.w3cCaughtHeader,
|
|
197
191
|
}, network.gqlQueryName, network.serverErrorMessage);
|
|
198
192
|
}
|
|
199
|
-
else {
|
|
200
|
-
Logger.debug('LCQ-RN-NET:', `[reportNetworkLog] Skipping NativeAPM.networkLogAndroid (native interception enabled): nativeFeature=${apmFlags.isNativeInterceptionFeatureEnabled}, hasPlugin=${apmFlags.hasAPMNetworkPlugin}, shouldEnable=${apmFlags.shouldEnableNativeInterception}`);
|
|
201
|
-
}
|
|
202
193
|
}
|
|
203
194
|
else {
|
|
204
195
|
NativeLuciq.networkLogIOS(network.url, network.method, network.requestBody, network.requestBodySize, network.responseBody, network.responseBodySize, network.responseCode, network.requestHeaders, network.responseHeaders, network.contentType, network.errorDomain, network.errorCode, network.startTime, network.duration, network.gqlQueryName, network.serverErrorMessage, {
|