@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.
Files changed (119) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +118 -0
  3. package/RNLuciq.podspec +6 -2
  4. package/android/build.gradle +25 -0
  5. package/android/native.gradle +1 -1
  6. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqAPMModule.java +3 -12
  7. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqBugReportingModule.java +28 -24
  8. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqCrashReportingModule.java +18 -7
  9. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqFeatureRequestsModule.java +1 -2
  10. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqNetworkLoggerModule.java +29 -56
  11. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqReactnativeModule.java +121 -47
  12. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqReactnativePackage.java +2 -0
  13. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqRepliesModule.java +4 -16
  14. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqSessionReplayModule.java +5 -16
  15. package/android/src/main/java/ai/luciq/reactlibrary/RNLuciqSurveysModule.java +7 -15
  16. package/android/src/main/java/ai/luciq/reactlibrary/utils/EventEmitterModule.java +0 -7
  17. package/android/src/main/java/ai/luciq/reactlibrary/utils/ReportUtil.java +0 -7
  18. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqAPMBaseSpec.java +9 -0
  19. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqBaseSpec.java +33 -0
  20. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqBugReportingBaseSpec.java +33 -0
  21. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqCrashReportingBaseSpec.java +9 -0
  22. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqFeatureRequestsBaseSpec.java +9 -0
  23. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqNetworkLoggerBaseSpec.java +33 -0
  24. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqRepliesBaseSpec.java +33 -0
  25. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqSessionReplayBaseSpec.java +33 -0
  26. package/android/src/newarch/java/ai/luciq/reactlibrary/RNLuciqSurveysBaseSpec.java +33 -0
  27. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqAPMBaseSpec.java +11 -0
  28. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqBaseSpec.java +22 -0
  29. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqBugReportingBaseSpec.java +22 -0
  30. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqCrashReportingBaseSpec.java +10 -0
  31. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqFeatureRequestsBaseSpec.java +10 -0
  32. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqNetworkLoggerBaseSpec.java +22 -0
  33. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqRepliesBaseSpec.java +22 -0
  34. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqSessionReplayBaseSpec.java +22 -0
  35. package/android/src/oldarch/java/ai/luciq/reactlibrary/RNLuciqSurveysBaseSpec.java +22 -0
  36. package/dist/modules/BugReporting.js +3 -3
  37. package/dist/modules/Luciq.d.ts +15 -0
  38. package/dist/modules/Luciq.js +23 -3
  39. package/dist/modules/NetworkLogger.d.ts +5 -0
  40. package/dist/modules/NetworkLogger.js +1 -9
  41. package/dist/modules/Replies.js +1 -1
  42. package/dist/modules/Surveys.js +2 -2
  43. package/dist/native/NativeBugReporting.d.ts +4 -4
  44. package/dist/native/NativeCrashReporting.d.ts +2 -2
  45. package/dist/native/NativeLuciq.d.ts +5 -3
  46. package/dist/native/NativePackage.js +25 -2
  47. package/dist/native/NativeReplies.d.ts +1 -1
  48. package/dist/native/NativeSurveys.d.ts +2 -2
  49. package/dist/native/specs/NativeAPM.d.ts +21 -0
  50. package/dist/native/specs/NativeAPM.js +2 -0
  51. package/dist/native/specs/NativeBugReporting.d.ts +29 -0
  52. package/dist/native/specs/NativeBugReporting.js +2 -0
  53. package/dist/native/specs/NativeCrashReporting.d.ts +12 -0
  54. package/dist/native/specs/NativeCrashReporting.js +2 -0
  55. package/dist/native/specs/NativeFeatureRequests.d.ts +8 -0
  56. package/dist/native/specs/NativeFeatureRequests.js +2 -0
  57. package/dist/native/specs/NativeLuciq.d.ts +80 -0
  58. package/dist/native/specs/NativeLuciq.js +2 -0
  59. package/dist/native/specs/NativeNetworkLogger.d.ts +16 -0
  60. package/dist/native/specs/NativeNetworkLogger.js +2 -0
  61. package/dist/native/specs/NativeReplies.d.ts +21 -0
  62. package/dist/native/specs/NativeReplies.js +2 -0
  63. package/dist/native/specs/NativeSessionReplay.d.ts +17 -0
  64. package/dist/native/specs/NativeSessionReplay.js +2 -0
  65. package/dist/native/specs/NativeSurveys.d.ts +18 -0
  66. package/dist/native/specs/NativeSurveys.js +2 -0
  67. package/dist/utils/Enums.js +3 -1
  68. package/dist/utils/FeatureFlags.d.ts +0 -6
  69. package/dist/utils/FeatureFlags.js +0 -35
  70. package/dist/utils/LuciqUtils.d.ts +1 -1
  71. package/dist/utils/LuciqUtils.js +0 -9
  72. package/dist/utils/XhrNetworkInterceptor.js +53 -85
  73. package/ios/RNLuciq/LuciqAPMBridge.h +5 -5
  74. package/ios/RNLuciq/{LuciqAPMBridge.m → LuciqAPMBridge.mm} +48 -39
  75. package/ios/RNLuciq/LuciqBugReportingBridge.h +6 -6
  76. package/ios/RNLuciq/LuciqBugReportingBridge.mm +234 -0
  77. package/ios/RNLuciq/LuciqCrashReportingBridge.h +16 -5
  78. package/ios/RNLuciq/LuciqCrashReportingBridge.mm +91 -0
  79. package/ios/RNLuciq/LuciqFeatureRequestsBridge.h +1 -1
  80. package/ios/RNLuciq/{LuciqFeatureRequestsBridge.m → LuciqFeatureRequestsBridge.mm} +21 -16
  81. package/ios/RNLuciq/LuciqNetworkLoggerBridge.h +1 -30
  82. package/ios/RNLuciq/{LuciqNetworkLoggerBridge.m → LuciqNetworkLoggerBridge.mm} +46 -77
  83. package/ios/RNLuciq/LuciqReactBridge.h +13 -13
  84. package/ios/RNLuciq/{LuciqReactBridge.m → LuciqReactBridge.mm} +95 -34
  85. package/ios/RNLuciq/LuciqRepliesBridge.h +3 -3
  86. package/ios/RNLuciq/LuciqRepliesBridge.mm +86 -0
  87. package/ios/RNLuciq/LuciqSessionReplayBridge.h +5 -5
  88. package/ios/RNLuciq/{LuciqSessionReplayBridge.m → LuciqSessionReplayBridge.mm} +35 -25
  89. package/ios/RNLuciq/LuciqSurveysBridge.h +5 -5
  90. package/ios/RNLuciq/{LuciqSurveysBridge.m → LuciqSurveysBridge.mm} +34 -35
  91. package/ios/native.rb +1 -1
  92. package/package.json +9 -1
  93. package/src/modules/BugReporting.ts +3 -3
  94. package/src/modules/Luciq.ts +26 -4
  95. package/src/modules/NetworkLogger.ts +1 -26
  96. package/src/modules/Replies.ts +1 -1
  97. package/src/modules/Surveys.ts +2 -2
  98. package/src/native/NativeBugReporting.ts +3 -6
  99. package/src/native/NativeCrashReporting.ts +2 -2
  100. package/src/native/NativeLuciq.ts +7 -3
  101. package/src/native/NativePackage.ts +52 -2
  102. package/src/native/NativeReplies.ts +1 -1
  103. package/src/native/NativeSurveys.ts +2 -2
  104. package/src/native/specs/NativeAPM.ts +47 -0
  105. package/src/native/specs/NativeBugReporting.ts +53 -0
  106. package/src/native/specs/NativeCrashReporting.ts +23 -0
  107. package/src/native/specs/NativeFeatureRequests.ts +10 -0
  108. package/src/native/specs/NativeLuciq.ts +137 -0
  109. package/src/native/specs/NativeNetworkLogger.ts +31 -0
  110. package/src/native/specs/NativeReplies.ts +27 -0
  111. package/src/native/specs/NativeSessionReplay.ts +20 -0
  112. package/src/native/specs/NativeSurveys.ts +23 -0
  113. package/src/utils/Enums.ts +4 -1
  114. package/src/utils/FeatureFlags.ts +0 -44
  115. package/src/utils/LuciqUtils.ts +1 -21
  116. package/src/utils/XhrNetworkInterceptor.ts +55 -128
  117. package/ios/RNLuciq/LuciqBugReportingBridge.m +0 -249
  118. package/ios/RNLuciq/LuciqCrashReportingBridge.m +0 -68
  119. package/ios/RNLuciq/LuciqRepliesBridge.m +0 -80
