react-native-gleapsdk 10.0.0 → 11.0.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.
Files changed (87) hide show
  1. package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
  2. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  3. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  4. package/android/.gradle/checksums/checksums.lock +0 -0
  5. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  6. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  7. package/android/.idea/gradle.xml +0 -6
  8. package/android/.idea/misc.xml +2 -1
  9. package/android/build.gradle +1 -1
  10. package/android/local.properties +1 -1
  11. package/android/src/main/java/com/reactnativegleapsdk/GleapsdkModule.java +15 -1
  12. package/ios/Gleapsdk.m +7 -0
  13. package/lib/commonjs/index.js +6 -27
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/commonjs/networklogger.js +29 -81
  16. package/lib/commonjs/networklogger.js.map +1 -1
  17. package/lib/module/index.js +6 -23
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/module/networklogger.js +29 -80
  20. package/lib/module/networklogger.js.map +1 -1
  21. package/lib/typescript/index.d.ts +5 -3
  22. package/lib/typescript/index.d.ts.map +1 -0
  23. package/lib/typescript/networklogger.d.ts +1 -0
  24. package/lib/typescript/networklogger.d.ts.map +1 -0
  25. package/package.json +5 -6
  26. package/react-native-gleapsdk.podspec +1 -1
  27. package/src/index.tsx +1 -0
  28. package/android/.gradle/6.8/fileHashes/fileHashes.bin +0 -0
  29. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  30. package/android/.idea/compiler.xml +0 -6
  31. package/android/.idea/jarRepositories.xml +0 -35
  32. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_0_0.xml +0 -13
  33. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +0 -16
  34. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0.xml +0 -11
  35. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +0 -13
  36. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -13
  37. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0.xml +0 -11
  38. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +0 -16
  39. package/android/.idea/libraries/Gradle__androidx_core_core_1_0_1_aar.xml +0 -16
  40. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  41. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  42. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -13
  43. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  44. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +0 -16
  45. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  46. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -13
  47. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -13
  48. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0.xml +0 -11
  49. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
  50. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +0 -13
  51. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +0 -13
  52. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +0 -13
  53. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  54. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -13
  55. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -16
  56. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -13
  57. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  58. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +0 -13
  59. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +0 -13
  60. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_0_0_aar.xml +0 -13
  61. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  62. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_0_3.xml +0 -13
  63. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +0 -15
  64. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +0 -18
  65. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +0 -18
  66. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +0 -18
  67. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +0 -18
  68. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +0 -15
  69. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +0 -15
  70. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +0 -15
  71. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +0 -13
  72. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_63_4_aar.xml +0 -18
  73. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_9_0.xml +0 -13
  74. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_9_0.xml +0 -13
  75. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_9_0_aar.xml +0 -15
  76. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_14_1.xml +0 -13
  77. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
  78. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_12.xml +0 -13
  79. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_12.xml +0 -13
  80. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml +0 -13
  81. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  82. package/android/.idea/modules/android.iml +0 -91
  83. package/android/.idea/modules.xml +0 -8
  84. package/ios/Gleapsdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  85. package/ios/Gleapsdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  86. package/ios/Gleapsdk.xcodeproj/project.xcworkspace/xcuserdata/lukasboehler.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  87. package/ios/Gleapsdk.xcodeproj/xcuserdata/lukasboehler.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
@@ -1,2 +1,2 @@
1
- #Thu Feb 10 16:04:37 CET 2022
1
+ #Sun Jun 18 15:13:42 CEST 2023
2
2
  gradle.version=6.8
@@ -6,12 +6,6 @@
6
6
  <option name="testRunner" value="GRADLE" />
7
7
  <option name="distributionType" value="DEFAULT_WRAPPED" />
8
8
  <option name="externalProjectPath" value="$PROJECT_DIR$" />
9
- <option name="modules">
10
- <set>
11
- <option value="$PROJECT_DIR$" />
12
- </set>
13
- </option>
14
- <option name="resolveModulePerSourceSet" value="false" />
15
9
  </GradleProjectSettings>
16
10
  </option>
17
11
  </component>
@@ -1,6 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
- <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
3
+ <component name="ExternalStorageConfigurationManager" enabled="true" />
4
+ <component name="ProjectRootManager" version="2" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
4
5
  <output url="file://$PROJECT_DIR$/build/classes" />
5
6
  </component>
6
7
  <component name="ProjectType">
