react-native-inapp-inspector 2.3.15 → 2.3.17

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 (381) hide show
  1. package/README.md +1 -0
  2. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +438 -7
  3. package/bin/cli.js +0 -0
  4. package/dist/commonjs/capture.d.ts +26 -0
  5. package/dist/commonjs/capture.js +32 -0
  6. package/dist/commonjs/components/AnalyticsEventCard.js +11 -11
  7. package/dist/commonjs/components/AnimatedEntrance.js +6 -70
  8. package/dist/commonjs/components/DomainHeader.js +3 -48
  9. package/dist/commonjs/components/EmptyState.js +2 -2
  10. package/dist/commonjs/components/HeadersSection.js +14 -34
  11. package/dist/commonjs/components/Inspector/AnalyticsTab.js +1 -24
  12. package/dist/commonjs/components/Inspector/ConsoleTab.js +1 -23
  13. package/dist/commonjs/components/Inspector/CrashTab.js +4 -25
  14. package/dist/commonjs/components/Inspector/DebuggingTab.js +2 -2
  15. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +7 -0
  16. package/dist/commonjs/components/Inspector/FeedbackModal.js +552 -0
  17. package/dist/commonjs/components/Inspector/InspectorHeader.js +675 -285
  18. package/dist/commonjs/components/Inspector/MainScreen.js +66 -69
  19. package/dist/commonjs/components/Inspector/MediaGalleryTab.d.ts +2 -0
  20. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +307 -0
  21. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +11 -0
  22. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +393 -0
  23. package/dist/commonjs/components/Inspector/NetworkTab.js +196 -206
  24. package/dist/commonjs/components/Inspector/NpmStarPrompt.d.ts +3 -0
  25. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +494 -0
  26. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +4 -9
  27. package/dist/commonjs/components/Inspector/PerformanceTab.js +8 -1
  28. package/dist/commonjs/components/Inspector/ReduxTab.js +4 -24
  29. package/dist/commonjs/components/Inspector/SettingsPanel.js +1280 -173
  30. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +2 -2
  31. package/dist/commonjs/components/Inspector/StorageTab.js +3 -26
  32. package/dist/commonjs/components/Inspector/TabBar.js +55 -25
  33. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +5 -10
  34. package/dist/commonjs/components/JsonViewer.js +43 -20
  35. package/dist/commonjs/components/LogCard.js +5 -5
  36. package/dist/commonjs/components/MetaAccordion.js +78 -80
  37. package/dist/commonjs/components/NetworkIcons.d.ts +13 -0
  38. package/dist/commonjs/components/NetworkIcons.js +83 -2
  39. package/dist/commonjs/components/SectionHeader.js +3 -48
  40. package/dist/commonjs/components/SkeletonPlaceholder.js +2 -2
  41. package/dist/commonjs/components/SourcePageCard.js +43 -45
  42. package/dist/commonjs/components/Toast.js +4 -4
  43. package/dist/commonjs/components/TouchableScale.js +9 -65
  44. package/dist/commonjs/components/TreeNode.js +2 -14
  45. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  46. package/dist/commonjs/constants/telemetryConfig.js +3 -3
  47. package/dist/commonjs/constants/version.d.ts +1 -1
  48. package/dist/commonjs/constants/version.js +1 -1
  49. package/dist/commonjs/customHooks/useAccordion.d.ts +3 -8
  50. package/dist/commonjs/customHooks/useAccordion.js +6 -36
  51. package/dist/commonjs/helpers/index.d.ts +3 -1
  52. package/dist/commonjs/helpers/index.js +11 -1
  53. package/dist/commonjs/helpers/remoteConfig.d.ts +4 -0
  54. package/dist/commonjs/helpers/remoteConfig.js +165 -0
  55. package/dist/commonjs/helpers/searchQueryParser.js +2 -0
  56. package/dist/commonjs/helpers/telemetry.d.ts +5 -0
  57. package/dist/commonjs/helpers/telemetry.js +339 -8
  58. package/dist/commonjs/i18n/locales/en.json +66 -2
  59. package/dist/commonjs/index.d.ts +2 -0
  60. package/dist/commonjs/index.js +70 -23
  61. package/dist/commonjs/native/NativeInspector.d.ts +60 -0
  62. package/dist/commonjs/native/NativeInspector.js +109 -2
  63. package/dist/commonjs/native/NativeNetworkInspector.d.ts +8 -0
  64. package/dist/commonjs/styles/AppColors.d.ts +36 -0
  65. package/dist/commonjs/styles/AppColors.js +36 -0
  66. package/dist/commonjs/styles/AppFonts.d.ts +2 -0
  67. package/dist/commonjs/styles/AppFonts.js +1 -0
  68. package/dist/commonjs/styles/index.d.ts +25 -1
  69. package/dist/commonjs/styles/index.js +22 -1
  70. package/dist/commonjs/types/enums.d.ts +2 -0
  71. package/dist/commonjs/types/enums.js +2 -0
  72. package/dist/commonjs/types/index.d.ts +2 -2
  73. package/dist/commonjs/types/interfaces.d.ts +12 -0
  74. package/dist/esm/capture.d.ts +26 -0
  75. package/dist/esm/capture.js +29 -0
  76. package/dist/esm/components/AnalyticsEventCard.js +11 -11
  77. package/dist/esm/components/AnimatedEntrance.js +4 -38
  78. package/dist/esm/components/DomainHeader.js +4 -16
  79. package/dist/esm/components/EmptyState.js +2 -2
  80. package/dist/esm/components/HeadersSection.js +16 -36
  81. package/dist/esm/components/Inspector/AnalyticsTab.js +3 -26
  82. package/dist/esm/components/Inspector/ConsoleTab.js +3 -25
  83. package/dist/esm/components/Inspector/CrashTab.js +6 -27
  84. package/dist/esm/components/Inspector/DebuggingTab.js +3 -3
  85. package/dist/esm/components/Inspector/FeedbackModal.d.ts +7 -0
  86. package/dist/esm/components/Inspector/FeedbackModal.js +515 -0
  87. package/dist/esm/components/Inspector/InspectorHeader.js +678 -288
  88. package/dist/esm/components/Inspector/MainScreen.js +67 -70
  89. package/dist/esm/components/Inspector/MediaGalleryTab.d.ts +2 -0
  90. package/dist/esm/components/Inspector/MediaGalleryTab.js +267 -0
  91. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +11 -0
  92. package/dist/esm/components/Inspector/MediaPreviewModal.js +353 -0
  93. package/dist/esm/components/Inspector/NetworkTab.js +199 -209
  94. package/dist/esm/components/Inspector/NpmStarPrompt.d.ts +3 -0
  95. package/dist/esm/components/Inspector/NpmStarPrompt.js +454 -0
  96. package/dist/esm/components/Inspector/NpmUpdateToast.js +5 -10
  97. package/dist/esm/components/Inspector/PerformanceTab.js +8 -1
  98. package/dist/esm/components/Inspector/ReduxTab.js +6 -26
  99. package/dist/esm/components/Inspector/SettingsPanel.js +1283 -176
  100. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +2 -2
  101. package/dist/esm/components/Inspector/StorageTab.js +3 -26
  102. package/dist/esm/components/Inspector/TabBar.js +56 -26
  103. package/dist/esm/components/Inspector/UpdateAvailableModal.js +6 -11
  104. package/dist/esm/components/JsonViewer.js +43 -20
  105. package/dist/esm/components/LogCard.js +5 -5
  106. package/dist/esm/components/MetaAccordion.js +79 -81
  107. package/dist/esm/components/NetworkIcons.d.ts +13 -0
  108. package/dist/esm/components/NetworkIcons.js +68 -0
  109. package/dist/esm/components/SectionHeader.js +4 -16
  110. package/dist/esm/components/SkeletonPlaceholder.js +2 -2
  111. package/dist/esm/components/SourcePageCard.js +44 -46
  112. package/dist/esm/components/Toast.js +4 -4
  113. package/dist/esm/components/TouchableScale.js +7 -33
  114. package/dist/esm/components/TreeNode.js +4 -16
  115. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  116. package/dist/esm/constants/telemetryConfig.js +3 -3
  117. package/dist/esm/constants/version.d.ts +1 -1
  118. package/dist/esm/constants/version.js +1 -1
  119. package/dist/esm/customHooks/useAccordion.d.ts +3 -8
  120. package/dist/esm/customHooks/useAccordion.js +7 -37
  121. package/dist/esm/helpers/index.d.ts +3 -1
  122. package/dist/esm/helpers/index.js +9 -0
  123. package/dist/esm/helpers/remoteConfig.d.ts +4 -0
  124. package/dist/esm/helpers/remoteConfig.js +160 -0
  125. package/dist/esm/helpers/searchQueryParser.js +2 -0
  126. package/dist/esm/helpers/telemetry.d.ts +5 -0
  127. package/dist/esm/helpers/telemetry.js +332 -9
  128. package/dist/esm/i18n/locales/en.json +66 -2
  129. package/dist/esm/index.d.ts +2 -0
  130. package/dist/esm/index.js +66 -23
  131. package/dist/esm/native/NativeInspector.d.ts +60 -0
  132. package/dist/esm/native/NativeInspector.js +100 -1
  133. package/dist/esm/native/NativeNetworkInspector.d.ts +8 -0
  134. package/dist/esm/styles/AppColors.d.ts +36 -0
  135. package/dist/esm/styles/AppColors.js +36 -0
  136. package/dist/esm/styles/AppFonts.d.ts +2 -0
  137. package/dist/esm/styles/AppFonts.js +1 -0
  138. package/dist/esm/styles/index.d.ts +25 -1
  139. package/dist/esm/styles/index.js +22 -1
  140. package/dist/esm/types/enums.d.ts +2 -0
  141. package/dist/esm/types/enums.js +2 -0
  142. package/dist/esm/types/index.d.ts +2 -2
  143. package/dist/esm/types/interfaces.d.ts +12 -0
  144. package/ios/NetworkInspectorModule.h +1 -0
  145. package/ios/NetworkInspectorModule.mm +736 -7
  146. package/package.json +10 -2
  147. package/react-native-inapp-inspector.podspec +1 -0
  148. package/src/capture.ts +101 -0
  149. package/src/components/AnalyticsEventCard.tsx +15 -13
  150. package/src/components/AnimatedEntrance.tsx +3 -47
  151. package/src/components/DomainHeader.tsx +4 -17
  152. package/src/components/EmptyState.tsx +2 -2
  153. package/src/components/HeadersSection.tsx +31 -56
  154. package/src/components/Inspector/AnalyticsTab.tsx +2 -25
  155. package/src/components/Inspector/ConsoleTab.tsx +2 -24
  156. package/src/components/Inspector/CrashTab.tsx +4 -25
  157. package/src/components/Inspector/DebuggingTab.tsx +2 -2
  158. package/src/components/Inspector/FeedbackModal.tsx +626 -0
  159. package/src/components/Inspector/InspectorHeader.tsx +1230 -728
  160. package/src/components/Inspector/MainScreen.tsx +97 -82
  161. package/src/components/Inspector/MediaGalleryTab.tsx +355 -0
  162. package/src/components/Inspector/MediaPreviewModal.tsx +435 -0
  163. package/src/components/Inspector/NetworkTab.tsx +83 -93
  164. package/src/components/Inspector/NpmStarPrompt.tsx +532 -0
  165. package/src/components/Inspector/NpmUpdateToast.tsx +4 -9
  166. package/src/components/Inspector/PerformanceTab.tsx +8 -1
  167. package/src/components/Inspector/ReduxTab.tsx +5 -25
  168. package/src/components/Inspector/SettingsPanel.tsx +1493 -225
  169. package/src/components/Inspector/SkeletonPlaceholder.tsx +2 -2
  170. package/src/components/Inspector/StorageTab.tsx +3 -26
  171. package/src/components/Inspector/TabBar.tsx +63 -32
  172. package/src/components/Inspector/UpdateAvailableModal.tsx +6 -10
  173. package/src/components/JsonViewer.tsx +101 -60
  174. package/src/components/LogCard.tsx +10 -8
  175. package/src/components/MetaAccordion.tsx +6 -6
  176. package/src/components/NetworkIcons.tsx +242 -0
  177. package/src/components/SectionHeader.tsx +4 -16
  178. package/src/components/SkeletonPlaceholder.tsx +2 -2
  179. package/src/components/SourcePageCard.tsx +57 -55
  180. package/src/components/Toast.tsx +4 -4
  181. package/src/components/TouchableScale.tsx +8 -38
  182. package/src/components/TreeNode.tsx +5 -20
  183. package/src/constants/telemetryConfig.ts +3 -5
  184. package/src/constants/version.ts +1 -1
  185. package/src/customHooks/useAccordion.tsx +10 -43
  186. package/src/helpers/index.ts +11 -1
  187. package/src/helpers/remoteConfig.ts +212 -0
  188. package/src/helpers/searchQueryParser.ts +3 -0
  189. package/src/helpers/telemetry.ts +381 -10
  190. package/src/i18n/locales/en.json +69 -2
  191. package/src/index.tsx +93 -23
  192. package/src/native/NativeInspector.ts +186 -1
  193. package/src/native/NativeNetworkInspector.ts +9 -0
  194. package/src/styles/AppColors.ts +38 -0
  195. package/src/styles/AppFonts.ts +2 -0
  196. package/src/styles/index.ts +23 -2
  197. package/src/types/enums.ts +4 -0
  198. package/src/types/index.ts +2 -2
  199. package/src/types/interfaces.ts +12 -0
  200. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  201. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  202. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  203. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  204. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  205. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  206. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  207. package/android/.gradle/8.9/gc.properties +0 -0
  208. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  209. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  210. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  211. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  212. package/android/.gradle/9.2.0/gc.properties +0 -0
  213. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  214. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  215. package/android/.gradle/vcs-1/gc.properties +0 -0
  216. package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/results.bin +0 -1
  217. package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/transformed/classes/classes_dex/classes.dex +0 -0
  218. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/results.bin +0 -1
  219. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  220. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  221. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  222. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  223. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  224. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  225. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  226. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  227. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  228. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  229. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +0 -10
  230. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +0 -104
  231. package/android/build/generated/source/codegen/jni/CMakeLists.txt +0 -28
  232. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +0 -128
  233. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +0 -31
  234. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +0 -22
  235. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +0 -24
  236. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +0 -16
  237. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +0 -17
  238. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +0 -19
  239. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +0 -18
  240. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +0 -177
  241. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +0 -17
  242. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +0 -23
  243. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +0 -16
  244. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +0 -20
  245. package/android/build/generated/source/codegen/schema.json +0 -1
  246. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -7
  247. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  248. package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
  249. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  250. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  251. package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  252. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  253. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  254. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  255. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  256. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  257. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  258. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  259. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  260. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  261. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  262. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  263. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  264. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
  265. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -7
  266. package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-react-native-inapp-inspector.jar +0 -0
  267. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -7
  268. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  269. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  270. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  271. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  272. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  273. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  274. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  275. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  276. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  277. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  278. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  279. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  280. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  281. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
  282. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  283. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  284. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  285. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  286. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  287. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  288. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  289. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  290. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  301. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  302. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  303. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  304. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  305. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  306. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  307. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  308. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  309. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  311. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  312. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  313. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  314. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  315. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  316. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  317. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  318. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  319. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  320. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  321. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  322. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  323. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  324. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  325. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  326. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  327. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  328. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  329. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  330. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  331. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  332. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  333. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  334. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  335. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  336. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  337. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  338. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  339. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  340. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  341. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  342. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  343. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  344. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  345. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  346. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  347. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  348. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  349. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  350. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  351. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  352. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  353. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  354. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  355. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  356. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  357. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  358. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  359. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  360. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  361. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  362. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  363. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  364. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  365. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  366. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  367. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  368. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  369. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  370. package/android/build/outputs/aar/react-native-inapp-inspector-debug.aar +0 -0
  371. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -17
  372. package/android/build/reports/problems/problems-report.html +0 -659
  373. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  374. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  375. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  376. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  377. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  378. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  379. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  380. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  381. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.getRuntimeDiagnostics = exports.getCategoryColors = exports.registerGAPlugin = exports.getEventCategory = exports.getEventColor = exports.ANALYTICS_EVENT_PALETTE = exports.openInVSCode = exports.parseStackLine = exports.getJsonPreviewText = exports.getJsonContent = exports.formatGap = exports.formatTime = exports.formatTimeShort = exports.handleOpenExternalLink = exports.getAppVersionAndBuild = exports.getAppName = exports.getBundleIdentifier = exports.formatDateTimeToAnalytics = exports.isAllValuesEmpty = exports.getLocalizedFilePathWithSlash = exports.getLocalizedFilePath = exports.formatDisplayUrl = exports.getDiff = exports.flattenObject = exports.getLogPageName = exports.getNavigationInfo = exports.escapeRegex = exports.deduplicateLogs = exports.getFetchCommand = exports.getCurlCommand = exports.getBaseUrl = exports.getPath = exports.copyToClipboard = exports.getSize = exports.getDurationColor = exports.getStatusColor = exports.formatTimestamp = exports.formatDateTime = exports.getDomainColor = exports.isLocalDebugEnvironment = void 0;
