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
@@ -26,4 +26,6 @@ export { ActiveTab, Method, StatusFilter, SortOrder, LocalFilter, ModalAnimation
26
26
  export { AppFonts, setAppFonts, type AppFontConfig, } from './styles/AppFonts';
27
27
  export { AppColors, setAppColors, getThemeColors, updateAppColorsTheme, } from './styles/AppColors';
28
28
  export { t, i18n, useTranslation, setLanguage, addTranslations, setTranslations, I18nextProvider, } from './i18n';
29
+ export { fetchRemoteConfigModuleStatus, isFirebaseRemoteConfigAvailable, } from './helpers/remoteConfig';
30
+ export { ScreenCapture, ScreenRecorder, type ScreenshotOptions, type ScreenshotResult, type RecordingOptions, type RecordingResult, type GifConversionOptions, type CapturedMediaItem, type ImageFormat, type AudioSource, type RecordingFormat, } from './capture';
29
31
  export { LIB_VERSION } from './constants/version';
package/dist/esm/index.js CHANGED
@@ -12,15 +12,16 @@ import { setupNetworkLogger, clearNetworkLogs, subscribeNetworkLogs, setNetworkM
12
12
  import { setupConsoleLogger, clearConsoleLogs, subscribeConsoleLogs, setConsoleModuleEnabled, } from './customHooks/consoleLogger';
13
13
  import { IGNORED_LOG_PREFIXES } from './customHooks/logFilters';
14
14
  import { setupGlobalCrashHandler, subscribeCrashEvents, getCrashRecords, clearCrashRecords, setMaxCrashLogsLimit, setCrashModuleEnabled, } from './customHooks/crashHandler';
15
- import { trackActiveTelemetryHeartbeat, setTelemetryEnabled, } from './helpers/telemetry';
15
+ import { trackActiveTelemetryHeartbeat, setTelemetryEnabled, trackInspectorTabView, trackInspectorScreenView, } from './helpers/telemetry';
16
16
  import { subscribeAnalyticsEvents, clearAnalyticsEvents, autoSetupAnalyticsLogger, isAnalyticsConnected, setAnalyticsModuleEnabled, } from './customHooks/analyticsLogger';
17
17
  import { getReduxState, subscribeReduxState, setReduxAutoRefresh, getLastActionForReducer, clearActionHistory, isReduxConnected, setReduxModuleEnabled, } from './customHooks/reduxLogger';
18
18
  import { setPerformanceModuleEnabled } from './customHooks/performanceTracker';
19
19
  import { setBundleModuleEnabled } from './customHooks/bundleAnalyzer';
20
20
  import { showNativeFloatingButton, hideNativeFloatingButton, setNativeFloatingButtonBadge, subscribeNativeFloatingButtonPress, subscribeNativeDeviceShake, isNativeModuleAvailable, } from './native/NativeInspector';
21
+ import { fetchRemoteConfigModuleStatus, } from './helpers/remoteConfig';
21
22
  import { LIB_VERSION } from './constants';
22
23
  import { toggleGlobalTheme } from './styles';
23
- const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, environment, initialVisible = false, visible: controlledVisible, }) => {
24
+ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, environment, initialVisible = false, visible: controlledVisible, remoteConfig, }) => {
24
25
  setCustomStorage(storage || null);
25
26
  const [isDark, setIsDark] = useState(false);
26
27
  const [reduxState, setReduxState] = useState(null);
@@ -157,6 +158,7 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
157
158
  const [logSearch, setLogSearch] = useState('');
158
159
  const [logFilters, setLogFilters] = useState(new Set(['all']));
159
160
  const [settingsPage, setSettingsPage] = useState(null);
161
+ const [isFeedbackOpen, setIsFeedbackOpen] = useState(false);
160
162
  const [settingsActiveSubTab, setSettingsActiveSubTab] = useState('module');
161
163
  const [tabVisibility, setTabVisibility] = useState({
162
164
  apis: true,
@@ -309,6 +311,25 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
309
311
  cancelled = true;
310
312
  };
311
313
  }, []);
