@luciq/react-native 19.3.0-40271-SNAPSHOT → 19.4.0-40394-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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [19.4.0](https://github.com/luciqai/luciq-reactnative-sdk/compare/v19.4.0...19.3.0)
4
+
5
+ ### Added
6
+
7
+ - **WebView Monitoring**: Added comprehensive WebView monitoring to capture performance metrics, user interactions, and network requests from WebView components.
8
+ - `Luciq.setWebViewMonitoringEnabled(boolean)` - Enable/disable master WebView monitoring
9
+ - `Luciq.setWebViewUserInteractionsTrackingEnabled(boolean)` - Enable/disable user interaction tracking in WebViews
10
+ - `Luciq.setWebViewNetworkTrackingEnabled(boolean`) - Enable/disable network logging from WebViews
11
+
12
+ ### Changed
13
+
14
+ - Bump Luciq iOS SDK to v19.5.1 ([#42](https://github.com/luciqai/luciq-reactnative-sdk/pull/42)). [See release notes](https://github.com/luciqai/Luciq-iOS-sdk/releases/tag/19.5.1).
15
+
16
+ - Bump Luciq Android SDK to v19.4.0 ([#42](https://github.com/luciqai/luciq-reactnative-sdk/pull/42)). [See release notes](https://github.com/luciqai/Luciq-Android-sdk/releases/tag/v19.4.0).
17
+
3
18
  ## [19.3.0](https://github.com/luciqai/luciq-reactnative-sdk/compare/v19.3.0...19.2.1)
4
19
 
5
20
  ### Added
@@ -1,5 +1,5 @@
1
1
  project.ext.luciq = [
2
- version: '19.3.0'
2
+ version: '19.4.0'
3
3
  ]
4
4
 
5
5
  dependencies {
@@ -1 +1 @@
1
- -keep class com.luciq.** {*;}
1
+ -keep class ai.luciq.** {*;}
@@ -1395,6 +1395,49 @@ public class RNLuciqReactnativeModule extends EventEmitterModule {
1395
1395
  e.printStackTrace();
1396
1396
  }
1397
1397
  }
1398
+
1399
+ /**
1400
+ * Enables or disables WebView monitoring.
1401
+ *
1402
+ * @param isEnabled A boolean to enable/disable WebView monitoring.
1403
+ */
1404
+ @ReactMethod
1405
+ public void setWebViewMonitoringEnabled(final boolean isEnabled) {
1406
+ try {
1407
+ Luciq.setWebViewMonitoringEnabled(isEnabled);
1408
+ } catch (Exception e) {
1409
+ e.printStackTrace();
1410
+ }
1411
+ }
1412
+
1413
+ /**
1414
+ * Enables or disables WebView network tracking.
1415
+ *
1416
+ * @param isEnabled A boolean to enable/disable WebView network tracking.
1417
+ */
1418
+ @ReactMethod
1419
+ public void setWebViewNetworkTrackingEnabled(final boolean isEnabled) {
1420
+ try {
1421
+ Luciq.setWebViewNetworkTrackingEnabled(isEnabled);
1422
+ } catch (Exception e) {
1423
+ e.printStackTrace();
1424
+ }
1425
+ }
1426
+
1427
+ /**
1428
+ * Enables or disables WebView user interactions tracking.
1429
+ *
1430
+ * @param isEnabled A boolean to enable/disable WebView user interactions tracking.
1431
+ */
1432
+ @ReactMethod
1433
+ public void setWebViewUserInteractionsTrackingEnabled(final boolean isEnabled) {
1434
+ try {
1435
+ Luciq.setWebViewUserInteractionsTrackingEnabled(isEnabled);
1436
+ } catch (Exception e) {
1437
+ e.printStackTrace();
1438
+ }
1439
+ }
1440
+
1398
1441
  /**
1399
1442
  * Sets the theme for Luciq using a configuration object.
1400
1443
  *
@@ -20,6 +20,8 @@ public class RNLuciqReactnativePackage implements ReactPackage {
20
20
  @NonNull
21
21
  @Override
22
22
  public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
23
+ RNLuciq.getInstance().setCurrentPlatform();
24
+
23
25
  List<NativeModule> modules = new ArrayList<>();
24
26
  modules.add(new RNLuciqReactnativeModule(reactContext));
25
27
  modules.add(new RNLuciqBugReportingModule(reactContext));
@@ -6,14 +6,7 @@ import com.facebook.react.bridge.ReadableArray;
6
6
  import com.facebook.react.bridge.ReadableMap;
7
7
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
8
8
  import com.facebook.react.bridge.ReadableType;
9
- import com.facebook.react.bridge.WritableArray;
10
- import com.facebook.react.bridge.WritableNativeArray;
11
9
  import ai.luciq.library.model.Report;
12
- import ai.luciq.library.model.a;
13
-
14
- import org.json.JSONException;
15
-
16
- import java.util.ArrayList;
17
10
 
18
11
 
19
12
  /**
@@ -26,6 +26,21 @@ export declare const init: (config: LuciqConfig) => void;
26
26
  * @param appVariant the current App variant name
27
27
  */
28
28
  export declare const setAppVariant: (appVariant: string) => void;
29
+ /**
30
+ * Enables or disables WebView monitoring.
31
+ * @param isEnabled A boolean to enable/disable WebView monitoring.
32
+ */
33
+ export declare const setWebViewMonitoringEnabled: (isEnabled: boolean) => void;
34
+ /**
35
+ * Enables or disables WebView network tracking.
36
+ * @param isEnabled A boolean to enable/disable WebView network tracking.
37
+ */
38
+ export declare const setWebViewNetworkTrackingEnabled: (isEnabled: boolean) => void;
39
+ /**
40
+ * Enables or disables WebView user interactions tracking.
41
+ * @param isEnabled A boolean to enable/disable WebView user interactions tracking.
42
+ */
43
+ export declare const setWebViewUserInteractionsTrackingEnabled: (isEnabled: boolean) => void;
29
44
  /**
30
45
  * Sets the Code Push version to be sent with each report.
31
46
  * @param version the Code Push version.
@@ -91,6 +91,27 @@ export const init = (config) => {
91
91
  export const setAppVariant = (appVariant) => {
92
92
  NativeLuciq.setAppVariant(appVariant);
93
93
  };
94
+ /**
95
+ * Enables or disables WebView monitoring.
96
+ * @param isEnabled A boolean to enable/disable WebView monitoring.
97
+ */
98
+ export const setWebViewMonitoringEnabled = (isEnabled) => {
99
+ NativeLuciq.setWebViewMonitoringEnabled(isEnabled);
100
+ };
101
+ /**
102
+ * Enables or disables WebView network tracking.
103
+ * @param isEnabled A boolean to enable/disable WebView network tracking.
104
+ */
105
+ export const setWebViewNetworkTrackingEnabled = (isEnabled) => {
106
+ NativeLuciq.setWebViewNetworkTrackingEnabled(isEnabled);
107
+ };
108
+ /**
109
+ * Enables or disables WebView user interactions tracking.
110
+ * @param isEnabled A boolean to enable/disable WebView user interactions tracking.
111
+ */
112
+ export const setWebViewUserInteractionsTrackingEnabled = (isEnabled) => {
113
+ NativeLuciq.setWebViewUserInteractionsTrackingEnabled(isEnabled);
114
+ };
94
115
  /**
95
116
  * Handles app state changes and updates APM network flags if necessary.
96
117
  */
@@ -77,6 +77,9 @@ export interface LuciqNativeModule extends NativeModule {
77
77
  getNetworkBodyMaxSize(): Promise<number>;
78
78
  setTheme(theme: ThemeConfig): void;
79
79
  setFullscreen(isEnabled: boolean): void;
80
+ setWebViewMonitoringEnabled(isEnabled: boolean): void;
81
+ setWebViewNetworkTrackingEnabled(isEnabled: boolean): void;
82
+ setWebViewUserInteractionsTrackingEnabled(isEnabled: boolean): void;
80
83
  }
81
84
  export declare const NativeLuciq: LuciqNativeModule;
82
85
  export declare enum NativeEvents {
@@ -98,6 +98,18 @@ RCT_EXPORT_METHOD(setTrackUserSteps:(BOOL)isEnabled) {
98
98
  [Luciq setTrackUserSteps:isEnabled];
99
99
  }
100
100
 
101
+ RCT_EXPORT_METHOD(setWebViewMonitoringEnabled:(BOOL)isEnabled) {
102
+ [Luciq setWebViewMonitoringEnabled:isEnabled];
103
+ }
104
+
105
+ RCT_EXPORT_METHOD(setWebViewNetworkTrackingEnabled:(BOOL)isEnabled) {
106
+ [Luciq setWebViewNetworkTrackingEnabled:isEnabled];
107
+ }
108
+
109
+ RCT_EXPORT_METHOD(setWebViewUserInteractionsTrackingEnabled:(BOOL)isEnabled) {
110
+ [Luciq setWebViewUserInteractionsTrackingEnabled:isEnabled];
111
+ }
112
+
101
113
  LCQReport *currentReport = nil;
102
114
  RCT_EXPORT_METHOD(setPreSendingHandler:(RCTResponseSenderBlock)callBack) {
103
115
  if (callBack != nil) {
package/ios/native.rb CHANGED
@@ -1,4 +1,4 @@
1
- $luciq= { :version => '19.5.0' }
1
+ $luciq= { :version => '19.5.1' }
2
2
 
3
3
  def use_luciq! (spec = nil)
4
4
  version = $luciq[:version]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@luciq/react-native",
3
3
  "description": "Luciq is the Agentic Observability Platform built for Mobile.",
4
- "version": "19.3.0-40271-SNAPSHOT",
4
+ "version": "19.4.0-40394-SNAPSHOT",
5
5
  "author": "Luciq (https://luciq.ai)",
6
6
  "repository": "github:luciqai/luciq-reactnative-sdk",
7
7
  "homepage": "https://www.luciq.ai/platforms/react-native",
@@ -132,6 +132,30 @@ export const setAppVariant = (appVariant: string) => {
132
132
  NativeLuciq.setAppVariant(appVariant);
133
133
  };
134
134
 
135
+ /**
136
+ * Enables or disables WebView monitoring.
137
+ * @param isEnabled A boolean to enable/disable WebView monitoring.
138
+ */
139
+ export const setWebViewMonitoringEnabled = (isEnabled: boolean) => {
140
+ NativeLuciq.setWebViewMonitoringEnabled(isEnabled);
141
+ };
142
+
143
+ /**
144
+ * Enables or disables WebView network tracking.
145
+ * @param isEnabled A boolean to enable/disable WebView network tracking.
146
+ */
147
+ export const setWebViewNetworkTrackingEnabled = (isEnabled: boolean) => {
148
+ NativeLuciq.setWebViewNetworkTrackingEnabled(isEnabled);
149
+ };
150
+
151
+ /**
152
+ * Enables or disables WebView user interactions tracking.
153
+ * @param isEnabled A boolean to enable/disable WebView user interactions tracking.
154
+ */
155
+ export const setWebViewUserInteractionsTrackingEnabled = (isEnabled: boolean) => {
156
+ NativeLuciq.setWebViewUserInteractionsTrackingEnabled(isEnabled);
157
+ };
158
+
135
159
  /**
136
160
  * Handles app state changes and updates APM network flags if necessary.
137
161
  */
@@ -167,6 +167,11 @@ export interface LuciqNativeModule extends NativeModule {
167
167
 
168
168
  setTheme(theme: ThemeConfig): void;
169
169
  setFullscreen(isEnabled: boolean): void;
170
+
171
+ // WebView APIs //
172
+ setWebViewMonitoringEnabled(isEnabled: boolean): void;
173
+ setWebViewNetworkTrackingEnabled(isEnabled: boolean): void;
174
+ setWebViewUserInteractionsTrackingEnabled(isEnabled: boolean): void;
170
175
  }
171
176
 
172
177
  export const NativeLuciq = NativeModules.Luciq as LuciqNativeModule;