@@ -0,0 +1,53 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import { TurboModuleRegistry } from 'react-native';
3
+
4
+ export interface Spec extends TurboModule {
5
+ setEnabled(isEnabled: boolean): void;
6
+ show(type: string, options: string[]): void;
7
+
8
+ setInvocationEvents(events: string[]): void;
9
+ setOptions(options: string[]): void;
10
+ setExtendedBugReportMode(mode: string): void;
11
+ setReportTypes(types: string[]): void;
12
+ setDisclaimerText(text: string): void;
13
+ setCommentMinimumCharacterCount(limit: number, reportTypes: string[]): void;
14
+ setFloatingButtonEdge(edge: string, offset: number): void;
15
+ setVideoRecordingFloatingButtonPosition(buttonPosition: string): void;
16
+ setEnabledAttachmentTypes(
17
+ screenshot: boolean,
18
+ extraScreenshot: boolean,
19
+ galleryImage: boolean,
20
+ screenRecording: boolean,
21
+ ): void;
22
+
23
+ setAutoScreenRecordingEnabled(isEnabled: boolean): void;
24
+ setAutoScreenRecordingDuration(maxDuration: number): void;
25
+ setViewHierarchyEnabled(isEnabled: boolean): void;
26
+
27
+ setShakingThresholdForiPhone(threshold: number): void;
28
+ setShakingThresholdForiPad(threshold: number): void;
29
+ setShakingThresholdForAndroid(threshold: number): void;
30
+
31
+ setOnInvokeHandler(): void;
32
+ setDidSelectPromptOptionHandler(): void;
33
+ setOnSDKDismissedHandler(): void;
34
+
35
+ addUserConsent(
36
+ key: string,
37
+ description: string,
38
+ mandatory: boolean,
39
+ checked: boolean,
40
+ actionType: string | null,
41
+ ): void;
42
+
43
+ setProactiveReportingConfigurations(
44
+ enabled: boolean,
45
+ gapBetweenModals: number,
46
+ modalDelayAfterDetection: number,
47
+ ): void;
48
+
49
+ addListener(eventName: string): void;
50
+ removeListeners(count: number): void;
51
+ }
52
+
53
+ export default TurboModuleRegistry.getEnforcing<Spec>('LCQBugReporting');
@@ -0,0 +1,23 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import { TurboModuleRegistry } from 'react-native';
4
+
5
+ export interface Spec extends TurboModule {
6
+ setEnabled(isEnabled: boolean): void;
7
+
8
+ sendJSCrash(data: UnsafeObject): Promise<void>;
9
+
10
+ sendHandledJSCrash(
11
+ data: UnsafeObject,
12
+ userAttributes: UnsafeObject | null,
13
+ fingerprint: string | null,
14
+ nonFatalExceptionLevel: string | null,
15
+ ): Promise<void>;
16
+
17
+ setNDKCrashesEnabled(isEnabled: boolean): Promise<void>;
18
+
19
+ addListener(eventName: string): void;
20
+ removeListeners(count: number): void;
21
+ }
22
+
23
+ export default TurboModuleRegistry.getEnforcing<Spec>('LCQCrashReporting');
@@ -0,0 +1,10 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import { TurboModuleRegistry } from 'react-native';
3
+
4
+ export interface Spec extends TurboModule {
5
+ setEnabled(isEnabled: boolean): void;
6
+ show(): void;
7
+ setEmailFieldRequiredForFeatureRequests(isEmailFieldRequired: boolean, types: string[]): void;
8
+ }
9
+
10
+ export default TurboModuleRegistry.getEnforcing<Spec>('LCQFeatureRequests');
@@ -0,0 +1,137 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import { TurboModuleRegistry } from 'react-native';
4
+
5
+ export interface Spec extends TurboModule {
6
+ getAllConstants(): UnsafeObject;
7
+ setEnabled(isEnabled: boolean): void;
8
+ isBuilt(): Promise<boolean>;
9
+ init(
10
+ token: string,
11
+ invocationEvents: string[],
12
+ debugLogsLevel: string,
13
+ useNativeNetworkInterception: boolean,
14
+ codePushVersion: string | null,
15
+ appVariant: string | null,
16
+ options: UnsafeObject | null,
17
+ overAirVersion: UnsafeObject | null,
18
+ ): void;
19
+ show(): void;
20
+
21
+ setCodePushVersion(version: string): void;
22
+ setOverAirVersion(OTAserviceVersion: UnsafeObject): void;
23
+ setAppVariant(appVariant: string): void;
24
+ setLCQLogPrintsToConsole(printsToConsole: boolean): void;
25
+ setSessionProfilerEnabled(isEnabled: boolean): void;
26
+
27
+ setLocale(sdkLocale: string): void;
28
+ setColorTheme(sdkTheme: string): void;
29
+ setPrimaryColor(color: number | null): void;
30
+ setString(string: string, key: string): void;
31
+
32
+ networkLogAndroid(
33
+ url: string,
34
+ requestBody: string,
35
+ responseBody: string | null,
36
+ method: string,
37
+ responseCode: number,
38
+ requestHeaders: string,
39
+ responseHeaders: string,
40
+ duration: number,
41
+ ): void;
42
+
43
+ networkLogIOS(
44
+ url: string,
45
+ method: string,
46
+ requestBody: string | null,
47
+ requestBodySize: number,
48
+ responseBody: string | null,
49
+ responseBodySize: number,
50
+ responseCode: number,
51
+ requestHeaders: UnsafeObject,
52
+ responseHeaders: UnsafeObject,
53
+ contentType: string,
54
+ errorDomain: string,
55
+ errorCode: number,
56
+ startTime: number,
57
+ duration: number,
58
+ gqlQueryName: string | null,
59
+ serverErrorMessage: string | null,
60
+ w3cExternalTraceAttributes: UnsafeObject,
61
+ ): void;
62
+
63
+ setNetworkLoggingEnabled(isEnabled: boolean): void;
64
+ setNetworkLogBodyEnabled(isEnabled: boolean): void;
65
+
66
+ setReproStepsConfig(bugMode: string, crashMode: string, sessionReplay: string): void;
67
+ setTrackUserSteps(isEnabled: boolean): void;
68
+ reportScreenChange(firstScreen: string): void;
69
+ reportCurrentViewChange(screenName: string): void;
70
+ addPrivateView(nativeTag: number | null): void;
71
+ removePrivateView(nativeTag: number | null): void;
72
+
73
+ logVerbose(message: string): void;
74
+ logInfo(message: string): void;
75
+ logDebug(message: string): void;
76
+ logError(message: string): void;
77
+ logWarn(message: string): void;
78
+ clearLogs(): void;
79
+
80
+ identifyUser(email: string, name: string, id: string | null): void;
81
+ logOut(): void;
82
+ logUserEvent(name: string): void;
83
+ setUserData(data: string): void;
84
+
85
+ setUserAttribute(key: string, value: string): void;
86
+ getUserAttribute(key: string): Promise<string>;
87
+ removeUserAttribute(key: string): void;
88
+ getAllUserAttributes(): Promise<UnsafeObject>;
89
+ clearAllUserAttributes(): void;
90
+
91
+ showWelcomeMessageWithMode(mode: string): void;
92
+ setWelcomeMessageMode(mode: string): void;
93
+
94
+ appendTags(tags: string[]): void;
95
+ resetTags(): void;
96
+ getTags(): Promise<string[]>;
97
+
98
+ addFeatureFlags(featureFlags: UnsafeObject): void;
99
+ removeFeatureFlags(featureFlags: string[]): void;
100
+ removeAllFeatureFlags(): void;
101
+
102
+ setFileAttachment(filePath: string, fileName: string | null): void;
103
+
104
+ setPreSendingHandler(): void;
105
+ appendTagToReport(tag: string): void;
106
+ appendConsoleLogToReport(consoleLog: string): void;
107
+ setUserAttributeToReport(key: string, value: string): void;
108
+ logDebugToReport(log: string): void;
109
+ logVerboseToReport(log: string): void;
110
+ logWarnToReport(log: string): void;
111
+ logErrorToReport(log: string): void;
112
+ logInfoToReport(log: string): void;
113
+ addFileAttachmentWithURLToReport(url: string, filename: string | null): void;
114
+ addFileAttachmentWithDataToReport(data: string, filename: string | null): void;
115
+ willRedirectToStore(): void;
116
+
117
+ isW3ExternalTraceIDEnabled(): Promise<boolean>;
118
+ isW3ExternalGeneratedHeaderEnabled(): Promise<boolean>;
119
+ isW3CaughtHeaderEnabled(): Promise<boolean>;
120
+
121
+ registerFeatureFlagsChangeListener(): void;
122
+ setOnFeaturesUpdatedListener(): void;
123
+ enableAutoMasking(autoMaskingTypes: string[]): void;
124
+ getNetworkBodyMaxSize(): Promise<number>;
125
+
126
+ setTheme(theme: UnsafeObject): void;
127
+ setFullscreen(isEnabled: boolean): void;
128
+
129
+ setWebViewMonitoringEnabled(isEnabled: boolean): void;
130
+ setWebViewNetworkTrackingEnabled(isEnabled: boolean): void;
131
+ setWebViewUserInteractionsTrackingEnabled(isEnabled: boolean): void;
132
+
133
+ addListener(eventName: string): void;
134
+ removeListeners(count: number): void;
135
+ }
136
+
137
+ export default TurboModuleRegistry.getEnforcing<Spec>('Luciq');
@@ -0,0 +1,31 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import { TurboModuleRegistry } from 'react-native';
4
+
5
+ export interface Spec extends TurboModule {
6
+ isNativeInterceptionEnabled(): boolean;
7
+
8
+ registerNetworkLogsListener(type: string | null): void;
9
+
10
+ updateNetworkLogSnapshot(
11
+ url: string,
12
+ callbackID: string,
13
+ requestBody: string | null,
14
+ responseBody: string | null,
15
+ responseCode: number,
16
+ requestHeaders: UnsafeObject,
17
+ responseHeaders: UnsafeObject,
18
+ ): void;
19
+
20
+ hasAPMNetworkPlugin(): Promise<boolean>;
21
+ resetNetworkLogsListener(): void;
22
+
23
+ setNetworkLoggingRequestFilterPredicateIOS(id: string, value: boolean): void;
24
+ forceStartNetworkLoggingIOS(): void;
25
+ forceStopNetworkLoggingIOS(): void;
26
+
27
+ addListener(eventName: string): void;
28
+ removeListeners(count: number): void;
29
+ }
30
+
31
+ export default TurboModuleRegistry.getEnforcing<Spec>('LCQNetworkLogger');
@@ -0,0 +1,27 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import { TurboModuleRegistry } from 'react-native';
4
+
5
+ export interface Spec extends TurboModule {
6
+ setEnabled(isEnabled: boolean): void;
7
+ show(): void;
8
+ hasChats(): Promise<boolean>;
9
+ getUnreadRepliesCount(): Promise<number>;
10
+
11
+ setOnNewReplyReceivedHandler(): void;
12
+
13
+ setPushNotificationsEnabled(isEnabled: boolean): void;
14
+ setInAppNotificationEnabled(isEnabled: boolean): void;
15
+
16
+ setInAppNotificationSound(isEnabled: boolean): void;
17
+ setPushNotificationRegistrationToken(token: string): void;
18
+ showNotification(data: UnsafeObject): void;
19
+ setNotificationIcon(resourceId: number): void;
20
+ setPushNotificationChannelId(id: string): void;
21
+ setSystemReplyNotificationSoundEnabled(isEnabled: boolean): void;
22
+
23
+ addListener(eventName: string): void;
24
+ removeListeners(count: number): void;
25
+ }
26
+
27
+ export default TurboModuleRegistry.getEnforcing<Spec>('LCQReplies');
@@ -0,0 +1,20 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import { TurboModuleRegistry } from 'react-native';
3
+
4
+ export interface Spec extends TurboModule {
5
+ setEnabled(isEnabled: boolean): void;
6
+ setNetworkLogsEnabled(isEnabled: boolean): void;
7
+ setLuciqLogsEnabled(isEnabled: boolean): void;
8
+ setUserStepsEnabled(isEnabled: boolean): void;
9
+ getSessionReplayLink(): Promise<string>;
10
+ setSyncCallback(): Promise<void>;
11
+ evaluateSync(shouldSync: boolean): void;
12
+ setCapturingMode(mode: string): void;
13
+ setScreenshotQuality(quality: string): void;
14
+ setScreenshotCaptureInterval(intervalMs: number): void;
15
+
16
+ addListener(eventName: string): void;
17
+ removeListeners(count: number): void;
18
+ }
19
+
20
+ export default TurboModuleRegistry.getEnforcing<Spec>('LCQSessionReplay');
@@ -0,0 +1,23 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import { TurboModuleRegistry } from 'react-native';
4
+
5
+ export interface Spec extends TurboModule {
6
+ setEnabled(isEnabled: boolean): void;
7
+ setAutoShowingEnabled(autoShowingSurveysEnabled: boolean): void;
8
+ showSurvey(surveyToken: string): void;
9
+ showSurveysIfAvailable(): void;
10
+ getAvailableSurveys(): Promise<UnsafeObject[]>;
11
+ hasRespondedToSurvey(surveyToken: string): Promise<boolean>;
12
+
13
+ setShouldShowWelcomeScreen(shouldShowWelcomeScreen: boolean): void;
14
+ setAppStoreURL(appStoreURL: string): void;
15
+
16
+ setOnShowHandler(): void;
17
+ setOnDismissHandler(): void;
18
+
19
+ addListener(eventName: string): void;
20
+ removeListeners(count: number): void;
21
+ }
22
+
23
+ export default TurboModuleRegistry.getEnforcing<Spec>('LCQSurveys');
@@ -1,6 +1,9 @@
1
1
  import { NativeLuciq } from '../native/NativeLuciq';
