@luciq/react-native 19.3.0 → 19.4.0

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 {
@@ -1373,6 +1373,49 @@ public class RNLuciqReactnativeModule extends EventEmitterModule {
1373
1373
  e.printStackTrace();
1374
1374
  }
1375
1375
  }
1376
+
1377
+ /**
1378
+ * Enables or disables WebView monitoring.
1379
+ *
1380
+ * @param isEnabled A boolean to enable/disable WebView monitoring.
1381
+ */
1382
+ @ReactMethod
1383
+ public void setWebViewMonitoringEnabled(final boolean isEnabled) {
1384
+ try {
1385
+ Luciq.setWebViewMonitoringEnabled(isEnabled);
1386
+ } catch (Exception e) {
1387
+ e.printStackTrace();
1388
+ }
1389
+ }
1390
+
1391
+ /**
1392
+ * Enables or disables WebView network tracking.
1393
+ *
1394
+ * @param isEnabled A boolean to enable/disable WebView network tracking.
1395
+ */
1396
+ @ReactMethod
1397
+ public void setWebViewNetworkTrackingEnabled(final boolean isEnabled) {
1398
+ try {
1399
+ Luciq.setWebViewNetworkTrackingEnabled(isEnabled);
1400
+ } catch (Exception e) {
1401
+ e.printStackTrace();
1402
+ }
1403
+ }
1404
+
1405
+ /**
1406
+ * Enables or disables WebView user interactions tracking.
1407
+ *
1408
+ * @param isEnabled A boolean to enable/disable WebView user interactions tracking.
1409
+ */
1410
+ @ReactMethod
1411
+ public void setWebViewUserInteractionsTrackingEnabled(final boolean isEnabled) {
1412
+ try {
1413
+ Luciq.setWebViewUserInteractionsTrackingEnabled(isEnabled);
1414
+ } catch (Exception e) {
1415
+ e.printStackTrace();
1416
+ }
1417
+ }
1418
+
1376
1419
  /**
1377
1420
  * Sets the theme for Luciq using a configuration object.
1378
1421
  *
@@ -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.
@@ -90,6 +90,27 @@ export const init = (config) => {
90
90
  export const setAppVariant = (appVariant) => {
91
91
  NativeLuciq.setAppVariant(appVariant);
92
92
  };
93
+ /**
94
+ * Enables or disables WebView monitoring.
95
+ * @param isEnabled A boolean to enable/disable WebView monitoring.
96
+ */
97
+ export const setWebViewMonitoringEnabled = (isEnabled) => {
98
+ NativeLuciq.setWebViewMonitoringEnabled(isEnabled);
99
+ };
100
+ /**
101
+ * Enables or disables WebView network tracking.
102
+ * @param isEnabled A boolean to enable/disable WebView network tracking.
103
+ */
104
+ export const setWebViewNetworkTrackingEnabled = (isEnabled) => {
105
+ NativeLuciq.setWebViewNetworkTrackingEnabled(isEnabled);
106
+ };
107
+ /**
108
+ * Enables or disables WebView user interactions tracking.
109
+ * @param isEnabled A boolean to enable/disable WebView user interactions tracking.
110
+ */
111
+ export const setWebViewUserInteractionsTrackingEnabled = (isEnabled) => {
112
+ NativeLuciq.setWebViewUserInteractionsTrackingEnabled(isEnabled);
113
+ };
93
114
  /**
94
115
  * Handles app state changes and updates APM network flags if necessary.
95
116
  */
@@ -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",
4
+ "version": "19.4.0",
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",
@@ -130,6 +130,30 @@ export const setAppVariant = (appVariant: string) => {
130
130
  NativeLuciq.setAppVariant(appVariant);
131
131
  };
132
132
 
133
+ /**
134
+ * Enables or disables WebView monitoring.
135
+ * @param isEnabled A boolean to enable/disable WebView monitoring.
136
+ */
137
+ export const setWebViewMonitoringEnabled = (isEnabled: boolean) => {
138
+ NativeLuciq.setWebViewMonitoringEnabled(isEnabled);
139
+ };
140
+
141
+ /**
142
+ * Enables or disables WebView network tracking.
143
+ * @param isEnabled A boolean to enable/disable WebView network tracking.
144
+ */
145
+ export const setWebViewNetworkTrackingEnabled = (isEnabled: boolean) => {
146
+ NativeLuciq.setWebViewNetworkTrackingEnabled(isEnabled);
147
+ };
148
+
149
+ /**
150
+ * Enables or disables WebView user interactions tracking.
151
+ * @param isEnabled A boolean to enable/disable WebView user interactions tracking.
152
+ */
153
+ export const setWebViewUserInteractionsTrackingEnabled = (isEnabled: boolean) => {
154
+ NativeLuciq.setWebViewUserInteractionsTrackingEnabled(isEnabled);
155
+ };
156
+
133
157
  /**
134
158
  * Handles app state changes and updates APM network flags if necessary.
135
159
  */
@@ -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;