314
+ useEffect(() => {
315
+ let isMounted = true;
316
+ if (remoteConfig === false)
317
+ return;
318
+ fetchRemoteConfigModuleStatus(typeof remoteConfig === 'object' ? remoteConfig : undefined)
319
+ .then(remoteModules => {
320
+ if (isMounted && remoteModules) {
321
+ setTabVisibility(prev => ({
322
+ ...prev,
323
+ ...remoteModules,
324
+ apis: remoteModules.apis ?? true,
325
+ }));
326
+ }
327
+ })
328
+ .catch(() => { });
329
+ return () => {
330
+ isMounted = false;
331
+ };
332
+ }, [remoteConfig]);
312
333
  useEffect(() => {
313
334
  if (!settingsHydratedRef.current)
314
335
  return;
@@ -448,6 +469,7 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
448
469
  setActiveTab(key);
449
470
  loadNativePage(key);
450
471
  }
472
+ trackInspectorTabView(key);
451
473
  }, [loadNativePage]);
452
474
  const [selectedEvent, setSelectedEvent] = useState(null);
453
475
  const [analyticsSearch, setAnalyticsSearch] = useState('');
@@ -626,12 +648,12 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
626
648
  Animated.timing(clearAnim, {
627
649
  toValue: 1,
628
650
  duration: 320,
629
- useNativeDriver: true,
651
+ useNativeDriver: false,
630
652
  }),
631
653
  Animated.timing(clearAnim, {
632
654
  toValue: 0,
633
655
  duration: 0,
634
- useNativeDriver: true,
656
+ useNativeDriver: false,
635
657
  }),
636
658
  ]).start();
637
659
  handleClearAll();
@@ -642,49 +664,53 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
642
664
  }
643
665
  }, []);
644
666
  useEffect(() => {
667
+ if (visible)
668
+ return;
645
669
  const loop = Animated.loop(Animated.sequence([
646
670
  Animated.timing(pulseAnim, {
647
671
  toValue: 1.2,
648
672
  duration: 800,
649
- useNativeDriver: true,
673
+ useNativeDriver: false,
650
674
  }),
651
675
  Animated.timing(pulseAnim, {
652
676
  toValue: 1,
653
677
  duration: 800,
654
- useNativeDriver: true,
678
+ useNativeDriver: false,
655
679
  }),
656
680
  ]));
657
681
  loop.start();
658
682
  return () => loop.stop();
659
- }, [pulseAnim]);
683
+ }, [pulseAnim, visible]);
660
684
  useEffect(() => {
685
+ if (visible)
686
+ return;
661
687
  const loop = Animated.loop(Animated.sequence([
662
688
  Animated.timing(fabShineAnim, {
663
689
  toValue: 1,
664
690
  duration: 1100,
665
- useNativeDriver: true,
691
+ useNativeDriver: false,
666
692
  }),
667
693
  Animated.delay(1600),
668
694
  Animated.timing(fabShineAnim, {
669
695
  toValue: 0,
670
696
  duration: 0,
671
- useNativeDriver: true,
697
+ useNativeDriver: false,
672
698
  }),
673
699
  ]));
674
700
  loop.start();
675
701
  return () => loop.stop();
676
- }, [fabShineAnim]);
702
+ }, [fabShineAnim, visible]);
677
703
  useEffect(() => {
678
704
  const loop = Animated.loop(Animated.sequence([
679
705
  Animated.timing(activePulseAnim, {
680
706
  toValue: 1,
681
707
  duration: 1200,
682
- useNativeDriver: true,
708
+ useNativeDriver: false,
683
709
  }),
684
710
  Animated.timing(activePulseAnim, {
685
711
  toValue: 0.4,
686
712
  duration: 1200,
687
- useNativeDriver: true,
713
+ useNativeDriver: false,
688
714
  }),
689
715
  ]));
690
716
  loop.start();
@@ -695,12 +721,12 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
695
721
  Animated.timing(unreadPulseAnim, {
696
722
  toValue: 1.3,
697
723
  duration: 800,
698
- useNativeDriver: true,
724
+ useNativeDriver: false,
699
725
  }),
700
726
  Animated.timing(unreadPulseAnim, {
701
727
  toValue: 0.8,
702
728
  duration: 800,
703
- useNativeDriver: true,
729
+ useNativeDriver: false,
704
730
  }),
705
731
  ]));