@@ -51,7 +51,7 @@ repositories {
51
51
 
52
52
  dependencies {
53
53
  implementation "com.facebook.react:react-native:+"
54
- implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '10.0.1'
54
+ implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '11.0.0'
55
55
 
56
56
 
57
57
  if(rootProject && rootProject.ext) {
@@ -4,5 +4,5 @@
4
4
  # Location of the SDK. This is only used by Gradle.
5
5
  # For customization when using a Version Control System, please read the
6
6
  # header note.
7
- #Thu Feb 10 16:04:21 CET 2022
7
+ #Sun Jun 18 15:15:04 CEST 2023
8
8
  sdk.dir=/Users/lukasboehler/Library/Android/sdk
@@ -581,7 +581,7 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
581
581
  public void run() {
582
582
  try {
583
583
  JSONObject body = new JSONObject();
584
- body.put("page", "MainActivity" + Math.random() * 100);
584
+ body.put("page", pageName);
585
585
  Gleap.getInstance().trackEvent("pageView", body);
586
586
  } catch (Exception ignore) {
587
587
  }
@@ -961,6 +961,20 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
961
961
  }
962
962
  }
963
963
 
964
+ @ReactMethod
965
+ public void startBot(String botId, Boolean showBackButton) {
966
+ try {
967
+ getActivitySafe().runOnUiThread(
968
+ new Runnable() {
969
+ @Override
970
+ public void run() {
971
+ Gleap.getInstance().startBot(botId, showBackButton);
972
+ }
973
+ });
974
+ } catch (NoUiThreadException e) {
975
+ }
976
+ }
977
+
964
978
  @ReactMethod
965
979
  public void setDisableInAppNotifications(Boolean disableInAppNotifications) {
966
980
  try {
package/ios/Gleapsdk.m CHANGED
@@ -213,6 +213,13 @@ RCT_EXPORT_METHOD(setActivationMethods:(NSArray *)activationMethods)
213
213
  });
214
214
  }
215
215
 
216
+ RCT_EXPORT_METHOD(startBot:(NSString *)botId andShowBackButton:(BOOL)showBackButton)
217
+ {
218
+ dispatch_async(dispatch_get_main_queue(), ^{
219
+ [Gleap startBot: botId showBackButton: showBackButton];
220
+ });
221
+ }
222
+
216
223
  RCT_EXPORT_METHOD(startFeedbackFlow:(NSString *)feedbackFlow andShowBackButton:(BOOL)showBackButton)
217
224
  {
218
225
  dispatch_async(dispatch_get_main_queue(), ^{
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  var _networklogger = _interopRequireDefault(require("./networklogger"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  const LINKING_ERROR = `The package 'react-native-gleapsdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
15
11
  ios: "- You have run 'pod install'\n",
16
12
  default: ''
@@ -19,21 +15,18 @@ const GleapSdk = _reactNative.NativeModules.Gleapsdk ? _reactNative.NativeModule
19
15
  get() {
20
16
  throw new Error(LINKING_ERROR);
21
17
  }
22
-
23
18
  });
24
-
25
19
  if (GleapSdk && !GleapSdk.touched) {
26
- const networkLogger = new _networklogger.default(); // Push the network log to the native SDK.
20
+ const networkLogger = new _networklogger.default();
27
21
 
22
+ // Push the network log to the native SDK.
28
23
  GleapSdk.startNetworkLogging = () => {
29
24
  // Set the callback.
30
25
  networkLogger.setUpdatedCallback(() => {
31
26
  if (!networkLogger) {
32
27
  return;
33
28
  }
34
-
35
29
  const requests = networkLogger.getRequests();
36
-
37
30
  if (requests && GleapSdk && typeof GleapSdk.attachNetworkLog !== 'undefined') {
38
31
  if (_reactNative.Platform.OS === 'android') {
39
32
  GleapSdk.attachNetworkLog(JSON.stringify(requests));
@@ -41,35 +34,30 @@ if (GleapSdk && !GleapSdk.touched) {
41
34
  GleapSdk.attachNetworkLog(JSON.parse(JSON.stringify(requests)));
42
35
  }
43
36
  }
44
- }); // Start the logger.
37
+ });
45
38
 
39
+ // Start the logger.
46
40
  networkLogger.start();
47
41
  };
48
-
49
42
  GleapSdk.stopNetworkLogging = () => {
50
43
  networkLogger.setStopped(true);
51
- }; // eslint-disable-next-line @typescript-eslint/no-unused-vars
52
-
44
+ };
53
45
 
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
54
47
  GleapSdk.logEvent = (name, data) => {
55
48
  console.log('logEvent is deprecated. Use trackEvent instead.');
56
49
  GleapSdk.trackEvent(name, data);
57
50
  };
58
-
59
51
  var callbacks = {};
60
-
61
52
  GleapSdk.registerListener = (eventType, callback) => {
62
53
  if (!callbacks[eventType]) {
63
54
  callbacks[eventType] = [];
64
55
  }
65
-
66
56
  callbacks[eventType].push(callback);
67
57
  };
68
-
69
58
  GleapSdk.registerCustomAction = customActionCallback => {
70
59
  GleapSdk.registerListener('customActionTriggered', customActionCallback);
71
60
  };
72
-
73
61
  const notifyCallback = function (eventType, data) {
74
62
  if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {
75
63
  for (var i = 0; i < callbacks[eventType].length; i++) {
@@ -79,16 +67,13 @@ if (GleapSdk && !GleapSdk.touched) {
79
67
  }
80
68
  }
81
69
  };
82
-
83
70
  const gleapEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.Gleapsdk);
84
71
  gleapEmitter.addListener('configLoaded', config => {
85
72
  try {
86
73
  const configJSON = config instanceof Object ? config : JSON.parse(config);
87
-
88
74
  if (configJSON.enableNetworkLogs) {
89
75
  GleapSdk.startNetworkLogging();
90
76
  }
91
-
92
77
  notifyCallback('configLoaded', configJSON);
93
78
  } catch (exp) {}
94
79
  });
@@ -116,27 +101,22 @@ if (GleapSdk && !GleapSdk.touched) {
116
101
  gleapEmitter.addListener('unregisterPushMessageGroup', pushMessageGroup => {
117
102
  notifyCallback('unregisterPushMessageGroup', pushMessageGroup);
118
103
  });
119
-
120
104
  function isJsonString(str) {
121
105
  try {
122
106
  JSON.parse(str);
123
107
  } catch (e) {
124
108
  return false;
125
109
  }
126
-
127
110
  return true;
128
111
  }
129
-
130
112
  gleapEmitter.addListener('customActionTriggered', data => {
131
113
  try {
132
114
  if (isJsonString(data)) {
133
115
  data = JSON.parse(data);
134
116
  }
135
-
136
117
  const {
137
118
  name
138
119
  } = data;
139
-
140
120
  if (name) {
141
121
  notifyCallback('customActionTriggered', {
142
122
  name
@@ -147,7 +127,6 @@ if (GleapSdk && !GleapSdk.touched) {
147
127
  GleapSdk.removeAllAttachments();
148
128
  GleapSdk.touched = true;
149
129
  }
150
-
151
130
  var _default = GleapSdk;
152
131
  exports.default = _default;
153
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["LINKING_ERROR","Platform","select","ios","default","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","pushMessageGroup","isJsonString","str","e","removeAllAttachments"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport GleapNetworkIntercepter from './networklogger';\n\nconst LINKING_ERROR =\n `The package 'react-native-gleapsdk' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport type GleapUserProperty = {\n email?: string;\n name?: string;\n phone?: string;\n value?: number;\n customData?: { [key: string]: string | number };\n};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n startFeedbackFlow(feedbackFlow: string, showBackButton: boolean): void;\n sendSilentCrashReport(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH'\n ): void;\n sendSilentCrashReportWithExcludeData(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH',\n excludeData: {\n customData?: Boolean;\n metaData?: Boolean;\n attachments?: Boolean;\n consoleLog?: Boolean;\n networkLogs?: Boolean;\n customEventLog?: Boolean;\n screenshot?: Boolean;\n replays?: Boolean;\n }\n ): void;\n open(): void;\n openNews(showBackButton: boolean): void;\n openNewsArticle(articleId: string, showBackButton: boolean): void;\n openFeatureRequests(showBackButton: boolean): void;\n openHelpCenter(showBackButton: boolean): void;\n openHelpCenterCollection(collectionId: string, showBackButton: boolean): void;\n openHelpCenterArticle(articleId: string, showBackButton: boolean): void;\n searchHelpCenter(term: string, showBackButton: boolean): void;\n close(): void;\n isOpened(): Promise<boolean>;\n identify(userId: string, userProperties: GleapUserProperty): void;\n identifyWithUserHash(\n userId: string,\n userProperties: GleapUserProperty,\n userHash: string\n ): void;\n showFeedbackButton(show: boolean): void;\n clearIdentity(): void;\n preFillForm(formData: { [key: string]: string }): void;\n setApiUrl(apiUrl: string): void;\n setFrameUrl(frameUrl: string): void;\n attachCustomData(customData: any): void;\n setCustomData(key: string, value: string): void;\n removeCustomDataForKey(key: string): void;\n clearCustomData(): void;\n setDisableInAppNotifications(disableInAppNotifications: boolean): void;\n registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): void;\n setTags(tags: string[]): void;\n trackPage(pageName: String): void;\n showSurvey(surveyId: String, format: 'survey' | 'survey_full'): void;\n log(message: string): void;\n logWithLogLevel(\n message: string,\n logLevel: 'INFO' | 'WARNING' | 'ERROR'\n ): void;\n logEvent(name: string, data: any): void;\n trackEvent(name: string, data: any): void;\n addAttachment(base64file: string, fileName: string): void;\n removeAllAttachments(): void;\n startNetworkLogging(): void;\n stopNetworkLogging(): void;\n setActivationMethods(activationMethods: GleapActivationMethod[]): void;\n registerCustomAction(\n customActionCallback: (data: { name: string }) => void\n ): void;\n getIdentity(): Promise<any>;\n isUserIdentified(): Promise<boolean>;\n};\n\nconst GleapSdk = NativeModules.Gleapsdk\n ? NativeModules.Gleapsdk\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nif (GleapSdk && !GleapSdk.touched) {\n const networkLogger = new GleapNetworkIntercepter();\n\n // Push the network log to the native SDK.\n GleapSdk.startNetworkLogging = () => {\n // Set the callback.\n networkLogger.setUpdatedCallback(() => {\n if (!networkLogger) {\n return;\n }\n\n const requests = networkLogger.getRequests();\n\n if (\n requests &&\n GleapSdk &&\n typeof GleapSdk.attachNetworkLog !== 'undefined'\n ) {\n if (Platform.OS === 'android') {\n GleapSdk.attachNetworkLog(JSON.stringify(requests));\n } else {\n GleapSdk.attachNetworkLog(JSON.parse(JSON.stringify(requests)));\n }\n }\n });\n\n // Start the logger.\n networkLogger.start();\n };\n\n GleapSdk.stopNetworkLogging = () => {\n networkLogger.setStopped(true);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n GleapSdk.logEvent = (name: string, data: any) => {\n console.log('logEvent is deprecated. Use trackEvent instead.');\n GleapSdk.trackEvent(name, data);\n };\n\n var callbacks: any = {};\n\n GleapSdk.registerListener = (eventType: string, callback: any) => {\n if (!callbacks[eventType]) {\n callbacks[eventType] = [];\n }\n callbacks[eventType].push(callback);\n };\n\n GleapSdk.registerCustomAction = (customActionCallback: any) => {\n GleapSdk.registerListener('customActionTriggered', customActionCallback);\n };\n\n const notifyCallback = function (eventType: string, data?: any) {\n if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {\n for (var i = 0; i < callbacks[eventType].length; i++) {\n if (callbacks[eventType][i]) {\n callbacks[eventType][i](data);\n }\n }\n }\n };\n\n const gleapEmitter = new NativeEventEmitter(NativeModules.Gleapsdk);\n\n gleapEmitter.addListener('configLoaded', (config: any) => {\n try {\n const configJSON = config instanceof Object ? config : JSON.parse(config);\n if (configJSON.enableNetworkLogs) {\n GleapSdk.startNetworkLogging();\n }\n notifyCallback('configLoaded', configJSON);\n } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackSent', (data) => {\n try {\n const dataJSON = data instanceof Object ? data : JSON.parse(data);\n notifyCallback('feedbackSent', dataJSON);\n } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackFlowStarted', (feedbackAction) => {\n notifyCallback('feedbackFlowStarted', feedbackAction);\n });\n\n gleapEmitter.addListener('feedbackSendingFailed', () => {\n notifyCallback('feedbackSendingFailed');\n });\n\n gleapEmitter.addListener('widgetOpened', () => {\n notifyCallback('widgetOpened');\n });\n\n gleapEmitter.addListener('widgetClosed', () => {\n notifyCallback('widgetClosed');\n });\n\n gleapEmitter.addListener('registerPushMessageGroup', (pushMessageGroup) => {\n notifyCallback('registerPushMessageGroup', pushMessageGroup);\n });\n\n gleapEmitter.addListener('unregisterPushMessageGroup', (pushMessageGroup) => {\n notifyCallback('unregisterPushMessageGroup', pushMessageGroup);\n });\n\n function isJsonString(str: string) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n gleapEmitter.addListener('customActionTriggered', (data: any) => {\n try {\n if (isJsonString(data)) {\n data = JSON.parse(data);\n }\n const { name } = data;\n if (name) {\n notifyCallback('customActionTriggered', {\n name,\n });\n }\n } catch (exp) {}\n });\n\n GleapSdk.removeAllAttachments();\n GleapSdk.touched = true;\n}\n\nexport default GleapSdk as GleapSdkType;\n"]}
1
+ {"version":3,"names":["_reactNative","require","_networklogger","_interopRequireDefault","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","pushMessageGroup","isJsonString","str","e","removeAllAttachments","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -4,109 +4,79 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
10
7
  /* eslint-disable @typescript-eslint/no-unused-vars */
11
8
  class GleapNetworkIntercepter {
12
- constructor() {
13
- _defineProperty(this, "requestId", 0);
14
-
15
- _defineProperty(this, "requests", {});
16
-
17
- _defineProperty(this, "maxRequests", 25);
18
-
19
- _defineProperty(this, "stopped", false);
20
-
21
- _defineProperty(this, "updatedCallback", null);
22
- }
23
-
9
+ requestId = 0;
10
+ requests = {};
11
+ maxRequests = 25;
12
+ stopped = false;
13
+ updatedCallback = null;
24
14
  setUpdatedCallback(updatedCallback) {
25
15
  this.updatedCallback = updatedCallback;
26
16
  }
27
-
28
17
  getRequests() {
29
18
  return Object.values(this.requests);
30
19
  }
31
-
32
20
  setMaxRequests(maxRequests) {
33
21
  this.maxRequests = maxRequests;
34
22
  }
35
-
36
23
  setStopped(stopped) {
37
24
  this.stopped = stopped;
38
25
  }
39
-
40
26
  cleanRequests() {
41
27
  var keys = Object.keys(this.requests);
42
-
43
28
  if (keys.length > this.maxRequests) {
44
29
  var keysToRemove = keys.slice(0, keys.length - this.maxRequests);
45
-
46
30
  for (var i = 0; i < keysToRemove.length; i++) {
47
31
  delete this.requests[keysToRemove[i]];
48
32
  }
49
33
  }
50
-
51
34
  if (this.updatedCallback) {
52
35
  this.updatedCallback();
53
36
  }
54
37
  }
55
-
56
38
  calcRequestTime(gleapRequestId) {
57
39
  if (!this.requests[gleapRequestId]) {
58
40
  return;
59
41
  }
60
-
61
42
  var startDate = this.requests[gleapRequestId].date;
62
-
63
43
  if (startDate && typeof startDate.getTime === 'function' && !Object.isFrozen(this.requests[gleapRequestId])) {
64
44
  this.requests[gleapRequestId].duration = new Date().getTime() - startDate.getTime();
65
45
  this.requests[gleapRequestId].date = this.requests[gleapRequestId].date.toString();
66
46
  }
67
47
  }
68
-
69
48
  getTextContentSizeOk(text) {
70
49
  if (text && text.length) {
71
50
  const size = text.length * 16;
72
51
  const kiloBytes = size / 1024;
73
52
  const megaBytes = kiloBytes / 1024;
74
-
75
53
  if (megaBytes < 0.2) {
76
54
  return true;
77
55
  }
78
56
  }
79
-
80
57
  return false;
81
58
  }
82
-
83
59
  prepareContent(text) {
84
60
  if (!this.getTextContentSizeOk(text)) {
85
61
  return '<content_too_large>';
86
62
  }
87
-
88
63
  return text;
89
64
  }
90
-
91
65
  cleanupPayload(payload) {
92
66
  if (payload === undefined || payload === null) {
93
67
  return '{}';
94
68
  }
95
-
96
69
  try {
97
70
  if (ArrayBuffer.isView(payload)) {
98
71
  return `{ type: "binary", length: ${payload.byteLength} }`;
99
72
  }
100
73
  } catch (exp) {}
101
-
102
74
  return payload;
103
75
  }
104
-
105
76
  preparePayload(payload) {
106
77
  var payloadText = this.cleanupPayload(payload);
107
78
  return this.prepareContent(payloadText);
108
79
  }
109
-
110
80
  start() {
111
81
  this.setStopped(false);
112
82
  this.interceptNetworkRequests({
@@ -114,7 +84,6 @@ class GleapNetworkIntercepter {
114
84
  if (this.stopped || params.length === 0) {
115
85
  return;
116
86
  }
117
-
118
87
  if (params.length >= 2 && params[1] !== undefined) {
119
88
  var method = params[1].method ? params[1].method : 'GET';
120
89
  this.requests[gleapRequestId] = {
@@ -134,14 +103,12 @@ class GleapNetworkIntercepter {
134
103
  date: new Date()
135
104
  };
136
105
  }
137
-
138
106
  this.cleanRequests();
139
107
  },
140
108
  onFetchLoad: (req, gleapRequestId) => {
141
109
  if (this.stopped || !gleapRequestId || !this.requests || !this.requests[gleapRequestId]) {
142
110
  return;
143
111
  }
144
-
145
112
  try {
146
113
  this.requests[gleapRequestId].success = true;
147
114
  this.requests[gleapRequestId].response = {
@@ -151,7 +118,6 @@ class GleapNetworkIntercepter {
151
118
  };
152
119
  this.calcRequestTime(gleapRequestId);
153
120
  } catch (exp) {}
154
-
155
121
  req.text().then(responseText => {
156
122
  if (this.requests && this.requests[gleapRequestId]) {
157
123
  this.requests[gleapRequestId].success = true;
@@ -173,7 +139,6 @@ class GleapNetworkIntercepter {
173
139
  if (this.stopped) {
174
140
  return;
175
141
  }
176
-
177
142
  this.requests[gleapRequestId].success = false;
178
143
  this.calcRequestTime(gleapRequestId);
179
144
  this.cleanRequests();
@@ -182,7 +147,6 @@ class GleapNetworkIntercepter {
182
147
  if (this.stopped) {
183
148
  return;
184
149
  }
185
-
186
150
  if (request && request.gleapRequestId && args.length >= 2 && this.requests) {
187
151
  this.requests[request.gleapRequestId] = {
188
152
  type: args[0],
@@ -190,21 +154,18 @@ class GleapNetworkIntercepter {
190
154
  date: new Date()
191
155
  };
192
156
  }
193
-
194
157
  this.cleanRequests();
195
158
  },
196
159
  onSend: (request, args) => {
197
160
  if (this.stopped) {
198
161
  return;
199
162
  }
200
-
201
163
  if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
202
164
  this.requests[request.gleapRequestId].request = {
203
165
  payload: this.preparePayload(args.length > 0 ? args[0] : ''),
204
166
  headers: request.requestHeaders
205
167
  };
206
168
  }
207
-
208
169
  this.cleanRequests();
209
170
  },
210
171
  onError: request => {
@@ -212,27 +173,22 @@ class GleapNetworkIntercepter {
212
173
  this.requests[request.gleapRequestId].success = false;
213
174
  this.calcRequestTime(request.gleapRequestId);
214
175
  }
215
-
216
176
  this.cleanRequests();
217
177
  },
218
178
  onLoad: request => {
219
179
  if (this.stopped) {
220
180
  return;
221
181
  }
222
-
223
182
  if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
224
183
  const contentType = request.getResponseHeader('content-type');
225
184
  const isTextOrJSON = contentType && (contentType.includes('json') || contentType.includes('text'));
226
185
  var responseText = '<' + contentType + '>';
227
-
228
186
  if (request.responseType === '' || request.responseType === 'text') {
229
187
  responseText = request.responseText;
230
188
  }
231
-
232
189
  if (request._response && isTextOrJSON) {
233
190
  responseText = request._response;
234
191
  }
235
-
236
192
  this.requests[request.gleapRequestId].success = true;
237
193
  this.requests[request.gleapRequestId].response = {
238
194
  status: request.status,
@@ -240,95 +196,90 @@ class GleapNetworkIntercepter {
240
196
  };
241
197
  this.calcRequestTime(request.gleapRequestId);
242
198
  }
243
-
244
199
  this.cleanRequests();
245
200
  }
246
201
  });
247
202
  }
248
-
249
203
  interceptNetworkRequests(callback) {
250
204
  // eslint-disable-next-line consistent-this
251
- var self = this; // @ts-ignore
205
+ var self = this;
252
206
 
207
+ // @ts-ignore
253
208
  if (XMLHttpRequest.prototype.gleapTouched) {
254
209
  return;
255
- } // @ts-ignore
256
-
210
+ }
257
211
 
258
- XMLHttpRequest.prototype.gleapTouched = true; // XMLHttpRequest
212
+ // @ts-ignore
213
+ XMLHttpRequest.prototype.gleapTouched = true;
259
214
 
215
+ // XMLHttpRequest
260
216
  const open = XMLHttpRequest.prototype.open;
261
- const send = XMLHttpRequest.prototype.send; // @ts-ignore
217
+ const send = XMLHttpRequest.prototype.send;
262
218
 
219
+ // @ts-ignore
263
220
  XMLHttpRequest.prototype.wrappedSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
264
-
265
221
  XMLHttpRequest.prototype.setRequestHeader = function (header, value) {
266
222
  // @ts-ignore
267
223
  if (!this.requestHeaders) {
268
224
  // @ts-ignore
269
225
  this.requestHeaders = {};
270
- } // @ts-ignore
271
-
226
+ }
272
227
 
228
+ // @ts-ignore
273
229
  if (this.requestHeaders && this.requestHeaders.hasOwnProperty(header)) {
274
230
  return;
275
- } // @ts-ignore
276
-
231
+ }
277
232
 
233
+ // @ts-ignore
278
234
  if (!this.requestHeaders[header]) {
279
235
  // @ts-ignore
280
236
  this.requestHeaders[header] = [];
281
- } // @ts-ignore
282
-
283
-
284
- this.requestHeaders[header].push(value); // @ts-ignore
237
+ }
285
238
 
239
+ // @ts-ignore
240
+ this.requestHeaders[header].push(value);
241
+ // @ts-ignore
286
242
  this.wrappedSetRequestHeader(header, value);
287
243
  };
288
-
289
244
  XMLHttpRequest.prototype.open = function () {
290
245
  this.gleapRequestId = ++self.requestId;
291
246
  callback.onOpen && callback.onOpen(this, arguments);
292
-
293
247
  if (callback.onLoad) {
294
248
  this.addEventListener('load', function () {
295
249
  // @ts-ignore
296
250
  callback.onLoad(this);
297
251
  });
298
252
  }
299
-
300
253
  if (callback.onError) {
301
254
  this.addEventListener('error', function () {
302
255
  // @ts-ignore
303
256
  callback.onError(this);
304
257
  });
305
- } // @ts-ignore
306
-
258
+ }
307
259
 
260
+ // @ts-ignore
308
261
  return open.apply(this, arguments);
309
262
  };
310
-
311
263
  XMLHttpRequest.prototype.send = function () {
312
- callback.onSend && callback.onSend(this, arguments); // @ts-ignore
313
-
264
+ callback.onSend && callback.onSend(this, arguments);
265
+ // @ts-ignore
314
266
  return send.apply(this, arguments);
315
- }; // Fetch
316
-
267
+ };
317
268
 
269
+ // Fetch
318
270
  if (global) {
319
271
  (function () {
320
272
  var originalFetch = global.fetch;
321
-
322
273
  global.fetch = function () {
323
274
  var gleapRequestId = ++self.requestId;
324
275
  callback.onFetch(arguments, gleapRequestId);
325
- return originalFetch // @ts-ignore
276
+ return originalFetch
277
+ // @ts-ignore
326
278
  .apply(this, arguments).then(function (response) {
327
279
  if (response && typeof response.clone === 'function') {
328
280
  const data = response.clone();
329
281
  callback.onFetchLoad(data, gleapRequestId);
330
282
  }
331
-
332
283
  return response;
333
284
  }).catch(err => {
334
285
  callback.onFetchFailed(err, gleapRequestId);
@@ -337,12 +288,9 @@ class GleapNetworkIntercepter {
337
288
  };
338
289
  })();
339
290
  }
340
-
341
291
  return callback;
342
292
  }
343
-
344
293
  }
345
-
346
294
  var _default = GleapNetworkIntercepter;
347
295
  exports.default = _default;
348
296
  //# sourceMappingURL=networklogger.js.map