20
+ exports.getRuntimeDiagnostics = exports.getCategoryColors = exports.registerGAPlugin = exports.getEventCategory = exports.getEventColor = exports.ANALYTICS_EVENT_PALETTE = exports.openInVSCode = exports.parseStackLine = exports.getJsonPreviewText = exports.getJsonContent = exports.formatGap = exports.formatTime = exports.formatTimeShort = exports.handleOpenExternalLink = exports.getAppVersionAndBuild = exports.getAppName = exports.getBundleIdentifier = exports.formatDateTimeToAnalytics = exports.isAllValuesEmpty = exports.getLocalizedFilePathWithSlash = exports.getLocalizedFilePath = exports.formatDisplayUrl = exports.getDiff = exports.flattenObject = exports.getLogPageName = exports.getNavigationInfo = exports.escapeRegex = exports.deduplicateLogs = exports.getFetchCommand = exports.getCurlCommand = exports.getBaseUrl = exports.getPath = exports.copyToClipboard = exports.formatBytes = exports.getSize = exports.getDurationColor = exports.getStatusColor = exports.formatTimestamp = exports.formatDateTime = exports.getDomainColor = exports.isLocalDebugEnvironment = void 0;
21
21
  const react_native_1 = require("react-native");
22
22
  const clipboard_1 = __importDefault(require("@react-native-clipboard/clipboard"));
