react-native-inapp-inspector 2.5.13 → 2.5.14

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 (252) hide show
  1. package/README.md +0 -8
  2. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +1 -0
  3. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  4. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  5. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  6. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  7. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  8. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  9. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  10. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.dex +0 -0
  11. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  12. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  13. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  14. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  15. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  16. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +1 -0
  17. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  18. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
  19. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +176 -0
  20. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  21. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +236 -0
  22. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
  23. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
  24. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
  25. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
  26. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
  27. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
  28. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
  29. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +337 -0
  30. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
  31. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
  32. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
  33. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
  34. package/android/build/generated/source/codegen/schema.json +1 -0
  35. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +19 -0
  36. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  37. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  38. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  39. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  40. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  41. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +1 -0
  42. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/xml_inappinspector_file_paths.xml.flat +0 -0
  43. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -0
  44. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  45. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  46. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  47. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  48. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  49. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  50. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  51. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +3 -0
  52. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +28 -0
  53. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +19 -0
  54. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  55. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  56. package/android/build/intermediates/packaged_res/debug/packageDebugResources/xml/inappinspector_file_paths.xml +7 -0
  57. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  58. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  59. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  60. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  61. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  62. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  63. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  64. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  65. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.class +0 -0
  66. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  67. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  68. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  69. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  70. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  71. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +2 -0
  72. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  160. package/android/build/outputs/logs/manifest-merger-debug-report.txt +35 -0
  161. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  162. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  163. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  164. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  165. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  166. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  167. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  168. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.class +0 -0
  169. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  170. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  171. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  172. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  173. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +118 -31
  174. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +1 -1
  175. package/dist/commonjs/components/Inspector/ConsoleTab.js +7 -7
  176. package/dist/commonjs/components/Inspector/DebuggingTab.js +21 -21
  177. package/dist/commonjs/components/Inspector/FabLauncher.js +3 -3
  178. package/dist/commonjs/components/Inspector/InspectorHeader.js +30 -30
  179. package/dist/commonjs/components/Inspector/MainScreen.js +38 -75
  180. package/dist/commonjs/components/Inspector/NetworkExportModal.js +4 -4
  181. package/dist/commonjs/components/Inspector/NetworkTab.js +51 -51
  182. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  183. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +17 -16
  184. package/dist/commonjs/components/Inspector/SettingsPanel.js +40 -41
  185. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  186. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +34 -3
  187. package/dist/commonjs/components/Inspector/TabBar.js +9 -15
  188. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +16 -16
  189. package/dist/commonjs/components/LogCard.js +7 -7
  190. package/dist/commonjs/components/SkeletonPlaceholder.d.ts +3 -0
  191. package/dist/commonjs/components/SkeletonPlaceholder.js +34 -3
  192. package/dist/commonjs/constants/version.d.ts +1 -1
  193. package/dist/commonjs/constants/version.js +1 -1
  194. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  195. package/dist/commonjs/helpers/shareFormatter.js +14 -14
  196. package/dist/commonjs/helpers/uiInspectorEngine.js +9 -9
  197. package/dist/commonjs/index.d.ts +1 -1
  198. package/dist/commonjs/index.js +3 -3
  199. package/dist/commonjs/native/NativeInspector.d.ts +2 -0
  200. package/dist/commonjs/native/NativeInspector.js +1 -1
  201. package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
  202. package/dist/commonjs/styles/AppFonts.d.ts +4 -0
  203. package/dist/commonjs/styles/AppFonts.js +1 -1
  204. package/dist/commonjs/styles/index.d.ts +2 -0
  205. package/dist/commonjs/styles/index.js +1 -1
  206. package/dist/commonjs/types/enums.d.ts +0 -2
  207. package/dist/commonjs/types/enums.js +1 -1
  208. package/dist/commonjs/types/interfaces.d.ts +1 -1
  209. package/dist/esm/components/Inspector/BoxModelVisualizer.js +3 -3
  210. package/dist/esm/components/Inspector/ConsoleExportModal.js +1 -1
  211. package/dist/esm/components/Inspector/ConsoleTab.js +48 -48
  212. package/dist/esm/components/Inspector/DebuggingTab.js +106 -106
  213. package/dist/esm/components/Inspector/FabLauncher.js +42 -42
  214. package/dist/esm/components/Inspector/InspectorHeader.js +50 -50
  215. package/dist/esm/components/Inspector/MainScreen.js +87 -124
  216. package/dist/esm/components/Inspector/NetworkExportModal.js +1 -1
  217. package/dist/esm/components/Inspector/NetworkTab.js +83 -83
  218. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  219. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +23 -22
  220. package/dist/esm/components/Inspector/SettingsPanel.js +106 -107
  221. package/dist/esm/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  222. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +42 -11
  223. package/dist/esm/components/Inspector/TabBar.js +35 -41
  224. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +4 -4
  225. package/dist/esm/components/Inspector/UiInspectorDetail.js +141 -141
  226. package/dist/esm/components/Inspector/UiInspectorOverlay.js +81 -81
  227. package/dist/esm/components/Inspector/UiInspectorTab.js +10 -10
  228. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +35 -35
  229. package/dist/esm/components/LogCard.js +53 -53
  230. package/dist/esm/components/SkeletonPlaceholder.d.ts +3 -0
  231. package/dist/esm/components/SkeletonPlaceholder.js +42 -11
  232. package/dist/esm/constants/version.d.ts +1 -1
  233. package/dist/esm/constants/version.js +1 -1
  234. package/dist/esm/helpers/remoteConfig.js +1 -1
  235. package/dist/esm/helpers/shareFormatter.js +14 -14
  236. package/dist/esm/helpers/uiInspectorEngine.js +8 -8
  237. package/dist/esm/index.d.ts +1 -1
  238. package/dist/esm/index.js +8 -8
  239. package/dist/esm/native/NativeInspector.d.ts +2 -0
  240. package/dist/esm/native/NativeInspector.js +1 -1
  241. package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
  242. package/dist/esm/styles/AppFonts.d.ts +4 -0
  243. package/dist/esm/styles/AppFonts.js +1 -1
  244. package/dist/esm/styles/index.d.ts +2 -0
  245. package/dist/esm/styles/index.js +1 -1
  246. package/dist/esm/types/enums.d.ts +0 -2
  247. package/dist/esm/types/enums.js +1 -1
  248. package/dist/esm/types/interfaces.d.ts +1 -1
  249. package/ios/NetworkInspectorModule.mm +288 -325
  250. package/package.json +1 -1
  251. package/src/native/NativeInspector.ts +30 -0
  252. package/src/native/NativeNetworkInspector.ts +2 -0
