react-native-inapp-inspector 2.3.13 → 2.3.15

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 (284) hide show
  1. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  3. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  4. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  6. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  7. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  8. package/android/.gradle/8.9/gc.properties +0 -0
  9. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  10. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  11. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  12. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  13. package/android/.gradle/9.2.0/gc.properties +0 -0
  14. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  15. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  16. package/android/.gradle/vcs-1/gc.properties +0 -0
  17. package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/results.bin +1 -0
  18. package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/transformed/classes/classes_dex/classes.dex +0 -0
  19. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/results.bin +1 -0
  20. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  21. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  22. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  23. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  24. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  25. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  26. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  27. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  28. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  29. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  30. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
  31. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +104 -0
  32. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  33. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +128 -0
  34. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
  35. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
  36. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
  37. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
  38. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
  39. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
  40. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
  41. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +177 -0
  42. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
  43. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
  44. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
  45. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
  46. package/android/build/generated/source/codegen/schema.json +1 -0
  47. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  48. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  49. package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
  50. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  51. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  52. package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  53. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  54. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  55. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  56. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  57. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  58. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  59. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  60. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  61. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  62. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  63. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  64. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  65. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  66. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  67. package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-react-native-inapp-inspector.jar +0 -0
  68. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  69. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  70. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  71. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  72. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  82. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  171. package/android/build/outputs/aar/react-native-inapp-inspector-debug.aar +0 -0
  172. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  173. package/android/build/reports/problems/problems-report.html +659 -0
  174. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  175. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  176. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  183. package/bin/cli.js +6 -0
  184. package/dist/commonjs/components/AnimatedEntrance.js +3 -3
  185. package/dist/commonjs/components/ConsoleLogCard.js +174 -100
  186. package/dist/commonjs/components/Inspector/ConsoleTab.js +25 -16
  187. package/dist/commonjs/components/Inspector/CrashTab.js +19 -5
  188. package/dist/commonjs/components/Inspector/DebuggingTab.js +741 -438
  189. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +198 -98
  190. package/dist/commonjs/components/Inspector/InspectorHeader.js +2 -2
  191. package/dist/commonjs/components/Inspector/MainScreen.js +58 -55
  192. package/dist/commonjs/components/Inspector/NetworkTab.js +1 -335
  193. package/dist/commonjs/components/Inspector/PerformanceTab.js +32 -6
  194. package/dist/commonjs/components/Inspector/ReduxTab.js +3 -1
  195. package/dist/commonjs/components/Inspector/SettingsPanel.js +6 -4
  196. package/dist/commonjs/components/Inspector/StorageTab.js +23 -5
  197. package/dist/commonjs/components/Inspector/TabBar.js +6 -2
  198. package/dist/commonjs/components/JsonViewer.js +14 -2
  199. package/dist/commonjs/components/LogCard.js +428 -227
  200. package/dist/commonjs/components/QRCodeView.js +1 -1
  201. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  202. package/dist/commonjs/constants/telemetryConfig.js +3 -3
  203. package/dist/commonjs/constants/version.d.ts +1 -1
  204. package/dist/commonjs/constants/version.js +1 -1
  205. package/dist/commonjs/customHooks/analyticsLogger.js +1 -1
  206. package/dist/commonjs/customHooks/consoleLogger.js +34 -2
  207. package/dist/commonjs/customHooks/crashHandler.js +1 -1
  208. package/dist/commonjs/customHooks/networkLogger.js +184 -26
  209. package/dist/commonjs/helpers/index.d.ts +1 -0
  210. package/dist/commonjs/helpers/index.js +11 -1
  211. package/dist/commonjs/helpers/qrGenerator.d.ts +1 -0
  212. package/dist/commonjs/helpers/qrGenerator.js +356 -33
  213. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
  214. package/dist/commonjs/helpers/searchQueryParser.js +37 -291
  215. package/dist/commonjs/index.d.ts +1 -0
  216. package/dist/commonjs/index.js +146 -30
  217. package/dist/commonjs/metro.d.ts +25 -0
  218. package/dist/commonjs/metro.js +478 -0
  219. package/dist/esm/components/AnimatedEntrance.js +3 -3
  220. package/dist/esm/components/ConsoleLogCard.js +141 -100
  221. package/dist/esm/components/Inspector/ConsoleTab.js +25 -16
  222. package/dist/esm/components/Inspector/CrashTab.js +19 -5
  223. package/dist/esm/components/Inspector/DebuggingTab.js +744 -441
  224. package/dist/esm/components/Inspector/DeviceInfoTab.js +198 -98
  225. package/dist/esm/components/Inspector/InspectorHeader.js +3 -3
  226. package/dist/esm/components/Inspector/MainScreen.js +58 -55
  227. package/dist/esm/components/Inspector/NetworkTab.js +2 -336
  228. package/dist/esm/components/Inspector/PerformanceTab.js +32 -6
  229. package/dist/esm/components/Inspector/ReduxTab.js +3 -1
  230. package/dist/esm/components/Inspector/SettingsPanel.js +7 -5
  231. package/dist/esm/components/Inspector/StorageTab.js +23 -5
  232. package/dist/esm/components/Inspector/TabBar.js +7 -3
  233. package/dist/esm/components/JsonViewer.js +14 -2
  234. package/dist/esm/components/LogCard.js +422 -221
  235. package/dist/esm/components/QRCodeView.js +1 -1
  236. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  237. package/dist/esm/constants/telemetryConfig.js +3 -3
  238. package/dist/esm/constants/version.d.ts +1 -1
  239. package/dist/esm/constants/version.js +1 -1
  240. package/dist/esm/customHooks/analyticsLogger.js +1 -1
  241. package/dist/esm/customHooks/consoleLogger.js +34 -2
  242. package/dist/esm/customHooks/crashHandler.js +1 -1
  243. package/dist/esm/customHooks/networkLogger.js +184 -26
  244. package/dist/esm/helpers/index.d.ts +1 -0
  245. package/dist/esm/helpers/index.js +9 -0
  246. package/dist/esm/helpers/qrGenerator.d.ts +1 -0
  247. package/dist/esm/helpers/qrGenerator.js +356 -30
  248. package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
  249. package/dist/esm/helpers/searchQueryParser.js +37 -291
  250. package/dist/esm/index.d.ts +1 -0
  251. package/dist/esm/index.js +144 -29
  252. package/dist/esm/metro.d.ts +25 -0
  253. package/dist/esm/metro.js +469 -0
  254. package/metro.d.ts +1 -0
  255. package/metro.js +1 -0
  256. package/package.json +16 -5
  257. package/src/components/AnimatedEntrance.tsx +3 -3
  258. package/src/components/ConsoleLogCard.tsx +154 -103
  259. package/src/components/Inspector/ConsoleTab.tsx +27 -18
  260. package/src/components/Inspector/CrashTab.tsx +19 -5
  261. package/src/components/Inspector/DebuggingTab.tsx +842 -514
  262. package/src/components/Inspector/DeviceInfoTab.tsx +224 -102
  263. package/src/components/Inspector/InspectorHeader.tsx +5 -3
  264. package/src/components/Inspector/MainScreen.tsx +6 -4
  265. package/src/components/Inspector/NetworkTab.tsx +1 -402
  266. package/src/components/Inspector/PerformanceTab.tsx +36 -7
  267. package/src/components/Inspector/ReduxTab.tsx +9 -1
  268. package/src/components/Inspector/SettingsPanel.tsx +85 -75
  269. package/src/components/Inspector/StorageTab.tsx +27 -7
  270. package/src/components/Inspector/TabBar.tsx +16 -2
  271. package/src/components/JsonViewer.tsx +15 -2
  272. package/src/components/LogCard.tsx +528 -339
  273. package/src/components/QRCodeView.tsx +2 -2
  274. package/src/constants/telemetryConfig.ts +5 -3
  275. package/src/constants/version.ts +1 -1
  276. package/src/customHooks/analyticsLogger.ts +1 -1
  277. package/src/customHooks/consoleLogger.ts +36 -3
  278. package/src/customHooks/crashHandler.ts +1 -1
  279. package/src/customHooks/networkLogger.ts +214 -26
  280. package/src/helpers/index.ts +15 -0
  281. package/src/helpers/qrGenerator.ts +418 -37
  282. package/src/helpers/searchQueryParser.ts +40 -285
  283. package/src/index.tsx +337 -214
  284. package/src/metro.ts +598 -0