23
23
  const toast_1 = require("./toast");
@@ -25,6 +25,7 @@ const AppColors_1 = require("../styles/AppColors");
25
25
  const constants_1 = require("../constants");
26
26
  __exportStar(require("./searchQueryParser"), exports);
27
27
  __exportStar(require("./memoryManager"), exports);
28
+ __exportStar(require("./toast"), exports);
28
29
  const isLocalDebugEnvironment = () => {
29
30
  const isDev = typeof __DEV__ !== 'undefined' && Boolean(__DEV__);
30
31
  const scriptURL = react_native_1.NativeModules.SourceCode?.scriptURL || '';
@@ -103,6 +104,15 @@ const getSize = (data) => {
103
104
  }
104
105
  };
105
106
  exports.getSize = getSize;
107
+ const formatBytes = (bytes) => {
108
+ if (bytes === 0 || !bytes || isNaN(bytes))
109
+ return '0 B';
110
+ const k = 1024;
111
+ const sizes = ['B', 'KB', 'MB', 'GB'];
112
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
113
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(1))} ${sizes[i] || 'B'}`;
114
+ };
115
+ exports.formatBytes = formatBytes;
106
116
  const copyToClipboard = (value, label) => {
107
117
  const resolved = typeof value === 'function' ? value() : value;
108
118
  let textToCopy = '';
@@ -0,0 +1,4 @@
1
+ import { ActiveTab } from '../types';
2
+ export declare function getFirebaseRemoteConfig(customInstance?: any): any;
3
+ export declare function isFirebaseRemoteConfigAvailable(customInstance?: any): boolean;
4
+ export declare function fetchRemoteConfigModuleStatus(customInstance?: any, fetchTimeoutMs?: number): Promise<Partial<Record<ActiveTab, boolean>> | null>;
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFirebaseRemoteConfig = getFirebaseRemoteConfig;
4
+ exports.isFirebaseRemoteConfigAvailable = isFirebaseRemoteConfigAvailable;
5
+ exports.fetchRemoteConfigModuleStatus = fetchRemoteConfigModuleStatus;
6
+ const MODULE_KEYS = [
7
+ 'apis',
8
+ 'logs',
9
+ 'analytics',
10
+ 'redux',
11
+ 'storage',
12
+ 'device',
13
+ 'crash',
14
+ 'bundle',
15
+ 'performance',
16
+ 'debugging',
17
+ ];
18
+ let cachedRemoteConfigInstance = null;
19
+ function getFirebaseRemoteConfig(customInstance) {
20
+ if (customInstance && typeof customInstance === 'object') {
21
+ cachedRemoteConfigInstance = customInstance;
22
+ return customInstance;
23
+ }
24
+ if (cachedRemoteConfigInstance) {
25
+ return cachedRemoteConfigInstance;
26
+ }
27
+ try {
28
+ const rcModule = require('@react-native-firebase/remote-config');
29
+ const instance = typeof rcModule.default === 'function'
30
+ ? rcModule.default()
31
+ : typeof rcModule === 'function'
32
+ ? rcModule()
33
+ : rcModule;
34
+ cachedRemoteConfigInstance = instance;
35
+ return instance;
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ }
41
+ function isFirebaseRemoteConfigAvailable(customInstance) {
42
+ return Boolean(getFirebaseRemoteConfig(customInstance));
43
+ }
44
+ function extractValue(val) {
45
+ if (val === null || val === undefined)
46
+ return undefined;
47
+ if (typeof val === 'boolean')
48
+ return val;
49
+ if (typeof val === 'number')
50
+ return val !== 0;
51
+ if (typeof val === 'string') {
52
+ const lower = val.trim().toLowerCase();
53
+ if (lower === 'true' || lower === '1' || lower === 'enabled' || lower === 'on')
54
+ return true;
55
+ if (lower === 'false' || lower === '0' || lower === 'disabled' || lower === 'off')
56
+ return false;
57
+ try {
58
+ return JSON.parse(val);
59
+ }
60
+ catch {
61
+ return undefined;
62
+ }
63
+ }
64
+ if (typeof val.asBoolean === 'function') {
65
+ return val.asBoolean();
66
+ }
67
+ if (typeof val.asString === 'function') {
68
+ const str = val.asString();
69
+ const lower = str.trim().toLowerCase();
70
+ if (lower === 'true' || lower === '1' || lower === 'enabled' || lower === 'on')
71
+ return true;
72
+ if (lower === 'false' || lower === '0' || lower === 'disabled' || lower === 'off')
73
+ return false;
74
+ try {
75
+ return JSON.parse(str);
76
+ }
77
+ catch {
78
+ return undefined;
79
+ }
80
+ }
81
+ return undefined;
82
+ }
83
+ async function fetchRemoteConfigModuleStatus(customInstance, fetchTimeoutMs = 8000) {
84
+ const rc = getFirebaseRemoteConfig(customInstance);
85
+ if (!rc) {
86
+ return null;
87
+ }
88
+ try {
89
+ const fetchPromise = (async () => {
90
+ if (typeof rc.fetchAndActivate === 'function') {
91
+ await rc.fetchAndActivate();
92
+ }
93
+ else {
94
+ if (typeof rc.fetch === 'function') {
95
+ await rc.fetch();
96
+ }
97
+ if (typeof rc.activate === 'function') {
98
+ await rc.activate();
99
+ }
100
+ }
101
+ })();
102
+ const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Remote Config fetch timeout')), fetchTimeoutMs));
103
+ await Promise.race([fetchPromise, timeoutPromise]).catch(() => {
104
+ });
105
+ const result = {};
106
+ const jsonKeys = [
107
+ 'inspector_modules',
108
+ 'inapp_inspector_modules',
109
+ 'react_native_inapp_inspector_modules',
110
+ ];
111
+ for (const jKey of jsonKeys) {
112
+ let rawVal;
113
+ if (typeof rc.getValue === 'function') {
114
+ try {
115
+ rawVal = rc.getValue(jKey);
116
+ }
117
+ catch { }
118
+ }
119
+ else if (rc[jKey] !== undefined) {
120
+ rawVal = rc[jKey];
121
+ }
122
+ const parsed = extractValue(rawVal);
123
+ if (parsed && typeof parsed === 'object') {
124
+ for (const modKey of MODULE_KEYS) {
125
+ if (typeof parsed[modKey] === 'boolean') {
126
+ result[modKey] = parsed[modKey];
127
+ }
128
+ }
129
+ }
130
+ }
131
+ for (const modKey of MODULE_KEYS) {
132
+ const paramKeys = [
133
+ `inspector_module_${modKey}`,
134
+ `inapp_inspector_${modKey}`,
135
+ `inspector_${modKey}`,
136
+ `inapp_inspector_module_${modKey}`,
137
+ `rn_inspector_${modKey}`,
138
+ ];
139
+ for (const pKey of paramKeys) {
140
+ let rawVal;
141
+ if (typeof rc.getValue === 'function') {
142
+ try {
143
+ rawVal = rc.getValue(pKey);
144
+ }
145
+ catch { }
146
+ }
147
+ else if (rc[pKey] !== undefined) {
148
+ rawVal = rc[pKey];
149
+ }
150
+ const boolVal = extractValue(rawVal);
151
+ if (typeof boolVal === 'boolean') {
152
+ result[modKey] = boolVal;
153
+ break;
154
+ }
155
+ }
156
+ }
157
+ if (result.apis === undefined) {
158
+ result.apis = true;
159
+ }
160
+ return Object.keys(result).length > 0 ? result : null;
161
+ }
162
+ catch (error) {
163
+ return null;
164
+ }
165
+ }
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.matchNetworkLogQuery = matchNetworkLogQuery;
4
+ const telemetry_1 = require("./telemetry");
4
5
  function matchNetworkLogQuery(log, searchQuery, routePath, _options) {
5
6
  if (!searchQuery || searchQuery.trim().length === 0)
6
7
  return true;
8
+ (0, telemetry_1.markSearchFilterUsed)();
7
9
  const rawTokens = searchQuery.trim().toLowerCase().split(/\s+/).filter(Boolean);
8
10
  if (rawTokens.length === 0)
9
11
  return true;
@@ -1,2 +1,7 @@
1
1
  export declare function setTelemetryEnabled(enabled: boolean): void;
2
+ export declare function markSearchFilterUsed(): void;
2
3
  export declare function trackActiveTelemetryHeartbeat(telemetryEnabled?: boolean, environment?: string): Promise<void>;
4
+ export declare function trackTelemetryEvent(eventName: string, eventParams?: Record<string, any>): Promise<void>;
5
+ export declare function trackInspectorTabView(tabName: string): void;
6
+ export declare function trackInspectorScreenView(screenName: string): void;
7
+ export declare function trackInspectorScreenRecord(action: 'start' | 'stop' | 'toggle', recordingType?: string): void;
@@ -1,10 +1,25 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.setTelemetryEnabled = setTelemetryEnabled;
7
+ exports.markSearchFilterUsed = markSearchFilterUsed;
4
8
  exports.trackActiveTelemetryHeartbeat = trackActiveTelemetryHeartbeat;
9
+ exports.trackTelemetryEvent = trackTelemetryEvent;
10
+ exports.trackInspectorTabView = trackInspectorTabView;
11
+ exports.trackInspectorScreenView = trackInspectorScreenView;
12
+ exports.trackInspectorScreenRecord = trackInspectorScreenRecord;
13
+ const react_1 = __importDefault(require("react"));
5
14
  const react_native_1 = require("react-native");
6
15
  const version_1 = require("../constants/version");
7
16
  const settingsStore_1 = require("./settingsStore");
17
+ const reduxLogger_1 = require("../customHooks/reduxLogger");
18
+ const analyticsLogger_1 = require("../customHooks/analyticsLogger");
19
+ const crashHandler_1 = require("../customHooks/crashHandler");
20
+ const networkLogger_1 = require("../customHooks/networkLogger");
21
+ const NativeInspector_1 = require("../native/NativeInspector");
22
+ const index_1 = require("./index");
8
23
  const telemetryConfig_1 = require("../constants/telemetryConfig");
9
24
  const PKG_NAME = 'react-native-inapp-inspector';
10
25
  const KEY_MATERIAL = `${PKG_NAME}::${telemetryConfig_1.TELEMETRY_SALT}`;
@@ -64,19 +79,33 @@ function getCollectUrl() {
64
79
  }
65
80
  const PING_INTERVAL_MS = 24 * 60 * 60 * 1000;
66
81
  let isTelemetryEnabled = true;
82
+ let _hasSearchFilterBeenUsed = false;
67
83
  function setTelemetryEnabled(enabled) {
68
84
  isTelemetryEnabled = enabled;
69
85
  }
86
+ function markSearchFilterUsed() {
87
+ _hasSearchFilterBeenUsed = true;
88
+ }
70
89
  async function getOrCreateClientId() {
71
90
  try {
72
91
  const settings = await (0, settingsStore_1.loadSettings)();
73
- if (settings.telemetryClientId) {
74
- return settings.telemetryClientId;
92
+ if (settings.telemetryClientId || settings.telemetryDeviceId) {
93
+ const id = settings.telemetryClientId || settings.telemetryDeviceId || '';
94
+ if (!settings.telemetryDeviceId) {
95
+ await (0, settingsStore_1.saveSettings)({ ...settings, telemetryDeviceId: id });
96
+ }
97
+ return id;
75
98
  }
76
99
  const part1 = Math.floor(100000000 + Math.random() * 900000000);
77
100
  const part2 = Math.floor(1000000000 + Math.random() * 9000000000);
78
101
  const newId = `${part1}.${part2}`;
79
- (0, settingsStore_1.saveSettings)({ ...settings, telemetryClientId: newId });
102
+ const now = Date.now();
103
+ await (0, settingsStore_1.saveSettings)({
104
+ ...settings,
105
+ telemetryClientId: newId,
106
+ telemetryDeviceId: newId,
107
+ deviceFirstSeen: settings.deviceFirstSeen || now,
108
+ });
80
109
  return newId;
81
110
  }
82
111
  catch {
@@ -113,26 +142,181 @@ function isDeviceEmulator() {
113
142
  }
114
143
  return false;
115
144
  }
116
- function getSystemMetadata(environment) {
145
+ function getDeviceLocaleInfo() {
146
+ try {
147
+ const opts = typeof Intl !== 'undefined' && Intl.DateTimeFormat ? Intl.DateTimeFormat().resolvedOptions() : {};
148
+ const timeZone = opts.timeZone || 'unknown';
149
+ const locale = opts.locale || 'unknown';
150
+ let countryCode = 'unknown';
151
+ if (locale && locale !== 'unknown') {
152
+ const parts = locale.split(/[-_]/);
153
+ if (parts.length > 1) {
154
+ countryCode = parts[parts.length - 1].toUpperCase();
155
+ }
156
+ }
157
+ return { countryCode, locale, timeZone };
158
+ }
159
+ catch {
160
+ return { countryCode: 'unknown', locale: 'unknown', timeZone: 'unknown' };
161
+ }
162
+ }
163
+ function getSystemMetadata(environment, currentSettings) {
117
164
  const rnConstants = react_native_1.Platform.constants;
118
165
  const rnVersion = rnConstants?.reactNativeVersion
119
166
  ? `${rnConstants.reactNativeVersion.major}.${rnConstants.reactNativeVersion.minor}.${rnConstants.reactNativeVersion.patch}`
120
167
  : 'unknown';
121
168
  const isHermes = Boolean(typeof global.HermesInternal === 'object' && global.HermesInternal !== null);
122
169
  const isFabric = Boolean(global?.nativeFabricUIManager !== undefined);
170
+ const isBridgeless = Boolean(global?._rn_bridgeless || global?.RN$Bridgeless);
123
171
  const isDev = Boolean(typeof __DEV__ !== 'undefined' && __DEV__);
124
172
  const isEmulator = isDeviceEmulator();
173
+ const { countryCode, locale, timeZone } = getDeviceLocaleInfo();
174
+ let screenRes = 'unknown';
175
+ let screenDensity = 1;
176
+ let fontScale = 1;
177
+ let deviceFormFactor = 'phone';
178
+ let screenOrientation = 'portrait';
179
+ try {
180
+ const dim = react_native_1.Dimensions.get('window');
181
+ screenRes = `${Math.round(dim.width)}x${Math.round(dim.height)}`;
182
+ screenDensity = react_native_1.PixelRatio.get();
183
+ fontScale = react_native_1.PixelRatio.getFontScale();
184
+ screenOrientation = dim.width > dim.height ? 'landscape' : 'portrait';
185
+ const isTablet = (react_native_1.Platform.OS === 'ios' && Boolean(react_native_1.Platform.isPad)) ||
186
+ (Math.min(dim.width, dim.height) >= 600);
187
+ deviceFormFactor = isTablet ? 'tablet' : 'phone';
188
+ }
189
+ catch { }
190
+ let appearanceMode = 'unknown';
191
+ try {
192
+ appearanceMode = react_native_1.Appearance?.getColorScheme?.() || 'unknown';
193
+ }
194
+ catch { }
195
+ const isExpo = Boolean(globalThis?.expo ||
196
+ globalThis?.__expo ||
197
+ globalThis?.__turboModuleProxy?.name === 'Expo' ||
198
+ react_native_1.Platform.constants?.ExpoVersion);
199
+ let hermesVersion = 'non_hermes';
200
+ let jsEngine = 'jsc';
201
+ if (isHermes) {
202
+ jsEngine = 'hermes';
203
+ try {
204
+ const props = global.HermesInternal?.getRuntimeProperties?.() || {};
205
+ hermesVersion = props['OSS Release Version'] || (props['Bytecode Version'] ? `bc_v${props['Bytecode Version']}` : 'hermes');
206
+ }
207
+ catch {
208
+ hermesVersion = 'hermes';
209
+ }
210
+ }
211
+ else if (globalThis?._v8) {
212
+ jsEngine = 'v8';
213
+ }
214
+ let reduxAttached = false;
215
+ try {
216
+ reduxAttached = (0, reduxLogger_1.isReduxConnected)();
217
+ }
218
+ catch { }
219
+ let analyticsAttached = false;
220
+ try {
221
+ analyticsAttached = (0, analyticsLogger_1.isFirebaseAnalyticsPatched)();
222
+ }
223
+ catch { }
224
+ const hasNativeModule = (0, NativeInspector_1.isNativeModuleAvailable)();
225
+ const hasMmkv = Boolean(react_native_1.NativeModules?.RNMMKV || globalThis?.MMKV);
226
+ let capturedCrashesCount = 0;
227
+ try {
228
+ capturedCrashesCount = (0, crashHandler_1.getCrashRecords)().length;
229
+ }
230
+ catch { }
231
+ let capturedApisBracket = '0';
232
+ try {
233
+ const apiCount = (0, networkLogger_1.getNetworkLogs)().length;
234
+ capturedApisBracket =
235
+ apiCount === 0
236
+ ? '0'
237
+ : apiCount <= 10
238
+ ? '1-10'
239
+ : apiCount <= 50
240
+ ? '11-50'
241
+ : apiCount <= 100
242
+ ? '51-100'
243
+ : '100+';
244
+ }
245
+ catch { }
246
+ let isMetroConnected = false;
247
+ try {
248
+ isMetroConnected = (0, index_1.isLocalDebugEnvironment)();
249
+ }
250
+ catch { }
251
+ const defaultLandingTab = currentSettings?.defaultTab || 'apis';
252
+ const fabMode = hasNativeModule && currentSettings?.useNativeFab !== false
253
+ ? 'native_ui_thread'
254
+ : 'js_floating_button';
255
+ const deviceBrand = String(rnConstants?.Brand ||
256
+ (react_native_1.Platform.OS === 'ios' ? 'Apple' : 'unknown'));
257
+ const deviceModel = String(rnConstants?.Model ||
258
+ rnConstants?.systemName ||
259
+ (react_native_1.Platform.OS === 'ios' ? 'iPhone/iPad' : 'unknown'));
260
+ const deviceManufacturer = String(rnConstants?.Manufacturer ||
261
+ (react_native_1.Platform.OS === 'ios' ? 'Apple' : 'unknown'));
262
+ let appName = 'App';
263
+ let bundleId = 'unknown';
264
+ let appVersion = 'unknown';
265
+ let appBuild = 'unknown';
266
+ try {
267
+ appName = (0, index_1.getAppName)() || 'App';
268
+ bundleId = (0, index_1.getBundleIdentifier)() || 'unknown';
269
+ const verInfo = (0, index_1.getAppVersionAndBuild)();
270
+ appVersion = verInfo.version || 'unknown';
271
+ appBuild = verInfo.build || 'unknown';
272
+ }
273
+ catch { }
274
+ const reactVer = typeof react_1.default !== 'undefined' && react_1.default.version ? react_1.default.version : 'unknown';
125
275
  return {
276
+ pkg_name: PKG_NAME,
277
+ pkg_version: version_1.LIB_VERSION,
126
278
  lib_version: version_1.LIB_VERSION,
279
+ install_type: isDev ? 'local_dev' : 'bundled_production',
280
+ app_name: appName,
281
+ bundle_id: bundleId,
282
+ app_version: appVersion,
283
+ app_build: appBuild,
284
+ react_version: reactVer,
127
285
  platform: react_native_1.Platform.OS,
128
286
  os_version: String(react_native_1.Platform.Version || 'unknown'),
129
287
  rn_version: rnVersion,
288
+ country_code: countryCode,
289
+ device_locale: locale,
290
+ time_zone: timeZone,
291
+ device_brand: deviceBrand,
292
+ device_model: deviceModel,
293
+ device_manufacturer: deviceManufacturer,
294
+ device_form_factor: deviceFormFactor,
295
+ screen_resolution: screenRes,
296
+ screen_density: screenDensity,
297
+ screen_orientation: screenOrientation,
298
+ font_scale: fontScale,
299
+ appearance_mode: appearanceMode,
300
+ is_expo: isExpo,
301
+ js_engine: jsEngine,
302
+ hermes_version: hermesVersion,
130
303
  is_hermes: isHermes,
131
304
  is_fabric: isFabric,
305
+ is_bridgeless: isBridgeless,
306
+ has_native_module: hasNativeModule,
307
+ has_mmkv: hasMmkv,
308
+ fab_mode: fabMode,
309
+ default_landing_tab: defaultLandingTab,
310
+ captured_crashes_count: capturedCrashesCount,
311
+ captured_apis_bracket: capturedApisBracket,
312
+ search_filter_used: _hasSearchFilterBeenUsed,
313
+ is_metro_connected: isMetroConnected,
132
314
  is_dev: isDev,
133
315
  is_emulator: isEmulator,
134
316
  device_type: isEmulator ? 'emulator' : 'real_device',
135
317
  app_mode: isDev ? 'local_mode' : 'bundled_application',
318
+ redux_attached: reduxAttached,
319
+ analytics_attached: analyticsAttached,
136
320
  environment: environment || (isDev ? 'DEV' : 'PROD'),
137
321
  engagement_time_msec: 1000,
138
322
  };
@@ -150,21 +334,168 @@ async function trackActiveTelemetryHeartbeat(telemetryEnabled = true, environmen
150
334
  const settings = await (0, settingsStore_1.loadSettings)();
151
335
  const lastPing = settings.telemetryLastPing || 0;
152
336
  const now = Date.now();
153
- if (now - lastPing < PING_INTERVAL_MS)
337
+ const isNewDevice = !settings.deviceRegistered;
338
+ if (!isNewDevice && now - lastPing < PING_INTERVAL_MS)
154
339
  return;
155
340
  const clientId = await getOrCreateClientId();
156
- const params = getSystemMetadata(environment);
341
+ const params = getSystemMetadata(environment, settings);
342
+ const deviceParams = {
343
+ ...params,
344
+ device_id: clientId,
345
+ is_new_device: isNewDevice,
346
+ device_first_seen: settings.deviceFirstSeen || now,
347
+ };
348
+ const eventsToDispatch = isNewDevice
349
+ ? [
350
+ { name: 'active_device', params: deviceParams },
351
+ { name: 'first_device_install', params: deviceParams },
352
+ { name: 'inspector_active_heartbeat', params: deviceParams },
353
+ ]
354
+ : [
355
+ { name: 'active_device', params: deviceParams },
356
+ { name: 'inspector_active_heartbeat', params: deviceParams },
357
+ ];
157
358
  await fetch(url, {
158
359
  method: 'POST',
159
360
  headers: { 'Content-Type': 'application/json' },
160
361
  body: JSON.stringify({
161
362
  client_id: clientId,
363
+ user_id: clientId,
162
364
  non_personalized_ads: true,
163
- events: [{ name: 'inspector_active_heartbeat', params }],
365
+ user_properties: {
366
+ device_id: { value: clientId },
367
+ pkg_name: { value: params.pkg_name },
368
+ pkg_version: { value: params.pkg_version },
369
+ install_type: { value: params.install_type },
370
+ app_name: { value: params.app_name },
371
+ bundle_id: { value: params.bundle_id },
372
+ app_version: { value: params.app_version },
373
+ react_version: { value: params.react_version },
374
+ country: { value: params.country_code },
375
+ country_code: { value: params.country_code },
376
+ locale: { value: params.device_locale },
377
+ time_zone: { value: params.time_zone },
378
+ device_brand: { value: params.device_brand },
379
+ device_model: { value: params.device_model },
380
+ device_form_factor: { value: params.device_form_factor },
381
+ screen_resolution: { value: params.screen_resolution },
382
+ appearance_mode: { value: params.appearance_mode },
383
+ is_expo: { value: String(params.is_expo) },
384
+ js_engine: { value: params.js_engine },
385
+ is_fabric: { value: String(params.is_fabric) },
386
+ is_bridgeless: { value: String(params.is_bridgeless) },
387
+ has_native_module: { value: String(params.has_native_module) },
388
+ has_mmkv: { value: String(params.has_mmkv) },
389
+ fab_mode: { value: params.fab_mode },
390
+ default_landing_tab: { value: params.default_landing_tab },
391
+ captured_crashes_count: { value: String(params.captured_crashes_count) },
392
+ captured_apis_bracket: { value: params.captured_apis_bracket },
393
+ search_filter_used: { value: String(params.search_filter_used) },
394
+ is_metro_connected: { value: String(params.is_metro_connected) },
395
+ redux_attached: { value: String(params.redux_attached) },
396
+ analytics_attached: { value: String(params.analytics_attached) },
397
+ platform: { value: params.platform },
398
+ rn_version: { value: params.rn_version },
399
+ lib_version: { value: params.lib_version },
400
+ },
401
+ events: eventsToDispatch,
164
402
  }),
165
403
  });
166
- (0, settingsStore_1.saveSettings)({ ...settings, telemetryLastPing: now });
404
+ await (0, settingsStore_1.saveSettings)({
405
+ ...settings,
406
+ telemetryClientId: clientId,
407
+ telemetryDeviceId: clientId,
408
+ deviceRegistered: true,
409
+ deviceFirstSeen: settings.deviceFirstSeen || now,
410
+ telemetryLastPing: now,
411
+ telemetryLastActive: now,
412
+ });
167
413
  }
168
414
  catch {
169
415
  }
170
416
  }
417
+ async function trackTelemetryEvent(eventName, eventParams) {
418
+ if (!isTelemetryEnabled)
419
+ return;
420
+ const url = getCollectUrl();
421
+ if (!url)
422
+ return;
423
+ try {
424
+ const clientId = await getOrCreateClientId();
425
+ const settings = await (0, settingsStore_1.loadSettings)().catch(() => ({}));
426
+ const metadata = getSystemMetadata(undefined, settings);
427
+ const params = {
428
+ ...metadata,
429
+ device_id: clientId,
430
+ ...eventParams,
431
+ engagement_time_msec: 100,
432
+ };
433
+ await fetch(url, {
434
+ method: 'POST',
435
+ headers: { 'Content-Type': 'application/json' },
436
+ body: JSON.stringify({
437
+ client_id: clientId,
438
+ user_id: clientId,
439
+ non_personalized_ads: true,
440
+ user_properties: {
441
+ device_id: { value: clientId },
442
+ pkg_name: { value: metadata.pkg_name },
443
+ pkg_version: { value: metadata.pkg_version },
444
+ install_type: { value: metadata.install_type },
445
+ app_name: { value: metadata.app_name },
446
+ bundle_id: { value: metadata.bundle_id },
447
+ app_version: { value: metadata.app_version },
448
+ react_version: { value: metadata.react_version },
449
+ country: { value: metadata.country_code },
450
+ country_code: { value: metadata.country_code },
451
+ locale: { value: metadata.device_locale },
452
+ time_zone: { value: metadata.time_zone },
453
+ device_brand: { value: metadata.device_brand },
454
+ device_model: { value: metadata.device_model },
455
+ device_form_factor: { value: metadata.device_form_factor },
456
+ screen_resolution: { value: metadata.screen_resolution },
457
+ appearance_mode: { value: metadata.appearance_mode },
458
+ is_expo: { value: String(metadata.is_expo) },
459
+ js_engine: { value: metadata.js_engine },
460
+ is_fabric: { value: String(metadata.is_fabric) },
461
+ is_bridgeless: { value: String(metadata.is_bridgeless) },
462
+ has_native_module: { value: String(metadata.has_native_module) },
463
+ has_mmkv: { value: String(metadata.has_mmkv) },
464
+ fab_mode: { value: metadata.fab_mode },
465
+ default_landing_tab: { value: metadata.default_landing_tab },
466
+ captured_crashes_count: { value: String(metadata.captured_crashes_count) },
467
+ captured_apis_bracket: { value: metadata.captured_apis_bracket },
468
+ search_filter_used: { value: String(metadata.search_filter_used) },
469
+ is_metro_connected: { value: String(metadata.is_metro_connected) },
470
+ redux_attached: { value: String(metadata.redux_attached) },
471
+ analytics_attached: { value: String(metadata.analytics_attached) },
472
+ platform: { value: metadata.platform },
473
+ rn_version: { value: metadata.rn_version },
474
+ lib_version: { value: metadata.lib_version },
475
+ },
476
+ events: [{ name: eventName, params }],
477
+ }),
478
+ });
479
+ }
480
+ catch {
481
+ }
482
+ }
483
+ function trackInspectorTabView(tabName) {
484
+ trackTelemetryEvent('inspector_tab_view', {
485
+ tab_name: tabName,
486
+ screen_name: `tab_${tabName}`,
487
+ screen_class: 'NetworkInspector',
488
+ });
489
+ }
490
+ function trackInspectorScreenView(screenName) {
491
+ trackTelemetryEvent('screen_view', {
492
+ screen_name: screenName,
493
+ screen_class: 'NetworkInspector',
494
+ });
495
+ }
496
+ function trackInspectorScreenRecord(action, recordingType = 'screen') {
497
+ trackTelemetryEvent('inspector_screen_record', {
498
+ action,
499
+ recording_type: recordingType,
500
+ });
501
+ }