@@ -1,4 +1,4 @@
1
- import{useCallback as de,useEffect as Oe,useMemo as G,useRef as We,useState as R}from"react";import{Modal as Ct,View as T,Text as C,TextInput as Ne,StyleSheet as Me,Pressable as Tt,Animated as N,Easing as _,ScrollView as St,Share as qe}from"react-native";import D from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as S}from"../../styles/AppFonts";import{ExportIcon as Te,ShareIcon as Bt,SaveIcon as Rt,CopyIcon as Ft,CloseWhite as It,CircleCheckIcon as $e,CircleXIcon as Vt,ClockIcon as At,RequestIcon as zt,ResponseIcon as Dt,LayersIcon as Ue,FilterIcon as Ht,CheckIcon as Pt,ZapIcon as Et,PenIcon as Lt}from"../NetworkIcons";import{triggerNativeHaptic as L,writeNativeExportFile as Ge,shareNativeFile as Ke}from"../../native/NativeInspector";import{copyToClipboard as Ot,showToast as X}from"../../helpers";import{formatNetworkLogsExport as Wt,estimateNetworkLogsExportSize as Nt,generateNetworkLogsFilename as Mt}from"../../helpers/shareFormatter";import{useTranslation as qt}from"../../i18n";export const NetworkExportModal=({visible:ce,onClose:ee,filteredLogs:te,allLogs:oe})=>{const{t:k}=qt(),[$,re]=R("config"),[M,Se]=R("filtered"),[q,ke]=R("all"),[H,ge]=R("all"),[ue,Be]=R("50"),[U,Re]=R(""),[P,ve]=R("txt"),[pe,Fe]=R(!1),[me,Ie]=R(!1),[ye,Ve]=R(!1),[fe,Ae]=R(!1),[he,ze]=R(!1),[xe,De]=R(!1),[we,He]=R(!1),[Qe,be]=R(0),[Je,Ce]=R(0),[O,Pe]=R(""),[E,Ee]=R(""),[Xe,Le]=R(0),K=We(new N.Value(0)).current,ie=We(new N.Value(1)).current,j=G(()=>{if(!U||U.trim().length===0)return{isValid:!0,error:null,regex:null};try{return{isValid:!0,error:null,regex:new RegExp(U.trim(),"i")}}catch(o){return{isValid:!1,error:o?.message||"Invalid pattern",regex:null}}},[U]),ne=G(()=>({includeRequestHeaders:pe,includeRequestBody:me,includeResponseHeaders:ye,includeResponseBody:fe,includeCurlCommand:he,includeTimestamps:xe,includeAppInfo:we,ignorePattern:H==="custom"&&j.isValid?U.trim():void 0}),[pe,me,ye,fe,he,xe,we,H,j.isValid,U]);Oe(()=>{if($==="progress"){const o=N.loop(N.sequence([N.timing(ie,{toValue:1.05,duration:600,easing:_.inOut(_.ease),useNativeDriver:!0}),N.timing(ie,{toValue:1,duration:600,easing:_.inOut(_.ease),useNativeDriver:!0})]));return o.start(),()=>o.stop()}},[$,ie]),Oe(()=>{ce&&(re("config"),ge("all"),ke("all"),ve("txt"),Be("50"),Re(""),Fe(!1),Ie(!1),Ve(!1),Ae(!1),ze(!1),De(!1),He(!1),be(0),Ce(0),Pe(""),Ee(""),Le(0),K.setValue(0))},[ce,K]);const Q=G(()=>M==="filtered"?te:oe,[M,te,oe]),J=G(()=>{let o=0,B=0,F=0,W=0,I=0;return Q.forEach(V=>{const A=typeof V.status=="number"?V.status:parseInt(String(V.status),10);V.status===0||V.status==null||!isNaN(A)&&A>=400?B++:!isNaN(A)&&A>=200&&A<400&&o++,(V.duration||0)>=500&&F++;const se=(V.method||"").toUpperCase();se==="POST"&&W++,se==="GET"&&I++}),{all:Q.length,success:o,error:B,slow:F,post:W,get:I}},[Q]),Y=G(()=>q==="all"?Q:Q.filter(o=>{const B=typeof o.status=="number"?o.status:parseInt(String(o.status),10),F=o.status===0||o.status==null||!isNaN(B)&&B>=400,W=!isNaN(B)&&B>=200&&B<400,I=(o.duration||0)>=500,V=(o.method||"").toUpperCase();return q==="success"?W:q==="error"?F:q==="slow"?I:q==="POST"?V==="POST":q==="GET"?V==="GET":!0}),[Q,q]),{selectedLogs:z,ignoredCount:le}=G(()=>{if(Y.length===0)return{selectedLogs:[],ignoredCount:0};let B=Y,F=0;if(H==="custom"&&j.regex){const I=j.regex,V=B.length;B=B.filter(A=>{const se=A.url||"",ot=A.method||"",rt=A.client||"",it=A.request?JSON.stringify(A.request):"",nt=A.response?JSON.stringify(A.response):"";return!I.test(se)&&!I.test(ot)&&!I.test(rt)&&!I.test(it)&&!I.test(nt)}),F=V-B.length}let W=B.length;if(H==="all")W=B.length;else if(H==="custom"){const I=parseInt(ue,10);W=isNaN(I)||I<=0?B.length:Math.min(I,B.length)}return{selectedLogs:B.slice(-W),ignoredCount:F}},[Y,H,ue,j.regex]),ae=G(()=>Nt(z,P,ne),[z,P,ne]),Z=o=>o<=0?"0 KB":o<1024?`${(o/1024).toFixed(2)} KB`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(2)} MB`,Ye=de(()=>{if(z.length===0){X(k("network.noLogsToExport","No API requests available to export"));return}L("medium"),re("progress"),be(0),Ce(0),K.setValue(0);const o=z.length,B=Math.max(1,Math.floor(o/10));let F=0;const W=setInterval(()=>{F=Math.min(F+B,o);const I=F/o;be(Math.round(I*100)),Ce(F),N.timing(K,{toValue:I,duration:120,easing:_.linear,useNativeDriver:!1}).start(),F>=o&&(clearInterval(W),setTimeout(()=>{const V=Wt(z,P,ne),A=Mt(P);Pe(V),Ee(A),Le(V.length),re("complete"),L("heavy")},180))},45)},[z,P,ne,K,k]),Ze=de(async()=>{if(O){L("light");try{const o=await Ge(E,O);if(o&&await Ke(o,P==="json"?"application/json":"text/plain",E))return;await qe.share({title:E,message:O,url:o||void 0},{dialogTitle:`Share ${E}`,subject:E})}catch(o){o?.message!=="User did not share"&&X(o?.message||"Failed to open share sheet")}}},[O,E,P]),_e=de(async()=>{if(O){L("medium");try{const o=await Ge(E,O);if(o&&await Ke(o,P==="json"?"application/json":"text/plain",`Save ${E}`)){X(k("network.savePromptOpened","Opened save to disk dialog"));return}await qe.share({title:`Save ${E}`,message:O,url:o||void 0},{dialogTitle:`Save to Disk (${E})`,subject:E}),X(k("network.savePromptOpened","Opened save to disk dialog"))}catch(o){o?.message!=="User did not share"&&X(o?.message||"Save error")}}},[O,E,P,k]),et=de(()=>{O&&(L("light"),Ot(O,"API Network Logs"),X(k("network.copiedLogs","API requests copied to clipboard!")))},[O,k]),tt=te.length!==oe.length;return<Ct visible={ce}transparent animationType="slide"onRequestClose={ee}>
1
+ import{useCallback as de,useEffect as Oe,useMemo as G,useRef as We,useState as R}from"react";import{Modal as Ct,View as T,Text as C,TextInput as Ne,StyleSheet as Me,Pressable as Tt,Animated as N,Easing as _,ScrollView as St,Share as qe}from"react-native";import D from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as S}from"../../styles/AppFonts";import{ExportIcon as Te,ShareIcon as Bt,SaveIcon as Rt,CopyIcon as Ft,CloseWhite as It,CircleCheckIcon as $e,CircleXIcon as Vt,ClockIcon as At,RequestIcon as zt,ResponseIcon as Dt,LayersIcon as Ue,FilterIcon as Ht,CheckIcon as Pt,ZapIcon as Et,PenIcon as Lt}from"../NetworkIcons";import{triggerNativeHaptic as L,writeNativeExportFile as Ge,shareNativeFile as Ke}from"../../native/NativeInspector";import{copyToClipboard as Ot,showToast as X}from"../../helpers";import{formatNetworkLogsExport as Wt,estimateNetworkLogsExportSize as Nt,generateNetworkLogsFilename as Mt}from"../../helpers/shareFormatter";import{useTranslation as qt}from"../../i18n";export const NetworkExportModal=({visible:ce,onClose:ee,filteredLogs:te,allLogs:oe})=>{const{t:k}=qt(),[$,re]=R("config"),[M,Se]=R("filtered"),[q,ke]=R("all"),[H,ge]=R("all"),[ue,Be]=R("50"),[U,Re]=R(""),[P,ve]=R("txt"),[pe,Fe]=R(!0),[me,Ie]=R(!0),[ye,Ve]=R(!0),[fe,Ae]=R(!0),[he,ze]=R(!0),[xe,De]=R(!0),[we,He]=R(!0),[Qe,be]=R(0),[Je,Ce]=R(0),[O,Pe]=R(""),[E,Ee]=R(""),[Xe,Le]=R(0),K=We(new N.Value(0)).current,ie=We(new N.Value(1)).current,j=G(()=>{if(!U||U.trim().length===0)return{isValid:!0,error:null,regex:null};try{return{isValid:!0,error:null,regex:new RegExp(U.trim(),"i")}}catch(o){return{isValid:!1,error:o?.message||"Invalid pattern",regex:null}}},[U]),ne=G(()=>({includeRequestHeaders:pe,includeRequestBody:me,includeResponseHeaders:ye,includeResponseBody:fe,includeCurlCommand:he,includeTimestamps:xe,includeAppInfo:we,ignorePattern:H==="custom"&&j.isValid?U.trim():void 0}),[pe,me,ye,fe,he,xe,we,H,j.isValid,U]);Oe(()=>{if($==="progress"){const o=N.loop(N.sequence([N.timing(ie,{toValue:1.05,duration:600,easing:_.inOut(_.ease),useNativeDriver:!0}),N.timing(ie,{toValue:1,duration:600,easing:_.inOut(_.ease),useNativeDriver:!0})]));return o.start(),()=>o.stop()}},[$,ie]),Oe(()=>{ce&&(re("config"),ge("all"),ke("all"),ve("txt"),Be("50"),Re(""),Fe(!1),Ie(!1),Ve(!1),Ae(!1),ze(!1),De(!1),He(!1),be(0),Ce(0),Pe(""),Ee(""),Le(0),K.setValue(0))},[ce,K]);const Q=G(()=>M==="filtered"?te:oe,[M,te,oe]),J=G(()=>{let o=0,B=0,F=0,W=0,I=0;return Q.forEach(V=>{const A=typeof V.status=="number"?V.status:parseInt(String(V.status),10);V.status===0||V.status==null||!isNaN(A)&&A>=400?B++:!isNaN(A)&&A>=200&&A<400&&o++,(V.duration||0)>=500&&F++;const se=(V.method||"").toUpperCase();se==="POST"&&W++,se==="GET"&&I++}),{all:Q.length,success:o,error:B,slow:F,post:W,get:I}},[Q]),Y=G(()=>q==="all"?Q:Q.filter(o=>{const B=typeof o.status=="number"?o.status:parseInt(String(o.status),10),F=o.status===0||o.status==null||!isNaN(B)&&B>=400,W=!isNaN(B)&&B>=200&&B<400,I=(o.duration||0)>=500,V=(o.method||"").toUpperCase();return q==="success"?W:q==="error"?F:q==="slow"?I:q==="POST"?V==="POST":q==="GET"?V==="GET":!0}),[Q,q]),{selectedLogs:z,ignoredCount:le}=G(()=>{if(Y.length===0)return{selectedLogs:[],ignoredCount:0};let B=Y,F=0;if(H==="custom"&&j.regex){const I=j.regex,V=B.length;B=B.filter(A=>{const se=A.url||"",ot=A.method||"",rt=A.client||"",it=A.request?JSON.stringify(A.request):"",nt=A.response?JSON.stringify(A.response):"";return!I.test(se)&&!I.test(ot)&&!I.test(rt)&&!I.test(it)&&!I.test(nt)}),F=V-B.length}let W=B.length;if(H==="all")W=B.length;else if(H==="custom"){const I=parseInt(ue,10);W=isNaN(I)||I<=0?B.length:Math.min(I,B.length)}return{selectedLogs:B.slice(-W),ignoredCount:F}},[Y,H,ue,j.regex]),ae=G(()=>Nt(z,P,ne),[z,P,ne]),Z=o=>o<=0?"0 KB":o<1024?`${(o/1024).toFixed(2)} KB`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(2)} MB`,Ye=de(()=>{if(z.length===0){X(k("network.noLogsToExport","No API requests available to export"));return}L("medium"),re("progress"),be(0),Ce(0),K.setValue(0);const o=z.length,B=Math.max(1,Math.floor(o/10));let F=0;const W=setInterval(()=>{F=Math.min(F+B,o);const I=F/o;be(Math.round(I*100)),Ce(F),N.timing(K,{toValue:I,duration:120,easing:_.linear,useNativeDriver:!1}).start(),F>=o&&(clearInterval(W),setTimeout(()=>{const V=Wt(z,P,ne),A=Mt(P);Pe(V),Ee(A),Le(V.length),re("complete"),L("heavy")},180))},45)},[z,P,ne,K,k]),Ze=de(async()=>{if(O){L("light");try{const o=await Ge(E,O);if(o&&await Ke(o,P==="json"?"application/json":"text/plain",E))return;await qe.share({title:E,message:O,url:o||void 0},{dialogTitle:`Share ${E}`,subject:E})}catch(o){o?.message!=="User did not share"&&X(o?.message||"Failed to open share sheet")}}},[O,E,P]),_e=de(async()=>{if(O){L("medium");try{const o=await Ge(E,O);if(o&&await Ke(o,P==="json"?"application/json":"text/plain",`Save ${E}`)){X(k("network.savePromptOpened","Opened save to disk dialog"));return}await qe.share({title:`Save ${E}`,message:O,url:o||void 0},{dialogTitle:`Save to Disk (${E})`,subject:E}),X(k("network.savePromptOpened","Opened save to disk dialog"))}catch(o){o?.message!=="User did not share"&&X(o?.message||"Save error")}}},[O,E,P,k]),et=de(()=>{O&&(L("light"),Ot(O,"API Network Logs"),X(k("network.copiedLogs","API requests copied to clipboard!")))},[O,k]),tt=te.length!==oe.length;return<Ct visible={ce}transparent animationType="slide"onRequestClose={ee}>
2
2
  <T style={e.overlay}>