706
732
  loop.start();
@@ -738,6 +764,7 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
738
764
  if (!useNativeFab)
739
765
  return;
740
766
  const unsubscribe = subscribeNativeFloatingButtonPress(() => {
767
+ hideNativeFloatingButton().catch(() => { });
741
768
  setVisible(true);
742
769
  });
743
770
  return () => {
@@ -748,7 +775,13 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
748
775
  if (!useNativeFab)
749
776
  return;
750
777
  const unsubscribe = subscribeNativeDeviceShake(() => {
751
- setVisible(prev => !prev);
778
+ setVisible(prev => {
779
+ const next = !prev;
780
+ if (next) {
781
+ hideNativeFloatingButton().catch(() => { });
782
+ }
783
+ return next;
784
+ });
752
785
  });
753
786
  return () => {
754
787
  unsubscribe();
@@ -758,10 +791,12 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
758
791
  useEffect(() => {
759
792
  isVisibleRefObj.current = visible;
760
793
  if (visible) {
794
+ trackInspectorScreenView('InspectorModal');
761
795
  const target = defaultTab === 'apis' || tabVisibility?.[defaultTab]
762
796
  ? defaultTab
763
797
  : 'apis';
764
798
  setActiveTab(target);
799
+ trackInspectorTabView(target);
765
800
  if (latestNetworkLogsRef.current.length > 0) {
766
801
  const deduped = deduplicateLogs(latestNetworkLogsRef.current);
767
802
  const incoming = new Set(deduped.map(l => l.id));
@@ -1128,18 +1163,20 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
1128
1163
  }, []);
1129
1164
  const groupedData = useMemo(() => {
1130
1165
  const result = [];
1131
- const groups = [];
1166
+ const groupMap = new Map();
1132
1167
  for (let i = 0; i < filteredLogs.length; i++) {
1133
1168
  const log = filteredLogs[i];
1134
1169
  const routeInfo = logRouteMapRef.current.get(log.id) || log?.routeInfo;
1135
1170
  const pageName = getLogPageName(log, routeInfo);
1136
- if (groups.length === 0 ||
1137
- groups[groups.length - 1].pageName !== pageName) {
1138
- groups.push({ pageName, color: getDomainColor(pageName), logs: [] });
1171
+ let group = groupMap.get(pageName);
1172
+ if (!group) {
1173
+ group = { pageName, color: getDomainColor(pageName), logs: [] };
1174
+ groupMap.set(pageName, group);
1139
1175
  }
1140
- groups[groups.length - 1].logs.push(log);
1176
+ group.logs.push(log);
1141
1177
  }
1142
- groups.forEach((g, idx) => {
1178
+ let idx = 0;
1179
+ groupMap.forEach(g => {
1143
1180
  let success = 0;
1144
1181
  let failed = 0;
1145
1182
  let loading = 0;
@@ -1156,7 +1193,7 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
1156
1193
  const timestamp = g.logs[0]?.startTime || 0;
1157
1194
  result.push({
1158
1195
  type: 'header',
1159
- id: `hdr-${g.logs[0]?.id || 'empty'}-${g.pageName}`,
1196
+ id: `hdr-${g.pageName}`,
1160
1197
  pageName: g.pageName,
1161
1198
  color: g.color,
1162
1199
  stats: { success, failed, loading },
@@ -1165,6 +1202,7 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
1165
1202
  isCollapsed,
1166
1203
  isFirst: idx === 0,
1167
1204
  });
1205
+ idx++;
1168
1206
  if (!isCollapsed) {
1169
1207
  const displayLogs = g.logs.filter(l => {
1170
1208
  if (l.status == null)
@@ -1176,7 +1214,7 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
1176
1214
  displayLogs.forEach((log, index) => {
1177
1215
  result.push({
1178
1216
  type: 'log',
1179
- id: log.id,
1217
+ id: `log-${log.id}`,
1180
1218
  log,
1181
1219
  isLast: index === displayLogs.length - 1,
1182
1220
  color: g.color,
@@ -1622,6 +1660,8 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
1622
1660
  setShowHeaderInfo,
1623
1661
  settingsPage,
1624
1662
  setSettingsPage,
1663
+ isFeedbackOpen,
1664
+ setIsFeedbackOpen,
1625
1665
  updateAvailable,
1626
1666
  latestNpmVersion,
1627
1667
  clearAnim,
@@ -1780,6 +1820,7 @@ const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, env
1780
1820
  selectedLog,
1781
1821
  showHeaderInfo,
1782
1822
  settingsPage,
1823
+ isFeedbackOpen,
1783
1824
  updateAvailable,
1784
1825
  latestNpmVersion,
1785
1826
  clearAnim,
@@ -1921,4 +1962,6 @@ export { ActiveTab, Method, StatusFilter, SortOrder, LocalFilter, ModalAnimation
1921
1962
  export { AppFonts, setAppFonts, } from './styles/AppFonts';
1922
1963
  export { AppColors, setAppColors, getThemeColors, updateAppColorsTheme, } from './styles/AppColors';
1923
1964
  export { t, i18n, useTranslation, setLanguage, addTranslations, setTranslations, I18nextProvider, } from './i18n';
1965
+ export { fetchRemoteConfigModuleStatus, isFirebaseRemoteConfigAvailable, } from './helpers/remoteConfig';
1966
+ export { ScreenCapture, ScreenRecorder, } from './capture';
1924
1967
  export { LIB_VERSION } from './constants/version';
@@ -74,3 +74,63 @@ export interface NativeCachedPageResult<T = any> {
74
74
  items: T[];
75
75
  }
76
76
  export declare const fetchNativeCachedPage: <T = any>(pageKey: "apis" | "logs" | "analytics" | "crash", offset?: number, limit?: number, query?: string) => Promise<NativeCachedPageResult<T> | null>;
77
+ export interface ScreenshotOptions {
78
+ format?: 'png' | 'jpeg' | 'webp';
79
+ quality?: number;
80
+ scale?: number;
81
+ hideInspector?: boolean;
82
+ includeBase64?: boolean;
83
+ }
84
+ export interface ScreenshotResult {
85
+ uri: string;
86
+ format: 'png' | 'jpeg' | 'webp';
87
+ width: number;
88
+ height: number;
89
+ sizeBytes: number;
90
+ timestamp: number;
91
+ base64?: string;
92
+ }
93
+ export interface RecordingOptions {
94
+ format?: 'mp4' | 'gif';
95
+ audioSource?: 'none' | 'app' | 'mic' | 'mixed';
96
+ fps?: number;
97
+ bitrate?: number;
98
+ maxDurationSeconds?: number;
99
+ hideInspector?: boolean;
100
+ }
101
+ export interface RecordingResult {
102
+ uri: string;
103
+ format: 'mp4' | 'gif';
104
+ durationMs: number;
105
+ hasAudio: boolean;
106
+ width: number;
107
+ height: number;
108
+ sizeBytes: number;
109
+ timestamp: number;
110
+ }
111
+ export interface GifConversionOptions {
112
+ fps?: number;
113
+ width?: number;
114
+ maxDurationSeconds?: number;
115
+ }
116
+ export interface CapturedMediaItem {
117
+ id: string;
118
+ type: 'image' | 'video' | 'gif';
119
+ format: string;
120
+ uri: string;
121
+ filename: string;
122
+ sizeBytes: number;
123
+ timestamp: number;
124
+ durationMs?: number;
125
+ hasAudio?: boolean;
126
+ width?: number;
127
+ height?: number;
128
+ }
129
+ export declare const takeNativeScreenshot: (options?: ScreenshotOptions) => Promise<ScreenshotResult | null>;
130
+ export declare const startNativeVideoRecording: (options?: RecordingOptions) => Promise<boolean>;
131
+ export declare const stopNativeVideoRecording: () => Promise<RecordingResult | null>;
132
+ export declare const isNativeRecordingActive: () => Promise<boolean>;
133
+ export declare const convertNativeVideoToGif: (videoUri: string, options?: GifConversionOptions) => Promise<RecordingResult | null>;
134
+ export declare const fetchCapturedMediaList: () => Promise<CapturedMediaItem[]>;
135
+ export declare const deleteCapturedMediaFile: (uri: string) => Promise<boolean>;
136
+ export declare const clearAllCapturedMediaFiles: () => Promise<boolean>;
@@ -32,7 +32,7 @@ export const enableNativeCrashProtection = async (options) => {
32
32
  }
33
33
  try {
34
34
  const result = await NativeModule.enableNativeCrashProtection();
35
- if (options?.showFloatingButton !== false) {
35
+ if (options?.showFloatingButton === true) {
36
36
  await showNativeFloatingButton();
37
37
  }
38
38
  return !!result;
@@ -269,3 +269,102 @@ export const fetchNativeCachedPage = async (pageKey, offset = 0, limit = 50, que
269
269
  return null;
270
270
  }
271
271
  };
272
+ export const takeNativeScreenshot = async (options) => {
273
+ if (!NativeModule || !NativeModule.takeScreenshot) {
274
+ return null;
275
+ }
276
+ try {
277
+ const result = await NativeModule.takeScreenshot(options || {});
278
+ return result;
279
+ }
280
+ catch {
281
+ return null;
282
+ }
283
+ };
284
+ export const startNativeVideoRecording = async (options) => {
285
+ if (!NativeModule || !NativeModule.startVideoRecording) {
286
+ return false;
287
+ }
288
+ try {
289
+ const result = await NativeModule.startVideoRecording(options || {});
290
+ return !!result;
291
+ }
292
+ catch {
293
+ return false;
294
+ }
295
+ };
296
+ export const stopNativeVideoRecording = async () => {
297
+ if (!NativeModule || !NativeModule.stopVideoRecording) {
298
+ return null;
299
+ }
300
+ try {
301
+ const result = await NativeModule.stopVideoRecording();
302
+ return result;
303
+ }
304
+ catch {
305
+ return null;
306
+ }
307
+ };
308
+ export const isNativeRecordingActive = async () => {
309
+ if (!NativeModule || !NativeModule.isRecording) {
310
+ return false;
311
+ }
312
+ try {
313
+ const result = await NativeModule.isRecording();
314
+ return !!result;
315
+ }
316
+ catch {
317
+ return false;
318
+ }
319
+ };
320
+ export const convertNativeVideoToGif = async (videoUri, options) => {
321
+ if (!NativeModule || !NativeModule.convertToGif) {
322
+ return null;
323
+ }
324
+ try {
325
+ const result = await NativeModule.convertToGif(videoUri, options || {});
326
+ return result;
327
+ }
328
+ catch {
329
+ return null;
330
+ }
331
+ };
332
+ export const fetchCapturedMediaList = async () => {
333
+ if (!NativeModule || !NativeModule.getCapturedMedia) {
334
+ return [];
335
+ }
336
+ try {
337
+ const jsonStr = await NativeModule.getCapturedMedia();
338
+ if (!jsonStr)
339
+ return [];
340
+ const parsed = JSON.parse(jsonStr);
341
+ return Array.isArray(parsed) ? parsed : [];
342
+ }
343
+ catch {
344
+ return [];
345
+ }
346
+ };
347
+ export const deleteCapturedMediaFile = async (uri) => {
348
+ if (!NativeModule || !NativeModule.deleteCapturedMedia) {
349
+ return false;
350
+ }
351
+ try {
352
+ const result = await NativeModule.deleteCapturedMedia(uri);
353
+ return !!result;
354
+ }
355
+ catch {
356
+ return false;
357
+ }
358
+ };
359
+ export const clearAllCapturedMediaFiles = async () => {
360
+ if (!NativeModule || !NativeModule.clearAllCapturedMedia) {
361
+ return false;
362
+ }
363
+ try {
364
+ const result = await NativeModule.clearAllCapturedMedia();
365
+ return !!result;
366
+ }
367
+ catch {
368
+ return false;
369
+ }
370
+ };
@@ -15,6 +15,14 @@ export interface Spec extends TurboModule {
15
15
  getNativeSystemMetrics(): Promise<Object>;
16
16
  pushNativeLogRecord(pageKey: string, jsonPayload: string): Promise<boolean>;
17
17
  checkFloatingButtonPress(): Promise<boolean>;
18
+ takeScreenshot(options: Object): Promise<Object>;
19
+ startVideoRecording(options: Object): Promise<boolean>;
20
+ stopVideoRecording(): Promise<Object>;
21
+ isRecording(): Promise<boolean>;
22
+ convertToGif(videoUri: string, options: Object): Promise<Object>;
23
+ getCapturedMedia(): Promise<string>;
24
+ deleteCapturedMedia(uri: string): Promise<boolean>;
25
+ clearAllCapturedMedia(): Promise<boolean>;
18
26
  addListener(eventName: string): void;
19
27
  removeListeners(count: number): void;
20
28
  }
@@ -168,6 +168,24 @@ declare const LightColors: {
168
168
  skySoftBg: string;
169
169
  skySoftBorder: string;
170
170
  skySoftText: string;
171
+ warningAmber: string;
172
+ npmRedLight: string;
173
+ red300: string;
174
+ overlayDark: string;
175
+ headerGlassDark: string;
176
+ badgeGlassDark: string;
177
+ borderGlassLight: string;
178
+ borderGlassMedium: string;
179
+ whiteAlpha06: string;
180
+ whiteAlpha08: string;
181
+ whiteAlpha10: string;
182
+ whiteAlpha12: string;
183
+ whiteAlpha15: string;
184
+ whiteAlpha20: string;
185
+ whiteAlpha24: string;
186
+ whiteAlpha30: string;
187
+ whiteAlpha33: string;
188
+ whiteAlpha60: string;
171
189
  domainColors: string[];
172
190
  };
173
191
  export declare const getThemeColors: (isDark: boolean) => {
@@ -340,6 +358,24 @@ export declare const getThemeColors: (isDark: boolean) => {
340
358
  skySoftBg: string;
341
359
  skySoftBorder: string;
342
360
  skySoftText: string;
361
+ warningAmber: string;
362
+ npmRedLight: string;
363
+ red300: string;
364
+ overlayDark: string;
365
+ headerGlassDark: string;
366
+ badgeGlassDark: string;
367
+ borderGlassLight: string;
368
+ borderGlassMedium: string;
369
+ whiteAlpha06: string;
370
+ whiteAlpha08: string;
371
+ whiteAlpha10: string;
372
+ whiteAlpha12: string;
373
+ whiteAlpha15: string;
374
+ whiteAlpha20: string;
375
+ whiteAlpha24: string;
376
+ whiteAlpha30: string;
377
+ whiteAlpha33: string;
378
+ whiteAlpha60: string;
343
379
  domainColors: string[];
344
380
  };
345
381
  export declare const AppColors: typeof LightColors;
@@ -168,6 +168,24 @@ const LightColors = {
168
168
  skySoftBg: '#E0F2FE',
169
169
  skySoftBorder: '#BAE6FD',
170
170
  skySoftText: '#0284C7',
171
+ warningAmber: '#F59E0B',
172
+ npmRedLight: '#FF6B6B',
173
+ red300: '#FCA5A5',
174
+ overlayDark: 'rgba(8, 12, 22, 0.95)',
175
+ headerGlassDark: 'rgba(15, 23, 42, 0.9)',
176
+ badgeGlassDark: 'rgba(15, 23, 42, 0.85)',
177
+ borderGlassLight: 'rgba(255, 255, 255, 0.08)',
178
+ borderGlassMedium: 'rgba(255, 255, 255, 0.15)',
179
+ whiteAlpha06: 'rgba(255, 255, 255, 0.06)',
180
+ whiteAlpha08: 'rgba(255, 255, 255, 0.08)',
181
+ whiteAlpha10: 'rgba(255, 255, 255, 0.1)',
182
+ whiteAlpha12: 'rgba(255, 255, 255, 0.12)',
183
+ whiteAlpha15: 'rgba(255, 255, 255, 0.15)',
184
+ whiteAlpha20: 'rgba(255, 255, 255, 0.2)',
185
+ whiteAlpha24: 'rgba(255, 255, 255, 0.24)',
186
+ whiteAlpha30: 'rgba(255, 255, 255, 0.3)',
187
+ whiteAlpha33: 'rgba(255, 255, 255, 0.33)',
188
+ whiteAlpha60: 'rgba(255, 255, 255, 0.6)',
171
189
  domainColors: [
172
190
  '#5C2D91',
173
191
  '#9B2677',
@@ -257,6 +275,24 @@ const DarkColors = {
257
275
  skySoftBg: '#082F4966',
258
276
  skySoftBorder: '#0284C788',
259
277
  skySoftText: '#38BDF8',
278
+ warningAmber: '#F59E0B',
279
+ npmRedLight: '#FF6B6B',
280
+ red300: '#FCA5A5',
281
+ overlayDark: 'rgba(8, 12, 22, 0.95)',
282
+ headerGlassDark: 'rgba(15, 23, 42, 0.9)',
283
+ badgeGlassDark: 'rgba(15, 23, 42, 0.85)',
284
+ borderGlassLight: 'rgba(255, 255, 255, 0.08)',
285
+ borderGlassMedium: 'rgba(255, 255, 255, 0.15)',
286
+ whiteAlpha06: 'rgba(255, 255, 255, 0.06)',
287
+ whiteAlpha08: 'rgba(255, 255, 255, 0.08)',
288
+ whiteAlpha10: 'rgba(255, 255, 255, 0.1)',
289
+ whiteAlpha12: 'rgba(255, 255, 255, 0.12)',
290
+ whiteAlpha15: 'rgba(255, 255, 255, 0.15)',
291
+ whiteAlpha20: 'rgba(255, 255, 255, 0.2)',
292
+ whiteAlpha24: 'rgba(255, 255, 255, 0.24)',
293
+ whiteAlpha30: 'rgba(255, 255, 255, 0.3)',
294
+ whiteAlpha33: 'rgba(255, 255, 255, 0.33)',
295
+ whiteAlpha60: 'rgba(255, 255, 255, 0.6)',
260
296
  green600: '#16A34A',
261
297
  green700: '#15803D',
262
298
  green800: '#166534',
@@ -1,12 +1,14 @@
1
1
  export interface AppFontConfig {
2
2
  interRegular?: string;
3
3
  interMedium?: string;
4
+ interSemiBold?: string;
4
5
  interBold?: string;
5
6
  Sfprotext?: string;
6
7
  }
7
8
  export declare const AppFonts: {
8
9
  interRegular: string;
9
10
  interMedium: string;
11
+ interSemiBold: string;
10
12
  interBold: string;
11
13
  Sfprotext: string;
12
14
  };
@@ -1,6 +1,7 @@
1
1
  export const AppFonts = {
2
2
  interRegular: 'Inter-Regular',
3
3
  interMedium: 'Inter-Medium',
4
+ interSemiBold: 'Inter-SemiBold',
4
5
  interBold: 'Inter-Bold',
5
6
  Sfprotext: 'Inter-Regular',
6
7
  };
@@ -61,7 +61,8 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
61
61
  headerDetailCenter: {
62
62
  alignItems: string;
63
63
  justifyContent: string;
64
- width: string;
64
+ flex: number;
65
+ minWidth: number;
65
66
  };
66
67
  headerDetailRow: {
67
68
  flexDirection: string;
@@ -149,6 +150,28 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
149
150
  listContent: {
150
151
  paddingBottom: number;
151
152
  };
153
+ supportFab: {
154
+ position: string;
155
+ bottom: number;
156
+ right: number;
157
+ width: number;
158
+ height: number;
159
+ borderRadius: number;
160
+ backgroundColor: string;
161
+ alignItems: string;
162
+ justifyContent: string;
163
+ shadowColor: string;
164
+ shadowOffset: {
165
+ width: number;
166
+ height: number;
167
+ };
168
+ shadowOpacity: number;
169
+ shadowRadius: number;
170
+ elevation: number;
171
+ zIndex: number;
172
+ borderWidth: number;
173
+ borderColor: string;
174
+ };
152
175
  scrollTopBtn: {
153
176
  position: string;
154
177
  bottom: number;
@@ -1442,6 +1465,7 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
1442
1465
  borderTopLeftRadius: number;
1443
1466
  borderTopRightRadius: number;
1444
1467
  overflow: string;
1468
+ flexShrink: number;
1445
1469
  };
1446
1470
  statusChip: {
1447
1471
  paddingHorizontal: number;
@@ -60,7 +60,8 @@ export const getRawStyles = (colors) => ({
60
60
  headerDetailCenter: {
61
61
  alignItems: 'center',
62
62
  justifyContent: 'center',
63
- width: '100%',
63
+ flex: 1,
64
+ minWidth: 0,
64
65
  },
65
66
  headerDetailRow: {
66
67
  flexDirection: 'row',
@@ -137,6 +138,25 @@ export const getRawStyles = (colors) => ({
137
138
  letterSpacing: 0.2,
138
139
  },
139
140
  listContent: { paddingBottom: Platform.OS === 'ios' ? 44 : 32 },
141
+ supportFab: {
142
+ position: 'absolute',
143
+ bottom: 22,
144
+ right: 16,
145
+ width: 42,
146
+ height: 42,
147
+ borderRadius: 21,
148
+ backgroundColor: colors.purple,
149
+ alignItems: 'center',
150
+ justifyContent: 'center',
151
+ shadowColor: colors.purple,
152
+ shadowOffset: { width: 0, height: 4 },
153
+ shadowOpacity: 0.45,
154
+ shadowRadius: 8,
155
+ elevation: 14,
156
+ zIndex: 999,
157
+ borderWidth: 1.5,
158
+ borderColor: 'rgba(255, 255, 255, 0.25)',
159
+ },
140
160
  scrollTopBtn: {
141
161
  position: 'absolute',
142
162
  bottom: 22,
@@ -1343,6 +1363,7 @@ export const getRawStyles = (colors) => ({
1343
1363
  borderTopLeftRadius: 20,
1344
1364
  borderTopRightRadius: 20,
1345
1365
  overflow: 'hidden',
1366
+ flexShrink: 0,
1346
1367
  },
1347
1368
  statusChip: {
1348
1369
  paddingHorizontal: 10,
@@ -67,6 +67,8 @@ export declare const SettingsSubTab: {
67
67
  readonly Module: "module";
68
68
  readonly Ui: "ui";
69
69
  readonly Limits: "limits";
70
+ readonly Capture: "capture";
71
+ readonly About: "about";
70
72
  };
71
73
  export type SettingsSubTab = (typeof SettingsSubTab)[keyof typeof SettingsSubTab];
72
74
  export declare const LogFilter: {