@@ -13,7 +13,7 @@ import { AppColors } from '../../styles/AppColors';
13
13
  import { AppFonts } from '../../styles/AppFonts';
14
14
  import { METHOD_COLORS } from '../../constants';
15
15
  import { useTranslation } from '../../i18n';
16
- import { SearchIcon, ClearIcon, TrashIcon, SortArrowIcon, FilterIcon, ChevronIcon, CircleCheckIcon, CircleXIcon, CircleAlertIcon, LayersIcon, HeaderPauseIcon, ClockIcon, GlobeIcon, RequestIcon, ResponseIcon, HeadersIcon, AtomIcon, BoltIcon, ShieldAlertIcon, } from '../NetworkIcons';
16
+ import { SearchIcon, ClearIcon, TrashIcon, SortArrowIcon, FilterIcon, ChevronIcon, CircleCheckIcon, CircleXIcon, LayersIcon, HeaderPauseIcon, ClockIcon, RequestIcon, ResponseIcon, AtomIcon, } from '../NetworkIcons';
17
17
  const NetworkTab = React.memo(() => {
18
18
  const { groupedData, search, setSearch, searchScope, setSearchScope, isRegexSearch, setIsRegexSearch, isCaseSensitive, setIsCaseSensitive, quickFilter, setQuickFilter, handleDelete, selectedLogs, sortOrder, setSortOrder, statusFilters, setStatusFilters, methodFilters, setMethodFilters, availableMethods, filteredLogs, logs, toggleSectionFilter, toggleSectionCollapse, minStart, totalRange, newLogIds, toggleSelect, setSelected, isNetworkPaused, setIsNetworkPaused, } = useInspector();
19
19
  const { t } = useTranslation();
@@ -135,85 +135,6 @@ const NetworkTab = React.memo(() => {
135
135
  color: '#E10098',
136
136
  },
137
137
  ], [quickCounts]);
138
- const SEARCH_SCOPES = [
139
- {
140
- id: 'all',
141
- label: 'All',
142
- icon: color => <LayersIcon size={9.5} color={color}/>,
143
- },
144
- {
145
- id: 'url',
146
- label: 'URL / Path',
147
- icon: color => <GlobeIcon size={9.5} color={color}/>,
148
- },
149
- {
150
- id: 'reqBody',
151
- label: 'Payload',
152
- icon: color => <RequestIcon size={9.5} color={color}/>,
153
- },
154
- {
155
- id: 'resBody',
156
- label: 'Response',
157
- icon: color => <ResponseIcon size={9.5} color={color}/>,
158
- },
159
- {
160
- id: 'headers',
161
- label: 'Headers',
162
- icon: color => <HeadersIcon size={9.5} color={color}/>,
163
- },
164
- ];
165
- const QUICK_API_QUERY_TAGS = useMemo(() => [
166
- {
167
- label: 'Failed',
168
- query: 'is:error',
169
- icon: (color) => <CircleXIcon size={9.5} color={color}/>,
170
- },
171
- {
172
- label: 'Slow (>1s)',
173
- query: 'slow:>1s',
174
- icon: (color) => <ClockIcon size={9.5} color={color}/>,
175
- },
176
- {
177
- label: 'POST',
178
- query: 'm:POST',
179
- icon: (color) => <RequestIcon size={9.5} color={color}/>,
180
- },
181
- {
182
- label: 'GET',
183
- query: 'm:GET',
184
- icon: (color) => <ResponseIcon size={9.5} color={color}/>,
185
- },
186
- {
187
- label: 'GraphQL',
188
- query: 'is:graphql',
189
- icon: (color) => <AtomIcon size={9.5} color={color}/>,
190
- },
191
- {
192
- label: 'Axios',
193
- query: 'client:axios',
194
- icon: (color) => <BoltIcon size={9.5} color={color}/>,
195
- },
196
- {
197
- label: '200 OK',
198
- query: 'status:200',
199
- icon: (color) => <CircleCheckIcon size={9.5} color={color}/>,
200
- },
201
- {
202
- label: '404',
203
- query: 'status:404',
204
- icon: (color) => <CircleAlertIcon size={9.5} color={color}/>,
205
- },
206
- {
207
- label: '500',
208
- query: 'status:500',
209
- icon: (color) => <CircleXIcon size={9.5} color={color}/>,
210
- },
211
- {
212
- label: 'HTTPS',
213
- query: 'is:https',
214
- icon: (color) => <ShieldAlertIcon size={9.5} color={color}/>,
215
- },
216
- ], []);
217
138
  const networkMetrics = useMemo(() => {
218
139
  if (!logs || logs.length === 0)
219
140
  return null;
@@ -359,61 +280,7 @@ const NetworkTab = React.memo(() => {
359
280
  <SearchIcon color={isSearchFocused
360
281
  ? AppColors.purple
361
282
  : AppColors.grayTextWeak} size={15}/>
362
- <TextInput placeholder="Search url, body, is:error, slow:>1s..." placeholderTextColor={AppColors.grayTextWeak} value={search} onChangeText={setSearch} onFocus={() => setIsSearchFocused(true)} onBlur={() => setIsSearchFocused(false)} style={styles.searchInput} autoCorrect={false} autoCapitalize="none"/>
363
-
364
-
365
- <View style={{
366
- flexDirection: 'row',
367
- alignItems: 'center',
368
- gap: 3,
369
- marginRight: 2,
370
- }}>
371
- <Pressable hitSlop={8} onPress={() => setIsCaseSensitive(prev => !prev)} style={{
372
- paddingHorizontal: 4.5,
373
- paddingVertical: 2,
374
- borderRadius: 4,
375
- backgroundColor: isCaseSensitive
376
- ? AppColors.purple
377
- : 'transparent',
378
- borderWidth: 1,
379
- borderColor: isCaseSensitive
380
- ? AppColors.purple
381
- : `${AppColors.grayBorderSecondary}`,
382
- }}>
383
- <Text style={{
384
- fontFamily: AppFonts.interBold,
385
- fontSize: 9.5,
386
- color: isCaseSensitive
387
- ? AppColors.white
388
- : AppColors.grayTextWeak,
389
- }}>
390
- Aa
391
- </Text>
392
- </Pressable>
393
-
394
- <Pressable hitSlop={8} onPress={() => setIsRegexSearch(prev => !prev)} style={{
395
- paddingHorizontal: 4.5,
396
- paddingVertical: 2,
397
- borderRadius: 4,
398
- backgroundColor: isRegexSearch
399
- ? AppColors.purple
400
- : 'transparent',
401
- borderWidth: 1,
402
- borderColor: isRegexSearch
403
- ? AppColors.purple
404
- : `${AppColors.grayBorderSecondary}`,
405
- }}>
406
- <Text style={{
407
- fontFamily: AppFonts.interBold,
408
- fontSize: 9.5,
409
- color: isRegexSearch
410
- ? AppColors.white
411
- : AppColors.grayTextWeak,
412
- }}>
413
- .*
414
- </Text>
415
- </Pressable>
416
- </View>
283
+ <TextInput placeholder="Search URL, status, method, headers, body..." placeholderTextColor={AppColors.grayTextWeak} value={search} onChangeText={setSearch} onFocus={() => setIsSearchFocused(true)} onBlur={() => setIsSearchFocused(false)} style={styles.searchInput} autoCorrect={false} autoCapitalize="none"/>
417
284
 
418
285
  {search.length > 0 && (<View style={{
419
286
  flexDirection: 'row',
@@ -489,94 +356,6 @@ const NetworkTab = React.memo(() => {
489
356
  </View>
490
357
 
491
358
 
492
- <View style={{ paddingBottom: 4 }}>
493
- <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
494
- paddingHorizontal: 12,
495
- flexDirection: 'row',
496
- alignItems: 'center',
497
- gap: 5,
498
- paddingVertical: 2,
499
- }}>
500
-
501
- {SEARCH_SCOPES.map(s => {
502
- const isActive = searchScope === s.id;
503
- return (<TouchableScale key={`scope_${s.id}`} onPress={() => setSearchScope(s.id)} hitSlop={6} style={{
504
- flexDirection: 'row',
505
- alignItems: 'center',
506
- gap: 3.5,
507
- paddingHorizontal: 7.5,
508
- paddingVertical: 3.5,
509
- borderRadius: 6,
510
- backgroundColor: isActive
511
- ? AppColors.purple
512
- : AppColors.grayBackground,
513
- borderWidth: 1,
514
- borderColor: isActive
515
- ? AppColors.purple
516
- : AppColors.grayBorderSecondary,
517
- }}>
518
- {s.icon(isActive ? AppColors.white : AppColors.grayTextWeak)}
519
- <Text style={{
520
- fontFamily: AppFonts.interBold,
521
- fontSize: 10,
522
- color: isActive ? AppColors.white : AppColors.grayText,
523
- }}>
524
- {s.label}
525
- </Text>
526
- </TouchableScale>);
527
- })}
528
-
529
- <View style={{
530
- width: 1,
531
- height: 14,
532
- backgroundColor: AppColors.dividerColor,
533
- marginHorizontal: 3,
534
- }}/>
535
-
536
-
537
- {QUICK_API_QUERY_TAGS.map(q => {
538
- const isActive = search.includes(q.query);
539
- return (<TouchableScale key={`quick_${q.query}`} onPress={() => {
540
- setSearch(prev => {
541
- if (prev.includes(q.query)) {
542
- return prev
543
- .replace(q.query, '')
544
- .replace(/\s+/g, ' ')
545
- .trim();
546
- }
547
- return `${prev} ${q.query}`.trim();
548
- });
549
- }} hitSlop={6} style={{
550
- flexDirection: 'row',
551
- alignItems: 'center',
552
- gap: 3.5,
553
- paddingHorizontal: 7.5,
554
- paddingVertical: 3.5,
555
- borderRadius: 6,
556
- backgroundColor: isActive
557
- ? `${AppColors.purple}20`
558
- : AppColors.grayBackground,
559
- borderWidth: 1,
560
- borderColor: isActive
561
- ? AppColors.purple
562
- : AppColors.grayBorderSecondary,
563
- }}>
564
- {q.icon(isActive ? AppColors.purple : AppColors.grayTextWeak)}
565
- <Text style={{
566
- fontFamily: AppFonts.interMedium,
567
- fontSize: 10,
568
- color: isActive
569
- ? AppColors.purple
570
- : AppColors.grayText,
571
- }}>
572
- {q.label}
573
- </Text>
574
- </TouchableScale>);
575
- })}
576
- </ScrollView>
577
- </View>
578
-
579
-
580
359
  <View style={{ marginBottom: 8 }}>
581
360
  <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
582
361
  paddingHorizontal: 12,
@@ -690,110 +469,6 @@ const NetworkTab = React.memo(() => {
690
469
  </View>
691
470
 
692
471
 
693
- {(isSearchFocused || search.length > 0) && (<View style={{
694
- flexDirection: 'row',
695
- alignItems: 'center',
696
- paddingHorizontal: 12,
697
- marginBottom: 6,
698
- gap: 6,
699
- }}>
700
- <Text style={{
701
- fontFamily: AppFonts.interBold,
702
- fontSize: 9.5,
703
- color: AppColors.grayTextWeak,
704
- textTransform: 'uppercase',
705
- letterSpacing: 0.5,
706
- }}>
707
- Scope:
708
- </Text>
709
- <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
710
- flexDirection: 'row',
711
- alignItems: 'center',
712
- gap: 5,
713
- }}>
714
- {SEARCH_SCOPES.map(s => {
715
- const isSelected = searchScope === s.id;
716
- const iconColor = isSelected ? AppColors.white : AppColors.grayText;
717
- return (<TouchableScale key={s.id} onPress={() => setSearchScope(s.id)}>
718
- <View style={{
719
- flexDirection: 'row',
720
- alignItems: 'center',
721
- gap: 4,
722
- paddingHorizontal: 7,
723
- paddingVertical: 2.5,
724
- borderRadius: 5,
725
- backgroundColor: isSelected
726
- ? AppColors.purple
727
- : `${AppColors.grayBorderSecondary}40`,
728
- borderWidth: 1,
729
- borderColor: isSelected
730
- ? AppColors.purple
731
- : AppColors.grayBorderSecondary,
732
- }}>
733
- {s.icon(iconColor)}
734
- <Text style={{
735
- fontFamily: AppFonts.interBold,
736
- fontSize: 9.5,
737
- color: isSelected
738
- ? AppColors.white
739
- : AppColors.grayText,
740
- }}>
741
- {s.label}
742
- </Text>
743
- </View>
744
- </TouchableScale>);
745
- })}
746
- </ScrollView>
747
- </View>)}
748
-
749
-
750
- {(isSearchFocused || search.length > 0) && (<ScrollView horizontal showsHorizontalScrollIndicator={false} style={{ marginBottom: 8, maxHeight: 28 }} contentContainerStyle={{
751
- paddingHorizontal: 12,
752
- flexDirection: 'row',
753
- alignItems: 'center',
754
- gap: 5,
755
- }}>
756
- {QUICK_API_QUERY_TAGS.map(item => {
757
- const isSelected = search.includes(item.query);
758
- return (<TouchableScale key={item.query} onPress={() => {
759
- if (isSelected) {
760
- setSearch(prev => prev.replace(item.query, '').trim());
761
- }
762
- else {
763
- setSearch(prev => prev ? `${prev} ${item.query}`.trim() : item.query);
764
- }
765
- }}>
766
- <View style={{
767
- flexDirection: 'row',
768
- alignItems: 'center',
769
- gap: 4,
770
- paddingHorizontal: 7,
771
- paddingVertical: 2.5,
772
- borderRadius: 5,
773
- backgroundColor: isSelected
774
- ? AppColors.purple
775
- : `${AppColors.purple}14`,
776
- borderWidth: 1,
777
- borderColor: isSelected
778
- ? AppColors.purple
779
- : `${AppColors.purple}30`,
780
- }}>
781
- {item.icon(isSelected ? AppColors.white : AppColors.purple)}
782
- <Text style={{
783
- fontFamily: AppFonts.interBold,
784
- fontSize: 9.5,
785
- color: isSelected
786
- ? AppColors.white
787
- : AppColors.purple,
788
- }}>
789
- {item.label}
790
- </Text>
791
- </View>
792
- </TouchableScale>);
793
- })}
794
- </ScrollView>)}
795
-
796
-
797
472
  {(quickFilter !== 'all' ||
798
473
  search.trim().length > 0 ||
799
474
  statusFilters.size > 0 ||
@@ -833,15 +508,6 @@ const NetworkTab = React.memo(() => {
833
508
  </Text>
834
509
  </TouchableScale>
835
510
  </View>)}
836
-
837
- {(search ||
838
- statusFilters.size > 0 ||
839
- methodFilters.size > 0 ||
840
- quickFilter !== 'all') && (<Text style={styles.resultCount}>
841
- {filteredLogs.length === logs.length
842
- ? `${logs.length} requests`
843
- : `${filteredLogs.length} of ${logs.length} filtered requests`}
844
- </Text>)}
845
511
  </View>} ListEmptyComponent={<EmptyState isSearch={search.length > 0 ||
846
512
  statusFilters.size > 0 ||
847
513
  methodFilters.size > 0 ||
@@ -148,10 +148,19 @@ const PerformanceTab = React.memo(() => {
148
148
  }, [isRecording]);
149
149
  const filteredEvents = useMemo(() => {
150
150
  return events.filter(e => {
151
- const matchSearch = !search ||
152
- e.label.toLowerCase().includes(search.toLowerCase()) ||
153
- e.detail.toLowerCase().includes(search.toLowerCase()) ||
154
- (e.source && e.source.toLowerCase().includes(search.toLowerCase()));
151
+ let matchSearch = true;
152
+ if (search && search.trim().length > 0) {
153
+ const queryTokens = search.trim().toLowerCase().split(/\s+/).filter(Boolean);
154
+ const corpus = [
155
+ e.label || '',
156
+ e.detail || '',
157
+ e.source || '',
158
+ e.category || '',
159
+ e.severity || '',
160
+ e.bottleneckThread || '',
161
+ ].join(' ').toLowerCase();
162
+ matchSearch = queryTokens.every(tok => corpus.includes(tok));
163
+ }
155
164
  const matchFilter = filterCategory === 'ALL'
156
165
  ? true
157
166
  : filterCategory === 'JANKY'
@@ -776,10 +785,27 @@ const PerformanceTab = React.memo(() => {
776
785
 
777
786
  {filteredEvents.length === 0 ? (<View style={perfStyles.emptyCard}>
778
787
  <BoltIcon color={AppColors.amber500} size={30}/>
779
- <Text style={perfStyles.emptyTitle}>{t('performance.emptyTitle')}</Text>
788
+ <Text style={perfStyles.emptyTitle}>
789
+ {search.trim().length > 0 ? 'No Matching Events' : t('performance.emptyTitle')}
790
+ </Text>
780
791
  <Text style={perfStyles.emptySub}>
781
- {t('performance.emptySubtitle')}
792
+ {search.trim().length > 0
793
+ ? `No performance events match "${search}"`
794
+ : t('performance.emptySubtitle')}
782
795
  </Text>
796
+ {search.trim().length > 0 && (<TouchableScale onPress={() => setSearch('')} style={{
797
+ marginTop: 10,
798
+ paddingHorizontal: 14,
799
+ paddingVertical: 6,
800
+ borderRadius: 8,
801
+ backgroundColor: AppColors.grayBackground,
802
+ borderWidth: 1,
803
+ borderColor: AppColors.grayBorderSecondary,
804
+ }}>
805
+ <Text style={{ color: AppColors.brandPurple, fontSize: 12, fontFamily: AppFonts.interBold }}>
806
+ Clear Search
807
+ </Text>
808
+ </TouchableScale>)}
783
809
  </View>) : (filteredEvents.map(event => {
784
810
  const isOptimal = event.severity === 'optimal';
785
811
  const isWarning = event.severity === 'warning';
@@ -454,7 +454,9 @@ const ReduxTab = React.memo(() => {
454
454
  </View>
455
455
 
456
456
 
457
- <FlatList ref={listRef} data={filteredSlices} keyExtractor={item => item.id} renderItem={renderSliceItem} initialNumToRender={12} maxToRenderPerBatch={8} windowSize={5} removeClippedSubviews={true} renderToHardwareTextureAndroid={true} ListEmptyComponent={<EmptyState isSearch={reduxSearch.length > 0}/>} ListFooterComponent={filteredSlices.length > 0 ? (<EndOfListFooter count={filteredSlices.length} label="slices"/>) : null} contentContainerStyle={[
457
+ <FlatList ref={listRef} data={filteredSlices} keyExtractor={item => item.id} renderItem={renderSliceItem} initialNumToRender={12} maxToRenderPerBatch={8} windowSize={5} removeClippedSubviews={true} renderToHardwareTextureAndroid={true} ListEmptyComponent={<EmptyState isSearch={reduxSearch.trim().length > 0} searchQuery={reduxSearch} onClearSearch={() => setReduxSearch('')} customTitle={reduxSearch.trim().length > 0 ? 'No Matching Slices' : 'No Redux State Detected'} customSub={reduxSearch.trim().length > 0
458
+ ? `No Redux slices match "${reduxSearch}"`
459
+ : 'Attach the Redux store or dispatch actions to see state slices.'}/>} ListFooterComponent={filteredSlices.length > 0 ? (<EndOfListFooter count={filteredSlices.length} label="slices"/>) : null} contentContainerStyle={[
458
460
  reduxTabStyles.listContent,
459
461
  filteredSlices.length === 0 && { flexGrow: 1 },
460
462
  ]} keyboardShouldPersistTaps="handled"/>
@@ -19,7 +19,7 @@ import { isAnalyticsConnected } from '../../customHooks/analyticsLogger';
19
19
  import { useTranslation } from '../../i18n';
20
20
  import { SignalIcon, TerminalIcon, AnalyticsIcon, SettingsIcon, SunIcon, MoonIcon, ScreenIcon, MotionIcon, LayersIcon, EyeIcon, CheckIcon, TrashIcon, PackageIcon, ReduxIcon, PerformanceIcon, CrashIcon, ShieldAlertIcon, ForwardChevronIcon, ChevronDownIcon, NpmIcon, BoltIcon, BrainIcon, SmartphoneIcon, DatabaseIcon, QrCodeIcon, } from '../NetworkIcons';
21
21
  import { LIB_VERSION } from '../../constants';
22
- import { copyToClipboard } from '../../helpers';
22
+ import { copyToClipboard, isLocalDebugEnvironment } from '../../helpers';
23
23
  import { showToast } from '../../helpers/toast';
24
24
  import { pruneAllLogs } from '../../helpers/memoryManager';
25
25
  const SettingsPanel = () => {
@@ -33,7 +33,7 @@ const SettingsPanel = () => {
33
33
  const isPersistent = isPersistentStorageAvailable();
34
34
  const statusBarHeight = Platform.OS === 'android' ? StatusBar.currentHeight || 24 : 44;
35
35
  const headerTopPadding = modalHeightPercent >= 95 ? statusBarHeight : 0;
36
- const allModules = [
36
+ const allModules = useMemo(() => [
37
37
  {
38
38
  key: 'apis',
39
39
  label: 'APIs (Network)',
@@ -104,7 +104,9 @@ const SettingsPanel = () => {
104
104
  icon: 'debugging',
105
105
  desc: 'QR Code bridge for direct Debug APK download & Metro live-reload sync',
106
106
  },
107
- ];
107
+ ].filter(m => m.key === 'debugging'
108
+ ? Platform.OS === 'android' && isLocalDebugEnvironment()
109
+ : true), []);
108
110
  const [stagedTabVisibility, setStagedTabVisibility] = useState(() => ({
109
111
  apis: true,
110
112
  logs: Boolean(tabVisibility?.logs),
@@ -115,7 +117,7 @@ const SettingsPanel = () => {
115
117
  crash: Boolean(tabVisibility?.crash),
116
118
  device: Boolean(tabVisibility?.device),
117
119
  storage: Boolean(tabVisibility?.storage),
118
- debugging: Boolean(tabVisibility?.debugging ?? true),
120
+ debugging: Boolean(tabVisibility?.debugging),
119
121
  }));
120
122
  useEffect(() => {
121
123
  setStagedTabVisibility({
@@ -128,7 +130,7 @@ const SettingsPanel = () => {
128
130
  crash: Boolean(tabVisibility?.crash),
129
131
  device: Boolean(tabVisibility?.device),
130
132
  storage: Boolean(tabVisibility?.storage),
131
- debugging: Boolean(tabVisibility?.debugging ?? true),
133
+ debugging: Boolean(tabVisibility?.debugging),
132
134
  });
133
135
  }, [tabVisibility]);
134
136
  const hasUnsavedChanges = useMemo(() => {
@@ -232,8 +232,11 @@ export const StorageTab = React.memo(() => {
232
232
  const filteredEntries = useMemo(() => {
233
233
  if (!search.trim())
234
234
  return entries;
235
- const q = search.toLowerCase().trim();
236
- return entries.filter(e => e.key.toLowerCase().includes(q) || e.value.toLowerCase().includes(q));
235
+ const tokens = search.toLowerCase().trim().split(/\s+/).filter(Boolean);
236
+ return entries.filter(e => {
237
+ const corpus = `${e.key} ${e.value}`.toLowerCase();
238
+ return tokens.every(tok => corpus.includes(tok));
239
+ });
237
240
  }, [entries, search]);
238
241
  const totalBytes = useMemo(() => {
239
242
  return entries.reduce((sum, e) => sum + e.byteSize, 0);
@@ -371,13 +374,28 @@ export const StorageTab = React.memo(() => {
371
374
  <DatabaseIcon size={28} color={AppColors.grayTextWeak}/>
372
375
  </View>
373
376
  <Text style={styles.emptyTitle}>
374
- {search ? 'No matching keys found' : `No ${activeDriver === 'asyncStorage' ? 'AsyncStorage' : 'MMKV'} Keys`}
377
+ {search.trim().length > 0
378
+ ? 'No matching keys found'
379
+ : `No ${activeDriver === 'asyncStorage' ? 'AsyncStorage' : 'MMKV'} Keys`}
375
380
  </Text>
376
381
  <Text style={styles.emptySubtitle}>
377
- {search
378
- ? 'Try modifying your search query'
382
+ {search.trim().length > 0
383
+ ? `No keys or values match "${search}"`
379
384
  : `Storage is auto-detected. Tap "+ Add" above to create your first ${activeDriver === 'asyncStorage' ? 'AsyncStorage' : 'MMKV'} key!`}
380
385
  </Text>
386
+ {search.trim().length > 0 && (<TouchableScale onPress={() => setSearch('')} style={{
387
+ marginTop: 12,
388
+ paddingHorizontal: 14,
389
+ paddingVertical: 6,
390
+ borderRadius: 8,
391
+ backgroundColor: AppColors.grayBackground,
392
+ borderWidth: 1,
393
+ borderColor: AppColors.grayBorderSecondary,
394
+ }}>
395
+ <Text style={{ color: AppColors.brandPurple, fontSize: 12, fontFamily: AppFonts.interBold }}>
396
+ Clear Search
397
+ </Text>
398
+ </TouchableScale>)}
381
399
  </View>} ListFooterComponent={<View style={{ height: 60 }}/>}/>
382
400
 
383
401
  <TouchableScale onPress={() => {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Animated, ScrollView, Text, View } from 'react-native';
2
+ import { Animated, Platform, ScrollView, Text, View, } from 'react-native';
3
3
  import { useInspector } from './InspectorContext';
4
4
  import styles from '../../styles';
5
5
  import { AppColors } from '../../styles/AppColors';
@@ -7,6 +7,7 @@ import TouchableScale from '../TouchableScale';
7
7
  import { SignalIcon, TerminalIcon, AnalyticsIcon, PackageIcon, ReduxIcon, PerformanceIcon, CrashIcon, SmartphoneIcon, DatabaseIcon, QrCodeIcon, } from '../NetworkIcons';
8
8
  import { isReduxConnected } from '../../customHooks/reduxLogger';
9
9
  import { isAnalyticsConnected } from '../../customHooks/analyticsLogger';
10
+ import { isLocalDebugEnvironment } from '../../helpers';
10
11
  const TabBar = React.memo(() => {
11
12
  const { activeTab, switchActiveTab, tabVisibility, logs, consoleLogs, analyticsEvents, crashRecords, lastReadApisCount, lastReadLogsCount, lastReadCrashesCount, unreadPulseAnim, } = useInspector();
12
13
  const isReduxAvail = isReduxConnected();
@@ -76,8 +77,11 @@ const TabBar = React.memo(() => {
76
77
  },
77
78
  ]
78
79
  .filter(tab => {
79
- if (tab.key === 'debugging')
80
- return true;
80
+ if (tab.key === 'debugging') {
81
+ return (Platform.OS === 'android' &&
82
+ isLocalDebugEnvironment() &&
83
+ Boolean(tabVisibility?.debugging));
84
+ }
81
85
  if (!tabVisibility?.[tab.key])
82
86
  return false;
83
87
  if (tab.key === 'redux' && !isReduxAvail)
@@ -111,10 +111,22 @@ const JsonViewer = React.memo(({ data, search, forceOpen, defaultExpandDepth = 1
111
111
  <Text style={localStyles.tableCellValue}>{String(data)}</Text>
112
112
  </View>);
113
113
  }
114
- const keys = Object.keys(data);
114
+ let keys = Object.keys(data);
115
+ if (search && search.trim().length > 0) {
116
+ const q = search.trim().toLowerCase();
117
+ keys = keys.filter(key => {
118
+ const val = data[key];
119
+ const valStr = typeof val === 'object' && val !== null ? JSON.stringify(val) : String(val);
120
+ return key.toLowerCase().includes(q) || valStr.toLowerCase().includes(q);
121
+ });
122
+ }
115
123
  if (keys.length === 0) {
116
124
  return (<View style={localStyles.emptyTable}>
117
- <Text style={localStyles.emptyTableText}>{t('network.jsonViewer.emptyTable')}</Text>
125
+ <Text style={localStyles.emptyTableText}>
126
+ {search && search.trim().length > 0
127
+ ? 'No matching keys or values found'
128
+ : t('network.jsonViewer.emptyTable')}
129
+ </Text>
118
130
  </View>);
119
131
  }
120
132
  return (<View style={localStyles.tableView}>