3
3
  <Tt style={e.backdrop}onPress={ee}/>
4
4
 
@@ -1,99 +1,99 @@
1
- import H,{useCallback as ge,useMemo as D,useRef as We}from"react";import{FlatList as _e,Pressable as Qe,ScrollView as Ue,Text as I,TextInput as Ke,View as S}from"react-native";import{useInspector as Xe}from"./InspectorContext";import $ from"../TouchableScale";import Le from"../AnimatedEntrance";import Je from"../DomainHeader";import Ye from"../LogCard";import Ze from"../EmptyState";import So from"../EndOfListFooter";import Co from"./NetworkFilterModal";import To from"./NetworkExportModal";import C from"../../styles";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as k}from"../../styles/AppFonts";import{METHOD_COLORS as Re}from"../../constants";import{isUrlHidden as xo}from"../../helpers";import{useTranslation as zo}from"../../i18n";import{SearchIcon as Io,ClearIcon as Vo,TrashIcon as Fo,SortArrowIcon as Lo,FilterIcon as Ro,ChevronIcon as Bo,CheckIcon as Po,CircleCheckIcon as Eo,CircleXIcon as $o,LayersIcon as Be,ClockIcon as Mo,RequestIcon as Ao,ResponseIcon as Do,AtomIcon as No,ExportIcon as Oo}from"../NetworkIcons";const vo=H.memo(()=>{const{groupedData:U,loadMoreSection:me,search:F,setSearch:K,setSearchScope:he,quickFilter:X,setQuickFilter:de,handleDelete:Pe,isGroupByPageEnabled:q,setIsGroupByPageEnabled:Ee,selectedLogs:J,sortOrder:$e,setSortOrder:Y,statusFilters:L,setStatusFilters:G,methodFilters:R,setMethodFilters:W,latencyFilter:N,setLatencyFilter:Z,protocolFilter:O,setProtocolFilter:ee,networkSortBy:v,setNetworkSortBy:oe,filteredLogs:B,logs:te,hiddenUrlPatterns:re,toggleSectionFilter:fe,toggleSectionCollapse:ye,minStart:we,totalRange:Se,newLogIds:Ce,toggleSelect:be,setSelected:Te,maxNetworkLogs:ce}=Xe(),{t:_}=zo(),xe=We(null),[Me,ze]=H.useState(!1),[Ae,Ie]=H.useState(!1),[Ve,ke]=H.useState(!1),[le,Fe]=H.useState(ce||50),ie=!!(F&&F.trim().length>0),P=q&&!ie;H.useEffect(()=>{Fe(ce||50),ie&&xe.current?.scrollToOffset({offset:0,animated:!1})},[F,X,ce,ie]);const ue=D(()=>P?U:U.slice(0,le),[P,U,le]),De=ge(e=>e?.id?String(e.id):"",[]),M=D(()=>L.size>0&&!L.has("all")||R.size>0&&!R.has("all")||N!=="all"||O!=="all"||v!=="time_desc",[L,R,N,O,v]),Ne=D(()=>{let e=0;return L.size>0&&!L.has("all")&&(e+=L.size),R.size>0&&!R.has("all")&&(e+=R.size),N!=="all"&&e++,O!=="all"&&e++,v!=="time_desc"&&e++,e},[L,R,N,O,v]),Oe=D(()=>({statusCodes:L.size>0?new Set(L):new Set(["all"]),methods:R.size>0?new Set(R):new Set(["all"]),latency:N,protocol:O,sortBy:v}),[L,R,N,O,v]),ve=ge(e=>{e.statusCodes.has("all")||e.statusCodes.size===0?G(new Set):G(new Set(e.statusCodes)),e.methods.has("all")||e.methods.size===0?W(new Set):W(new Set([...e.methods].map(T=>T))),Z(e.latency||"all"),ee(e.protocol||"all"),oe(e.sortBy||"time_desc"),e.sortBy==="time_asc"?Y("oldest"):Y("newest")},[G,W,Z,ee,oe,Y]),j=D(()=>!re||re.length===0?te:te.filter(e=>!xo(e.url,re)),[te,re]),E=D(()=>{let e=0,T=0,x=0,z=0,Q=0,ae=0;return j.forEach(V=>{const b=typeof V.status=="number"?V.status:parseInt(String(V.status),10);V.status===0||V.status==null||!isNaN(b)&&b>=400?e++:!isNaN(b)&&b>=200&&b<400&&T++,(V.duration||0)>=500&&x++;const se=(V.method||"").toUpperCase();se==="POST"&&z++,se==="GET"&&Q++;const A=(V.url||"").toLowerCase(),ne=(V.client||"").toLowerCase();(A.includes("graphql")||ne.includes("graphql")||ne.includes("apollo"))&&ae++}),{all:j.length,errors:e,success:T,slow:x,post:z,get:Q,graphql:ae}},[j]),He=D(()=>[{id:"all",label:"All",count:E.all,color:o.purple},{id:"errors",label:"Errors",count:E.errors,color:o.errorColor},{id:"success",label:"2xx OK",count:E.success,color:o.greenColor},{id:"slow",label:"Slow >500ms",count:E.slow,color:o.warningIconGold},{id:"POST",label:"POST",count:E.post,color:Re.POST||o.blue500},{id:"GET",label:"GET",count:E.get,color:Re.GET||o.emerald500},{id:"graphql",label:"GraphQL",count:E.graphql,color:o.graphqlPink}],[E]),qe=ge(({item:e,index:T})=>{if(e.type==="header")return<Le index={T}distance={8}>
2
- <Je pageName={e.pageName}color={e.color}stats={e.stats}activeFilters={e.activeFilters}onToggleFilter={fe}isCollapsed={e.isCollapsed}onToggleCollapse={ye}isFirst={e.isFirst}timestamp={e.timestamp}/>
3
- </Le>;if(e.type==="loadMore"){const{pageName:V,color:b,remainingCount:se,totalCount:A,loadedCount:ne,loadMoreStep:pe,hasMore:Ge}=e;return<S style={[C.treeNodeRow,C.treeNodeRowLast]}>
4
- <S style={C.treeLines}>
5
- <S style={[C.modernTreeLine,{borderColor:b},C.modernTreeLineLast]}/>
1
+ import q,{useCallback as ne,useMemo as D,useRef as We}from"react";import{FlatList as _e,Pressable as Qe,ScrollView as Ue,Text as V,TextInput as Ke,View as S}from"react-native";import{useInspector as Xe}from"./InspectorContext";import $ from"../TouchableScale";import Fe from"../AnimatedEntrance";import Je from"../DomainHeader";import Ye from"../LogCard";import Ze from"../EmptyState";import So from"../EndOfListFooter";import Co from"./NetworkFilterModal";import To from"./NetworkExportModal";import b from"../../styles";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as k}from"../../styles/AppFonts";import{METHOD_COLORS as Le}from"../../constants";import{isUrlHidden as xo}from"../../helpers";import{useTranslation as zo}from"../../i18n";import{SearchIcon as Vo,ClearIcon as Io,TrashIcon as Fo,SortArrowIcon as Lo,FilterIcon as Ro,ChevronIcon as Bo,CheckIcon as Po,CircleCheckIcon as Eo,CircleXIcon as $o,LayersIcon as Re,ClockIcon as Mo,RequestIcon as Ao,ResponseIcon as Do,AtomIcon as No,ExportIcon as Oo}from"../NetworkIcons";const vo=q.memo(()=>{const{groupedData:K,loadMoreSection:pe,search:I,setSearch:X,setSearchScope:ge,quickFilter:J,setQuickFilter:de,handleDelete:Be,isGroupByPageEnabled:G,setIsGroupByPageEnabled:Pe,selectedLogs:Y,sortOrder:Ee,setSortOrder:Z,statusFilters:F,setStatusFilters:W,methodFilters:L,setMethodFilters:_,latencyFilter:N,setLatencyFilter:ee,protocolFilter:O,setProtocolFilter:oe,networkSortBy:v,setNetworkSortBy:te,filteredLogs:R,logs:re,hiddenUrlPatterns:le,toggleSectionFilter:he,toggleSectionCollapse:me,minStart:fe,totalRange:ye,newLogIds:we,toggleSelect:Se,setSelected:Ce,maxNetworkLogs:ce}=Xe(),{t:j}=zo(),be=We(null),[$e,Te]=q.useState(!1),[Me,xe]=q.useState(!1),[ze,Ve]=q.useState(!1),[ie,ke]=q.useState(ce||50),ae=!!(I&&I.trim().length>0),B=G&&!ae;q.useEffect(()=>{ke(ce||50),ae&&be.current?.scrollToOffset({offset:0,animated:!1})},[I,J,ce,ae]);const Ae=D(()=>B?K:K.slice(0,ie),[B,K,ie]),De=ne(e=>e?.id?String(e.id):"",[]),M=D(()=>F.size>0&&!F.has("all")||L.size>0&&!L.has("all")||N!=="all"||O!=="all"||v!=="time_desc",[F,L,N,O,v]),Ne=D(()=>{let e=0;return F.size>0&&!F.has("all")&&(e+=F.size),L.size>0&&!L.has("all")&&(e+=L.size),N!=="all"&&e++,O!=="all"&&e++,v!=="time_desc"&&e++,e},[F,L,N,O,v]),Oe=D(()=>({statusCodes:F.size>0?new Set(F):new Set(["all"]),methods:L.size>0?new Set(L):new Set(["all"]),latency:N,protocol:O,sortBy:v}),[F,L,N,O,v]),ve=ne(e=>{e.statusCodes.has("all")||e.statusCodes.size===0?W(new Set):W(new Set(e.statusCodes)),e.methods.has("all")||e.methods.size===0?_(new Set):_(new Set([...e.methods].map(T=>T))),ee(e.latency||"all"),oe(e.protocol||"all"),te(e.sortBy||"time_desc"),e.sortBy==="time_asc"?Z("oldest"):Z("newest")},[W,_,ee,oe,te,Z]),Q=D(()=>!le||le.length===0?re:re.filter(e=>!xo(e.url,le)),[re,le]),P=D(()=>{let e=0,T=0,x=0,z=0,U=0,se=0;return Q.forEach(C=>{const A=typeof C.status=="number"?C.status:parseInt(String(C.status),10);C.status===0||C.status==null||!isNaN(A)&&A>=400?e++:!isNaN(A)&&A>=200&&A<400&&T++,(C.duration||0)>=500&&x++;const E=(C.method||"").toUpperCase();E==="POST"&&z++,E==="GET"&&U++;const ue=(C.url||"").toLowerCase(),H=(C.client||"").toLowerCase();(ue.includes("graphql")||H.includes("graphql")||H.includes("apollo"))&&se++}),{all:Q.length,errors:e,success:T,slow:x,post:z,get:U,graphql:se}},[Q]),He=D(()=>[{id:"all",label:"All",count:P.all,color:o.purple},{id:"errors",label:"Errors",count:P.errors,color:o.errorColor},{id:"success",label:"2xx OK",count:P.success,color:o.greenColor},{id:"slow",label:"Slow >500ms",count:P.slow,color:o.warningIconGold},{id:"POST",label:"POST",count:P.post,color:Le.POST||o.blue500},{id:"GET",label:"GET",count:P.get,color:Le.GET||o.emerald500},{id:"graphql",label:"GraphQL",count:P.graphql,color:o.graphqlPink}],[P]),Ie=ne(e=>{e&&Ce(e)},[Ce]),qe=ne(({item:e,index:T})=>{if(e.type==="header")return<Fe index={T}distance={8}>
2
+ <Je pageName={e.pageName}color={e.color}stats={e.stats}activeFilters={e.activeFilters}onToggleFilter={he}isCollapsed={e.isCollapsed}onToggleCollapse={me}isFirst={e.isFirst}timestamp={e.timestamp}/>
3
+ </Fe>;if(e.type==="loadMore"){const{pageName:se,color:C,remainingCount:A,totalCount:E,loadedCount:ue,loadMoreStep:H,hasMore:Ge}=e;return<S style={[b.treeNodeRow,b.treeNodeRowLast]}>
4
+ <S style={b.treeLines}>
5
+ <S style={[b.modernTreeLine,{borderColor:C},b.modernTreeLineLast]}/>
6
6
  </S>
7
- <S style={C.treeCardWrapper}>
8
- {Ge?<$ onPress={()=>me(V,pe||10)}hitSlop={6}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:9,paddingHorizontal:12,marginVertical:3,marginRight:2,borderRadius:10,backgroundColor:`${b}14`,borderWidth:1.5,borderColor:`${b}40`,shadowColor:b,shadowOffset:{width:0,height:1.5},shadowOpacity:.1,shadowRadius:3,elevation:2}}>
7
+ <S style={b.treeCardWrapper}>
8
+ {Ge?<$ onPress={()=>pe(se,H||10)}hitSlop={6}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:9,paddingHorizontal:12,marginVertical:3,marginRight:2,borderRadius:10,backgroundColor:`${C}14`,borderWidth:1.5,borderColor:`${C}40`,shadowColor:C,shadowOffset:{width:0,height:1.5},shadowOpacity:.1,shadowRadius:3,elevation:2}}>
9
9
  <S style={{flexDirection:"row",alignItems:"center",gap:8}}>
10
- <S style={{width:22,height:22,borderRadius:11,backgroundColor:b,alignItems:"center",justifyContent:"center",shadowColor:b,shadowOffset:{width:0,height:1},shadowOpacity:.25,shadowRadius:2,elevation:1}}>
10
+ <S style={{width:22,height:22,borderRadius:11,backgroundColor:C,alignItems:"center",justifyContent:"center",shadowColor:C,shadowOffset:{width:0,height:1},shadowOpacity:.25,shadowRadius:2,elevation:1}}>
11
11
  <Bo color={o.white}size={9}direction="down"/>
12
12
  </S>
13
13
  <S>
14
- <I style={{fontFamily:k.interBold,fontSize:12,color:b}}>
15
- {_("footer.loadMoreRequests",{count:pe,defaultValue:`Load ${pe} More Requests`})}
16
- </I>
17
- <I style={{fontFamily:k.interRegular,fontSize:9.5,color:o.grayTextWeak,marginTop:1}}>
18
- Showing {ne} of {A} requests
19
- </I>
14
+ <V style={{fontFamily:k.interBold,fontSize:12,color:C}}>
15
+ {j("footer.loadMoreRequests",{count:H,defaultValue:`Load ${H} More Requests`})}
16
+ </V>
17
+ <V style={{fontFamily:k.interRegular,fontSize:9.5,color:o.grayTextWeak,marginTop:1}}>
18
+ Showing {ue} of {E} requests
19
+ </V>
20
20
  </S>
21
21
  </S>
22
22
 
23
- <S style={{flexDirection:"row",alignItems:"center",backgroundColor:`${b}25`,paddingHorizontal:8,paddingVertical:4,borderRadius:8,borderWidth:1,borderColor:`${b}40`,gap:3}}>
24
- <I style={{fontFamily:k.interBold,fontSize:10.5,color:b}}>
25
- +{se}
26
- </I>
27
- <I style={{fontFamily:k.interRegular,fontSize:9,color:b}}>
23
+ <S style={{flexDirection:"row",alignItems:"center",backgroundColor:`${C}25`,paddingHorizontal:8,paddingVertical:4,borderRadius:8,borderWidth:1,borderColor:`${C}40`,gap:3}}>
24
+ <V style={{fontFamily:k.interBold,fontSize:10.5,color:C}}>
25
+ +{A}
26
+ </V>
27
+ <V style={{fontFamily:k.interRegular,fontSize:9,color:C}}>
28
28
  more
29
- </I>
29
+ </V>
30
30
  </S>
31
- </$>:<S style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:7,paddingHorizontal:11,marginVertical:3,marginRight:2,borderRadius:9,backgroundColor:`${b}0A`,borderWidth:1,borderColor:`${b}25`}}>
31
+ </$>:<S style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:7,paddingHorizontal:11,marginVertical:3,marginRight:2,borderRadius:9,backgroundColor:`${C}0A`,borderWidth:1,borderColor:`${C}25`}}>
32
32
  <S style={{flexDirection:"row",alignItems:"center",gap:7}}>
33
- <S style={{width:17,height:17,borderRadius:8.5,backgroundColor:`${b}25`,alignItems:"center",justifyContent:"center"}}>
34
- <Po color={b}size={8}/>
33
+ <S style={{width:17,height:17,borderRadius:8.5,backgroundColor:`${C}25`,alignItems:"center",justifyContent:"center"}}>
34
+ <Po color={C}size={8}/>
35
35
  </S>
36
- <I style={{fontFamily:k.interMedium,fontSize:11,color:o.grayTextStrong}}>
37
- {_("footer.allLoaded",{count:A,defaultValue:`All ${A} requests loaded`})}
38
- </I>
36
+ <V style={{fontFamily:k.interMedium,fontSize:11,color:o.grayTextStrong}}>
37
+ {j("footer.allLoaded",{count:E,defaultValue:`All ${E} requests loaded`})}
38
+ </V>
39
39
  </S>
40
40
 
41
- <S style={{backgroundColor:`${b}18`,paddingHorizontal:7,paddingVertical:2,borderRadius:6}}>
42
- <I style={{fontFamily:k.interBold,fontSize:9.5,color:b}}>
43
- {A}/{A}
44
- </I>
41
+ <S style={{backgroundColor:`${C}18`,paddingHorizontal:7,paddingVertical:2,borderRadius:6}}>
42
+ <V style={{fontFamily:k.interBold,fontSize:9.5,color:C}}>
43
+ {E}/{E}
44
+ </V>
45
45
  </S>
46
46
  </S>}
47
47
  </S>
48
- </S>}const{log:x,isLast:z,color:Q}=e,ae=ue.slice(0,T).filter(V=>!V.type).length;return<Le index={T}distance={8}style={P?[C.treeNodeRow,z&&C.treeNodeRowLast]:{marginBottom:5,marginHorizontal:5}}>
49
- {P&&<S style={C.treeLines}>
50
- <S style={[C.modernTreeLine,{borderColor:Q},z&&C.modernTreeLineLast]}/>
51
- {!z&&<S style={[C.modernTreeBranch,{borderColor:Q}]}/>}
48
+ </S>}const{log:x,isLast:z,color:U}=e;return<Fe index={T}distance={8}style={B?[b.treeNodeRow,z&&b.treeNodeRowLast]:{marginBottom:5,marginHorizontal:5}}>
49
+ {B&&<S style={b.treeLines}>
50
+ <S style={[b.modernTreeLine,{borderColor:U},z&&b.modernTreeLineLast]}/>
51
+ {!z&&<S style={[b.modernTreeBranch,{borderColor:U}]}/>}
52
52
  </S>}
53
- <S style={P?C.treeCardWrapper:{flex:1}}>
54
- <Ye testID={`inspector.network.item.${ae}`}item={x}isSelected={J.has(x.id)}onToggleSelect={be}onPress={()=>{Te(x)}}timelineMinStart={we}timelineTotalRange={Se}isNew={Ce.has(x.id)}searchStr={F}/>
53
+ <S style={B?b.treeCardWrapper:{flex:1}}>
54
+ <Ye testID={`inspector.network.item.${x.id}`}item={x}isSelected={Y.has(x.id)}onToggleSelect={Se}onPress={Ie}timelineMinStart={fe}timelineTotalRange={ye}isNew={we.has(x.id)}searchStr={I}/>
55
55
  </S>
56
- </Le>},[ue,P,we,Se,Ce,J,be,F,fe,ye,me,Te,_]);return<S style={{flex:1}}>
56
+ </Fe>},[B,fe,ye,we,Y,Se,Ie,I,he,me,pe,j]);return<S style={{flex:1}}>
57
57
  <S style={{marginTop:6}}>