2
2
 
3
- const constants = NativeLuciq.getConstants();
3
+ const constants =
4
+ typeof NativeLuciq.getConstants === 'function'
5
+ ? NativeLuciq.getConstants()
6
+ : (NativeLuciq as any).getAllConstants();
4
7
 
5
8
  /**
6
9
  * Verbosity level of the SDK debug logs. This has nothing to do with `Luciq.log`,
@@ -1,40 +1,5 @@
1
1
  import { NativeLuciq } from '../native/NativeLuciq';
2
2
  import { _registerFeatureFlagsChangeListener } from '../modules/Luciq';
3
- import { Logger } from './logger';
4
-
5
- const TAG = 'LCQ-RN-NET:';
6
-
7
- let cachedW3cFlags = {
8
- isW3cExternalTraceIDEnabled: false,
9
- isW3cExternalGeneratedHeaderEnabled: false,
10
- isW3cCaughtHeaderEnabled: false,
11
- };
12
-
13
- export async function initFeatureFlagsCache() {
14
- Logger.debug(TAG, '[FeatureFlags] Initializing W3C feature flags cache from native bridge...');
15
- try {
16
- const [traceID, generatedHeader, caughtHeader] = await Promise.all([
17
- NativeLuciq.isW3ExternalTraceIDEnabled(),
18
- NativeLuciq.isW3ExternalGeneratedHeaderEnabled(),
19
- NativeLuciq.isW3CaughtHeaderEnabled(),
20
- ]);
21
- cachedW3cFlags = {
22
- isW3cExternalTraceIDEnabled: traceID,
23
- isW3cExternalGeneratedHeaderEnabled: generatedHeader,
24
- isW3cCaughtHeaderEnabled: caughtHeader,
25
- };
26
- Logger.debug(
27
- TAG,
28
- `[FeatureFlags] Cache initialized: traceID=${traceID}, generatedHeader=${generatedHeader}, caughtHeader=${caughtHeader}`,
29
- );
30
- } catch (e) {
31
- Logger.debug(TAG, '[FeatureFlags] Failed to initialize cache, using defaults (all false):', e);
32
- }
33
- }
34
-
35
- export function getCachedW3cFlags() {
36
- return cachedW3cFlags;
37
- }
38
3
 
39
4
  export const FeatureFlags = {
40
5
  isW3ExternalTraceID: () => NativeLuciq.isW3ExternalTraceIDEnabled(),
@@ -51,15 +16,6 @@ export const registerFeatureFlagsListener = () => {
51
16
  isW3CaughtHeaderEnabled: boolean;
52
17
  networkBodyLimit: number;
53
18
  }) => {
54
- Logger.debug(
55
- TAG,
56
- `[FeatureFlags] Flags updated from native listener: traceID=${res.isW3ExternalTraceIDEnabled}, generatedHeader=${res.isW3ExternalGeneratedHeaderEnabled}, caughtHeader=${res.isW3CaughtHeaderEnabled}, bodyLimit=${res.networkBodyLimit}`,
57
- );
58
- cachedW3cFlags = {
59
- isW3cExternalTraceIDEnabled: res.isW3ExternalTraceIDEnabled,
60
- isW3cExternalGeneratedHeaderEnabled: res.isW3ExternalGeneratedHeaderEnabled,
61
- isW3cCaughtHeaderEnabled: res.isW3CaughtHeaderEnabled,
62
- };
63
19
  FeatureFlags.isW3ExternalTraceID = async () => {
64
20
  return res.isW3ExternalTraceIDEnabled;
65
21
  };
@@ -12,7 +12,6 @@ import { NativeCrashReporting } from '../native/NativeCrashReporting';
12
12
  import type { NetworkData } from './XhrNetworkInterceptor';
13
13
  import { NativeLuciq } from '../native/NativeLuciq';
14
14
  import { NativeAPM } from '../native/NativeAPM';
15
- import { Logger } from './logger';
16
15
  import * as NetworkLogger from '../modules/NetworkLogger';
17
16
  import {
18
17
  NativeNetworkLogger,
@@ -165,14 +164,9 @@ export const stringifyIfNotString = (input: unknown) => {
165
164
  */