58
58
 
59
- <S style={C.toolbarRow}>
60
- <S style={[C.searchContainer,Ve&&{borderColor:o.purple,borderWidth:1.5}]}>
61
- <Io color={Ve?o.purple:o.grayTextWeak}size={15}/>
62
- <Ke placeholder={_("network.searchPlaceholder","Search APIs...")}placeholderTextColor={o.grayTextWeak}value={F}onChangeText={K}onFocus={()=>ke(!0)}onBlur={()=>ke(!1)}style={C.searchInput}autoCorrect={!1}autoCapitalize="none"/>
59
+ <S style={b.toolbarRow}>
60
+ <S style={[b.searchContainer,ze&&{borderColor:o.purple,borderWidth:1.5}]}>
61
+ <Vo color={ze?o.purple:o.grayTextWeak}size={15}/>
62
+ <Ke placeholder={j("network.searchPlaceholder","Search APIs...")}placeholderTextColor={o.grayTextWeak}value={I}onChangeText={X}onFocus={()=>Ve(!0)}onBlur={()=>Ve(!1)}style={b.searchInput}autoCorrect={!1}autoCapitalize="none"/>
63
63
 
64
- {F.length>0&&<S style={{flexDirection:"row",alignItems:"center",gap:4}}>
64
+ {I.length>0&&<S style={{flexDirection:"row",alignItems:"center",gap:4}}>
65
65
  <S style={{backgroundColor:`${o.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:1.5}}>
66
- <I style={{color:o.purple,fontSize:9.5,fontFamily:k.interBold}}>
67
- {B.length}
68
- </I>
66
+ <V style={{color:o.purple,fontSize:9.5,fontFamily:k.interBold}}>
67
+ {R.length}
68
+ </V>
69
69
  </S>
70
- <Qe onPress={()=>K("")}hitSlop={10}style={C.clearBtn}>
71
- <Vo color={o.grayTextWeak}size={13}/>
70
+ <Qe onPress={()=>X("")}hitSlop={10}style={b.clearBtn}>
71
+ <Io color={o.grayTextWeak}size={13}/>
72
72
  </Qe>
73
73
  </S>}
74
74
  </S>
75
75
 
76
- <S style={C.toolbarRight}>
77
- <$ style={[C.toolbarBtn,{borderColor:`${o.purple}38`,backgroundColor:`${o.purple}0F`}]}onPress={()=>Ie(!0)}hitSlop={6}testID="inspector.network.exportBtn">
76
+ <S style={b.toolbarRight}>
77
+ <$ style={[b.toolbarBtn,{borderColor:`${o.purple}38`,backgroundColor:`${o.purple}0F`}]}onPress={()=>xe(!0)}hitSlop={6}testID="inspector.network.exportBtn">
78
78
  <Oo color={o.purple}size={15}/>
79
79
  </$>
80
80
 
81
- <$ style={[C.toolbarBtn,{borderColor:`${o.errorColor}38`,backgroundColor:`${o.errorColor}0F`}]}onPress={Pe}hitSlop={6}>
81
+ <$ style={[b.toolbarBtn,{borderColor:`${o.errorColor}38`,backgroundColor:`${o.errorColor}0F`}]}onPress={Be}hitSlop={6}>
82
82
  <Fo color={o.errorColor}size={15}/>
83
- {J.size>0&&<S style={C.trashBadge}>
84
- <I style={C.trashBadgeText}>
85
- {J.size}
86
- </I>
83
+ {Y.size>0&&<S style={b.trashBadge}>
84
+ <V style={b.trashBadgeText}>
85
+ {Y.size}
86
+ </V>
87
87
  </S>}
88
88
  </$>
89
89
 
90
- <$ style={[C.toolbarBtn,q&&{borderColor:o.purple,backgroundColor:`${o.purple}15`}]}onPress={()=>Ee(e=>!e)}hitSlop={6}accessibilityLabel={ie?"Page Accordion Grouping Preserved (Temporarily in List View for Search Results)":q?"Page Accordion Grouping Enabled (Tap for Plain List)":"Plain List Enabled (Tap for Page Accordion)"}accessibilityRole="button">
91
- <Be color={q?o.purple:o.grayTextStrong}size={16}/>
92
- {q&&<S style={C.activeFilterDot}/>}
90
+ <$ style={[b.toolbarBtn,G&&{borderColor:o.purple,backgroundColor:`${o.purple}15`}]}onPress={()=>Pe(e=>!e)}hitSlop={6}accessibilityLabel={ae?"Page Accordion Grouping Preserved (Temporarily in List View for Search Results)":G?"Page Accordion Grouping Enabled (Tap for Plain List)":"Plain List Enabled (Tap for Page Accordion)"}accessibilityRole="button">
91
+ <Re color={G?o.purple:o.grayTextStrong}size={16}/>
92
+ {G&&<S style={b.activeFilterDot}/>}
93
93
  </$>
94
94
 
95
- <$ style={C.toolbarBtn}onPress={()=>Y(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
96
- <Lo direction={$e==="newest"?"down":"up"}color={o.grayTextStrong}size={18}/>
95
+ <$ style={b.toolbarBtn}onPress={()=>Z(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
96
+ <Lo direction={Ee==="newest"?"down":"up"}color={o.grayTextStrong}size={18}/>
97
97
  </$>
98
98
  </S>
99
99
  </S>
@@ -101,62 +101,62 @@ import H,{useCallback as ge,useMemo as D,useRef as We}from"react";import{FlatLis
101
101
 
102
102
  <S style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:8,gap:6}}>
103
103
  <Ue horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
104
- {He.map(e=>{const T=X===e.id,x=e.color||o.purple,z=T?o.white:x;return<$ testID={`inspector.network.filter.${e.id.toLowerCase()}`}key={e.id}onPress={()=>{de(T?"all":e.id)}}>
104
+ {He.map(e=>{const T=J===e.id,x=e.color||o.purple,z=T?o.white:x;return<$ testID={`inspector.network.filter.${e.id.toLowerCase()}`}key={e.id}onPress={()=>{de(T?"all":e.id)}}>
105
105
  <S style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:T?x:`${x}12`,borderWidth:1,borderColor:T?x:`${x}30`,gap:5}}>
106
- {e.id==="all"&&<Be size={11}color={z}/>}
106
+ {e.id==="all"&&<Re size={11}color={z}/>}
107
107
  {e.id==="errors"&&<$o size={11}color={z}/>}
108
108
  {e.id==="success"&&<Eo size={11}color={z}/>}
109
109
  {e.id==="slow"&&<Mo size={11}color={z}/>}
110
110
  {e.id==="POST"&&<Ao size={11}color={z}/>}
111
111
  {e.id==="GET"&&<Do size={11}color={z}/>}
112
112
  {e.id==="graphql"&&<No size={11}color={z}/>}
113
- <I style={{fontFamily:k.interBold,fontSize:10.5,color:T?o.white:o.primaryBlack}}>
113
+ <V style={{fontFamily:k.interBold,fontSize:10.5,color:T?o.white:o.primaryBlack}}>
114
114
  {e.label}
115
- </I>
115
+ </V>
116
116
  <S style={{backgroundColor:T?"rgba(255,255,255,0.25)":`${x}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
117
- <I style={{fontFamily:k.interBold,fontSize:9,color:T?o.white:x}}>
117
+ <V style={{fontFamily:k.interBold,fontSize:9,color:T?o.white:x}}>
118
118
  {e.count}
119
- </I>
119
+ </V>
120
120
  </S>
121
121
  </S>
122
122
  </$>})}
123
123
  </Ue>
124
124
 
125
- <$ onPress={()=>ze(!0)}style={{flexShrink:0}}>
125
+ <$ onPress={()=>Te(!0)}style={{flexShrink:0}}>
126
126
  <S style={{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:4.5,borderRadius:8,backgroundColor:M?`${o.purple}20`:o.grayBackground,borderWidth:1,borderColor:M?o.purple:o.grayBorderSecondary,gap:5,shadowColor:o.black,shadowOpacity:.04,shadowRadius:2,shadowOffset:{width:0,height:1},elevation:1}}>
127
127
  <Ro size={11}color={M?o.purple:o.grayText}/>
128
- <I style={{fontFamily:k.interBold,fontSize:10.5,color:M?o.purple:o.grayText}}>
129
- {_("network.moreFilters","More Filters")}
130
- </I>
128
+ <V style={{fontFamily:k.interBold,fontSize:10.5,color:M?o.purple:o.grayText}}>
129
+ {j("network.moreFilters","More Filters")}
130
+ </V>
131
131
  {M&&<S style={{backgroundColor:o.purple,paddingHorizontal:4.5,paddingVertical:1,borderRadius:6}}>
132
- <I style={{fontFamily:k.interBold,fontSize:8.5,color:o.white}}>
132
+ <V style={{fontFamily:k.interBold,fontSize:8.5,color:o.white}}>
133
133
  {Ne}
134
- </I>
134
+ </V>
135
135
  </S>}
136
136
  </S>
137
137
  </$>
138
138
  </S>
139
139
 
140
140
 
141
- {(X!=="all"||F.trim().length>0||M||B.length!==te.length)&&<S style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginHorizontal:8,marginBottom:8,paddingHorizontal:8,paddingVertical:5.5,backgroundColor:`${o.purple}10`,borderRadius:8,borderWidth:1,borderColor:`${o.purple}25`}}>
142
- <I style={{fontFamily:k.interMedium,fontSize:10.5,color:o.purple}}>
143
- Showing {B.length} of {j.length} requests
144
- </I>
145
- <$ onPress={()=>{K(""),de("all"),G(new Set),W(new Set),Z("all"),ee("all"),oe("time_desc"),he("all")}}>
146
- <I style={{fontFamily:k.interBold,fontSize:10.5,color:o.errorColor}}>
141
+ {(J!=="all"||I.trim().length>0||M||R.length!==re.length)&&<S style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginHorizontal:8,marginBottom:8,paddingHorizontal:8,paddingVertical:5.5,backgroundColor:`${o.purple}10`,borderRadius:8,borderWidth:1,borderColor:`${o.purple}25`}}>
142
+ <V style={{fontFamily:k.interMedium,fontSize:10.5,color:o.purple}}>
143
+ Showing {R.length} of {Q.length} requests
144
+ </V>
145
+ <$ onPress={()=>{X(""),de("all"),W(new Set),_(new Set),ee("all"),oe("all"),te("time_desc"),ge("all")}}>
146
+ <V style={{fontFamily:k.interBold,fontSize:10.5,color:o.errorColor}}>
147
147
  Clear All Filters
148
- </I>
148
+ </V>
149
149
  </$>
150
150
  </S>}
151
151
  </S>
152
152
 
153
- <_e ref={xe}data={ue}keyExtractor={De}renderItem={qe}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<Ze isSearch={F.length>0||M||X!=="all"}searchQuery={F}customTitle={F.length>0?"No matching API requests":"No network activity"}onClearSearch={()=>{K(""),G(new Set),W(new Set),Z("all"),ee("all"),oe("time_desc"),de("all"),he("all")}}/>}ListFooterComponent={U.length>0?<S style={{paddingBottom:24}}>
154
- <So count={P?B.length:Math.min(le,B.length)}totalCount={B.length}label="requests"hasMore={!P&&B.length>le}loadMoreStep={30}onLoadMore={()=>Fe(e=>e+30)}/>
155
- </S>:null}style={{flex:1}}contentContainerStyle={[C.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
153
+ <_e ref={be}data={Ae}keyExtractor={De}renderItem={qe}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<Ze isSearch={I.length>0||M||J!=="all"}searchQuery={I}customTitle={I.length>0?"No matching API requests":"No network activity"}onClearSearch={()=>{X(""),W(new Set),_(new Set),ee("all"),oe("all"),te("time_desc"),de("all"),ge("all")}}/>}ListFooterComponent={K.length>0?<S style={{paddingBottom:24}}>
154
+ <So count={B?R.length:Math.min(ie,R.length)}totalCount={R.length}label="requests"hasMore={!B&&R.length>ie}loadMoreStep={30}onLoadMore={()=>ke(e=>e+30)}/>
155
+ </S>:null}style={{flex:1}}contentContainerStyle={[b.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
156
156
 
157
157
 
158
- <Co visible={Me}onClose={()=>ze(!1)}filters={Oe}onApply={ve}searchQuery={F}/>
158
+ <Co visible={$e}onClose={()=>Te(!1)}filters={Oe}onApply={ve}searchQuery={I}/>
159
159
 
160
160
 
161
- <To visible={Ae}onClose={()=>Ie(!1)}filteredLogs={B}allLogs={j}/>
161
+ <To visible={Me}onClose={()=>xe(!1)}filteredLogs={R}allLogs={Q}/>
162
162
  </S>});export default vo;
@@ -1,2 +1,3 @@
1
1
  import React from 'react';
2
2
  export declare const SecondaryTelemetryStrip: React.FC;
3
+ export default SecondaryTelemetryStrip;
@@ -1,43 +1,44 @@
1
- import{useEffect as H,useMemo as X,useRef as A,useState as q}from"react";import{StyleSheet as V,Text as F,TouchableOpacity as Y,View as M}from"react-native";import Z from"react-native-linear-gradient";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as J}from"../../styles/AppFonts";import{ActivityIcon as _,BatteryChargingIcon as Me,BatteryFullIcon as Se,BoltIcon as Be,SpeedIcon as Ae}from"../NetworkIcons";import{getNativeDeviceMetrics as Fe}from"../../native/NativeInspector";import{subscribeNetworkLogs as Ie}from"../../customHooks/networkLogger";import{useInspector as Re}from"./InspectorContext";import{useTranslation as Ge}from"../../i18n";export const SecondaryTelemetryStrip=()=>{const{t:K}=Ge(),{switchActiveTab:L,peekMode:Te}=Re(),[I,j]=q(60),[n,U]=q(null),[B,v]=q(0),R=A(0),$=A(Date.now());H(()=>{let r;const i=()=>{R.current++;const s=Date.now(),a=s-$.current;if(a>=1e3){const C=Math.min(60,Math.round(R.current*1e3/a));j(C),R.current=0,$.current=s}r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>cancelAnimationFrame(r)},[]);const S=A(0),G=A(Date.now());H(()=>{const r=Ie(s=>{if(!s||s.length===0){v(0);return}const a=Date.now(),C=s.slice(0,10);let k=0,D=0,x=0;for(const o of C){let P=0,W=0;o.request&&(P=typeof o.request=="string"?o.request.length:JSON.stringify(o.request).length),o.response&&(W=typeof o.response=="string"?o.response.length:JSON.stringify(o.response).length);const z=P+W;if(z>0&&o.duration&&o.duration>0){const E=z*8/(o.duration/1e3)/1e3;E>0&&x===0&&(x=E),k+=z,D+=o.duration}}let w=0;D>0&&k>0?w=k*8/(D/1e3)/1e3:x>0&&(w=x),w>0?(S.current=w,G.current=a,v(Math.round(w*10)/10)):S.current>0&&a-G.current<12e3&&v(Math.round(S.current*10)/10)}),i=setInterval(()=>{Date.now()-G.current>15e3&&S.current>0&&(S.current=0,v(0))},3e3);return()=>{r(),clearInterval(i)}},[]),H(()=>{let r=!0;const i=async()=>{try{const a=await Fe();r&&a&&U(a)}catch{}};i();const s=setInterval(i,4e3);return()=>{r=!1,clearInterval(s)}},[]);const N=I>=55?e.emerald400:I>=30?e.amber400:e.rose400,O=X(()=>{if(n?.usedRAM&&n?.totalRAM){const r=(n.usedRAM/1073741824).toFixed(2),i=(n.totalRAM/(1024*1024*1024)).toFixed(1);return`${r} / ${i} GB RAM`}return n?.residentMemory?`${(n.residentMemory/1073741824).toFixed(2)} GB RAM`:n?.usedRAM?`${(n.usedRAM/1073741824).toFixed(2)} GB RAM`:null},[n]),T=n?.batteryPercent,Q=n?.isCharging;return<Z colors={[e.telemetrySubHeaderGradStart,e.telemetrySubHeaderGradMid,e.telemetrySubHeaderGradEnd]}start={{x:0,y:0}}end={{x:1,y:0}}style={t.container}>
2
- <Y activeOpacity={.8}onPress={()=>L?.("device")}style={t.inner}>
1
+ import _,{useEffect as T,useMemo as ee,useRef as B,useState as k}from"react";import{Animated as v,StyleSheet as P,Text as C,TouchableOpacity as Me,View as M}from"react-native";import Se from"react-native-linear-gradient";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as Fe}from"../../styles/AppFonts";import{ActivityIcon as Be,BatteryChargingIcon as Ae,BatteryFullIcon as Ie,BoltIcon as Re,SpeedIcon as De}from"../NetworkIcons";import{getNativeDeviceMetrics as Te,getNativeFpsMetrics as ke,startNativeFpsMonitoring as Ce,stopNativeFpsMonitoring as Ne}from"../../native/NativeInspector";import{subscribeNetworkLogs as Ve}from"../../customHooks/networkLogger";import{useInspector as $e}from"./InspectorContext";import{useTranslation as He}from"../../i18n";export const SecondaryTelemetryStrip=_.memo(()=>{const{t:U}=He(),{switchActiveTab:Q}=$e(),[A,O]=k(60),[N,X]=k(60),[s,Y]=k(null),[w,I]=k(0),R=B(new v.Value(.4)).current;T(()=>{const r=v.loop(v.sequence([v.timing(R,{toValue:1,duration:900,useNativeDriver:!0}),v.timing(R,{toValue:.4,duration:900,useNativeDriver:!0})]));return r.start(),()=>r.stop()},[R]);const V=B(0),W=B(Date.now());T(()=>{Ce().catch(()=>{});const r=setInterval(async()=>{try{const o=await ke();if(o&&typeof o.fps=="number"&&o.fps>0){O(Math.round(o.fps)),o.targetFps&&X(Math.round(o.targetFps));return}}catch{}const c=Date.now(),x=c-W.current;if(x>=1e3){const o=Math.min(60,Math.round(V.current*1e3/x));O(o),V.current=0,W.current=c}},1e3);let i;const a=()=>{V.current++,i=requestAnimationFrame(a)};return i=requestAnimationFrame(a),()=>{clearInterval(r),cancelAnimationFrame(i),Ne().catch(()=>{})}},[]);const S=B(0),$=B(Date.now());T(()=>{const r=Ve(a=>{if(!a||a.length===0){I(0);return}const c=Date.now(),x=a.slice(0,10);let o=0,G=0,D=0;for(const n of x){let J=0,K=0;n.request&&(J=typeof n.request=="string"?n.request.length:JSON.stringify(n.request).length),n.response&&(K=typeof n.response=="string"?n.response.length:JSON.stringify(n.response).length);const L=J+K;if(L>0&&n.duration&&n.duration>0){const j=L*8/(n.duration/1e3)/1e3;j>0&&D===0&&(D=j),o+=L,G+=n.duration}}let F=0;G>0&&o>0?F=o*8/(G/1e3)/1e3:D>0&&(F=D),F>0?(S.current=F,$.current=c,I(Math.round(F*10)/10)):S.current>0&&c-$.current<12e3&&I(Math.round(S.current*10)/10)}),i=setInterval(()=>{Date.now()-$.current>15e3&&S.current>0&&(S.current=0,I(0))},3e3);return()=>{r(),clearInterval(i)}},[]),T(()=>{let r=!0;const i=async()=>{try{const c=await Te();r&&c&&Y(c)}catch{}};i();const a=setInterval(i,4e3);return()=>{r=!1,clearInterval(a)}},[]);const H=A>=N-5?e.emerald400:A>=N/2?e.amber400:e.rose400,q=ee(()=>{if(s?.usedRAM&&s?.totalRAM){const r=(s.usedRAM/1073741824).toFixed(2),i=(s.totalRAM/(1024*1024*1024)).toFixed(1);return`${r} / ${i} GB`}return s?.residentMemory?`${Math.round(s.residentMemory/1048576)} MB RAM`:s?.usedRAM?`${Math.round(s.usedRAM/1048576)} MB RAM`:null},[s]),z=s?.batteryPercent,E=s?.isCharging,Z=`Telemetry: ${A} FPS of ${N}, Network speed ${w} kbps, ${q||""}`;return<Se colors={[e.telemetrySubHeaderGradStart,e.telemetrySubHeaderGradMid,e.telemetrySubHeaderGradEnd]}start={{x:0,y:0}}end={{x:1,y:0}}style={t.container}>
2
+ <Me activeOpacity={.75}onPress={()=>Q?.("device")}accessible={!0}accessibilityRole="summary"accessibilityLabel={Z}accessibilityHint="Double tap to open Device Diagnostics tab"style={t.inner}>
3
3
 
4
4
  <M style={t.item}>
5
- <_ size={11.5}color={N}/>
6
- <F style={[t.label,{color:N,fontFamily:J.interBold}]}>
7
- {I} {K("telemetry.fps","FPS")}
8
- </F>
5
+ <v.View style={[t.pulseDot,{backgroundColor:H,opacity:R}]}/>
6
+ <Be size={11}color={H}/>
7
+ <C style={[t.monoLabel,{color:H}]}>
8
+ {A} {U("telemetry.fps","FPS")}
9
+ </C>
9
10
  </M>
10
11
 
11
12
  <M style={t.divider}/>
12
13
 
13
14
 
14
15
  <M style={t.item}>
15
- <Ae size={11.5}color={e.sky300}/>
16
- <F style={[t.label,{color:e.sky300}]}>
17
- {B>=1e3?`${(B/1e3).toFixed(2)} Mbps`:B>0?`${B.toFixed(1)} kbps`:"0.0 kbps"}
18
- </F>
16
+ <De size={11}color={e.sky400}/>
17
+ <C style={[t.monoLabel,{color:e.sky400}]}>
18
+ {w>=1e3?`${(w/1e3).toFixed(2)} Mbps`:w>0?`${w.toFixed(1)} kbps`:"0.0 kbps"}
19
+ </C>
19
20
  </M>
20
21
 
21
22
 
22
- {O&&<>
23
+ {q&&<>
23
24
  <M style={t.divider}/>
24
25
  <M style={t.item}>
25
- <Be size={11}color={e.purple400}/>
26
- <F style={[t.label,{color:e.purple400}]}>
27
- {O}
28
- </F>
26
+ <Re size={11}color={e.purple400}/>
27
+ <C style={[t.monoLabel,{color:e.purple400}]}>
28
+ {q}
29
+ </C>
29
30
  </M>
30
31
  </>}
31
32
 
32
33
 
33
- {T!==void 0&&T>=0&&<>
34
+ {z!==void 0&&z>=0&&<>
34
35
  <M style={t.divider}/>
35
36
  <M style={t.item}>
36
- {Q?<Me size={11.5}color={e.emerald400}/>:<Se size={11.5}color={e.slate400}/>}
37
- <F style={t.label}>
38
- {Math.round(T)}%
39
- </F>
37
+ {E?<Ae size={11}color={e.emerald400}/>:<Ie size={11}color={e.slate400}/>}
38
+ <C style={[t.monoLabel,{color:E?e.emerald400:e.slate400}]}>
39
+ {Math.round(z)}%
40
+ </C>
40
41
  </M>
41
42
  </>}
42
- </Y>
43
- </Z>};const t=V.create({container:{width:"100%",borderBottomWidth:V.hairlineWidth,borderBottomColor:e.telemetrySubHeaderBorder,borderTopWidth:V.hairlineWidth,borderTopColor:e.telemetrySubHeaderBorder,zIndex:9},inner:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:3.5,minHeight:23},item:{flexDirection:"row",alignItems:"center",gap:4},divider:{width:1,height:10,backgroundColor:e.borderSubtle},label:{fontFamily:J.interMedium,fontSize:9,lineHeight:11.5,color:e.textPrimary,letterSpacing:.1}});
43
+ </Me>
44
+ </Se>});const t=P.create({container:{width:"100%",borderBottomWidth:P.hairlineWidth,borderBottomColor:e.telemetrySubHeaderBorder,borderTopWidth:P.hairlineWidth,borderTopColor:e.telemetrySubHeaderBorder,zIndex:9},inner:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:4.5,minHeight:25},item:{flexDirection:"row",alignItems:"center",gap:4},pulseDot:{width:5,height:5,borderRadius:2.5,marginRight:1},divider:{width:1,height:10,backgroundColor:e.borderSubtle},monoLabel:{fontFamily:Fe.monoFont,fontSize:9.5,lineHeight:12,letterSpacing:.2,fontVariant:["tabular-nums"]}});export default SecondaryTelemetryStrip;