166
165
  export async function sendCrashReport(
167
166
  error: ExtendedError,
168
- remoteSenderCallback: (json: CrashData | string) => Promise<void>,
167
+ remoteSenderCallback: (json: CrashData) => Promise<void>,
169
168
  ) {
170
169
  const jsonObject = getCrashDataFromError(error);
171
-
172
- if (Platform.OS === 'android') {
173
- return remoteSenderCallback(JSON.stringify(jsonObject));
174
- }
175
-
176
170
  return remoteSenderCallback(jsonObject);
177
171
  }
178
172
  /**
@@ -232,11 +226,6 @@ export const reportNetworkLog = (network: NetworkData) => {
232
226
  const requestHeaders = JSON.stringify(network.requestHeaders);
233
227
  const responseHeaders = JSON.stringify(network.responseHeaders);
234
228
 
235
- Logger.debug(
236
- 'LCQ-RN-NET:',
237
- `[reportNetworkLog] Sending to NativeLuciq.networkLogAndroid: ${network.method} ${network.url}, status=${network.responseCode}, duration=${network.duration}ms, error=${network.errorDomain || 'none'}`,
238
- );
239
-
240
229
  NativeLuciq.networkLogAndroid(
241
230
  network.url,
242
231
  network.requestBody,
@@ -252,10 +241,6 @@ export const reportNetworkLog = (network: NetworkData) => {
252
241
  !apmFlags.hasAPMNetworkPlugin ||
253
242
  !apmFlags.shouldEnableNativeInterception
254
243
  ) {
255
- Logger.debug(
256
- 'LCQ-RN-NET:',
257
- `[reportNetworkLog] Also sending to NativeAPM.networkLogAndroid (native interception disabled): ${network.method} ${network.url}`,
258
- );
259
244
  NativeAPM.networkLogAndroid(
260
245
  network.startTime,
261
246
  network.duration,
@@ -281,11 +266,6 @@ export const reportNetworkLog = (network: NetworkData) => {
281
266
  network.gqlQueryName,
282
267
  network.serverErrorMessage,
283
268
  );
284
- } else {
285
- Logger.debug(
286
- 'LCQ-RN-NET:',
287
- `[reportNetworkLog] Skipping NativeAPM.networkLogAndroid (native interception enabled): nativeFeature=${apmFlags.isNativeInterceptionFeatureEnabled}, hasPlugin=${apmFlags.hasAPMNetworkPlugin}, shouldEnable=${apmFlags.shouldEnableNativeInterception}`,
288
- );
289
269
  }
290
270
  } else {
291
271
  NativeLuciq.networkLogIOS(