react-native-inapp-inspector 2.3.18 → 2.3.20
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.
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +57 -0
- package/dist/commonjs/analytics.js +1 -24
- package/dist/commonjs/bundle.js +1 -16
- package/dist/commonjs/capture.d.ts +2 -0
- package/dist/commonjs/capture.js +1 -32
- package/dist/commonjs/components/AnalyticsDetail.js +92 -623
- package/dist/commonjs/components/AnalyticsEventCard.js +54 -350
- package/dist/commonjs/components/AnalyticsGraph.js +70 -370
- package/dist/commonjs/components/AnimatedEntrance.js +1 -11
- package/dist/commonjs/components/AppHeaderLogo.js +7 -134
- package/dist/commonjs/components/BrandCircleIcon.js +73 -118
- package/dist/commonjs/components/BrandSquareIcon.js +63 -108
- package/dist/commonjs/components/CodeSnippet.js +48 -623
- package/dist/commonjs/components/ConsoleLogCard.js +63 -537
- package/dist/commonjs/components/CopyButton.js +3 -89
- package/dist/commonjs/components/DiffViewer.js +19 -83
- package/dist/commonjs/components/DomainHeader.js +27 -127
- package/dist/commonjs/components/EmptyState.d.ts +1 -0
- package/dist/commonjs/components/EmptyState.js +10 -87
- package/dist/commonjs/components/EndOfListFooter.js +7 -81
- package/dist/commonjs/components/ErrorBoundary.js +72 -566
- package/dist/commonjs/components/HeadersSection.js +31 -110
- package/dist/commonjs/components/HighlightText.js +17 -58
- package/dist/commonjs/components/Inspector/AboutModal.d.ts +6 -0
- package/dist/commonjs/components/Inspector/AboutModal.js +351 -0
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +98 -797
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +284 -930
- package/dist/commonjs/components/Inspector/BundleTab.js +551 -2918
- package/dist/commonjs/components/Inspector/ConsoleTab.js +79 -492
- package/dist/commonjs/components/Inspector/CrashDetail.js +123 -672
- package/dist/commonjs/components/Inspector/CrashFilterModal.js +66 -498
- package/dist/commonjs/components/Inspector/CrashTab.js +98 -670
- package/dist/commonjs/components/Inspector/DebuggingTab.js +64 -871
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +143 -907
- package/dist/commonjs/components/Inspector/FabLauncher.js +85 -54
- package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +6 -99
- package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +9 -0
- package/dist/commonjs/components/Inspector/FeedbackModal.js +167 -521
- package/dist/commonjs/components/Inspector/InspectorContext.js +1 -21
- package/dist/commonjs/components/Inspector/InspectorHeader.js +219 -1093
- package/dist/commonjs/components/Inspector/LogDetail.js +168 -994
- package/dist/commonjs/components/Inspector/MainScreen.js +60 -332
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +136 -278
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +134 -361
- package/dist/commonjs/components/Inspector/NavigationTracker.js +1 -12
- package/dist/commonjs/components/Inspector/NetworkDetail.js +96 -432
- package/dist/commonjs/components/Inspector/NetworkFilterModal.js +60 -576
- package/dist/commonjs/components/Inspector/NetworkTab.js +84 -514
- package/dist/commonjs/components/Inspector/NpmStarPrompt.js +17 -433
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +25 -298
- package/dist/commonjs/components/Inspector/PerformanceTab.js +182 -1397
- package/dist/commonjs/components/Inspector/ReduxDetail.js +188 -1089
- package/dist/commonjs/components/Inspector/ReduxTab.js +85 -701
- package/dist/commonjs/components/Inspector/SettingsPanel.js +431 -3431
- package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +11 -180
- package/dist/commonjs/components/Inspector/StorageTab.js +93 -826
- package/dist/commonjs/components/Inspector/TabBar.js +47 -183
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +34 -408
- package/dist/commonjs/components/JsonViewer.js +168 -380
- package/dist/commonjs/components/LogCard.js +57 -567
- package/dist/commonjs/components/LogSyntaxHighlighter.js +11 -130
- package/dist/commonjs/components/MetaAccordion.js +69 -238
- package/dist/commonjs/components/MiniBarChart.js +3 -56
- package/dist/commonjs/components/MiniLineChart.js +3 -58
- package/dist/commonjs/components/NetworkIcons.d.ts +7 -0
- package/dist/commonjs/components/NetworkIcons.js +479 -997
- package/dist/commonjs/components/QRCodeView.js +5 -79
- package/dist/commonjs/components/SectionHeader.js +15 -37
- package/dist/commonjs/components/SegmentedTabs.js +7 -61
- package/dist/commonjs/components/SkeletonPlaceholder.js +11 -180
- package/dist/commonjs/components/Slider.js +15 -243
- package/dist/commonjs/components/SourcePageCard.js +30 -89
- package/dist/commonjs/components/Toast.js +5 -147
- package/dist/commonjs/components/TouchableScale.js +3 -24
- package/dist/commonjs/components/TreeNode.js +55 -130
- package/dist/commonjs/console.js +1 -16
- package/dist/commonjs/constants/index.js +1 -32
- package/dist/commonjs/constants/telemetryConfig.js +1 -6
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -4
- package/dist/commonjs/crash.js +1 -23
- package/dist/commonjs/customHooks/analyticsLogger.js +1 -250
- package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -957
- package/dist/commonjs/customHooks/consoleLogger.js +6 -445
- package/dist/commonjs/customHooks/crashHandler.js +7 -656
- package/dist/commonjs/customHooks/logFilters.js +1 -23
- package/dist/commonjs/customHooks/networkLogger.js +2 -536
- package/dist/commonjs/customHooks/performanceTracker.js +63 -750
- package/dist/commonjs/customHooks/reduxLogger.js +2 -313
- package/dist/commonjs/customHooks/storageInspector.js +1 -435
- package/dist/commonjs/customHooks/useAccordion.js +1 -18
- package/dist/commonjs/decorators/index.js +1 -100
- package/dist/commonjs/helpers/gaAnalyticsRegistry.js +1 -148
- package/dist/commonjs/helpers/index.js +8 -921
- package/dist/commonjs/helpers/memoryManager.js +1 -99
- package/dist/commonjs/helpers/qrGenerator.js +1 -367
- package/dist/commonjs/helpers/remoteConfig.js +1 -165
- package/dist/commonjs/helpers/searchQueryParser.js +1 -62
- package/dist/commonjs/helpers/settingsStore.js +1 -144
- package/dist/commonjs/helpers/telemetry.js +1 -501
- package/dist/commonjs/helpers/toast.js +1 -20
- package/dist/commonjs/i18n/index.js +1 -90
- package/dist/commonjs/i18n/locales/en.json +1 -1122
- package/dist/commonjs/index.js +5 -2153
- package/dist/commonjs/metro.js +6 -468
- package/dist/commonjs/native/NativeInspector.d.ts +3 -0
- package/dist/commonjs/native/NativeInspector.js +1 -402
- package/dist/commonjs/native/NativeNetworkInspector.d.ts +1 -0
- package/dist/commonjs/native/NativeNetworkInspector.js +1 -4
- package/dist/commonjs/network.js +1 -13
- package/dist/commonjs/performance.js +1 -29
- package/dist/commonjs/redux.js +1 -20
- package/dist/commonjs/storage.js +1 -14
- package/dist/commonjs/styles/AppColors.js +1 -423
- package/dist/commonjs/styles/AppFonts.js +1 -17
- package/dist/commonjs/styles/common.js +1 -190
- package/dist/commonjs/styles/index.d.ts +6 -0
- package/dist/commonjs/styles/index.js +1 -1589
- package/dist/commonjs/types/enums.d.ts +2 -1
- package/dist/commonjs/types/enums.js +1 -150
- package/dist/commonjs/types/index.js +1 -18
- package/dist/commonjs/types/interfaces.d.ts +7 -0
- package/dist/commonjs/types/interfaces.js +1 -2
- package/dist/esm/analytics.js +1 -2
- package/dist/esm/bundle.js +1 -2
- package/dist/esm/capture.d.ts +2 -0
- package/dist/esm/capture.js +1 -29
- package/dist/esm/components/AnalyticsDetail.js +171 -664
- package/dist/esm/components/AnalyticsEventCard.js +77 -335
- package/dist/esm/components/AnalyticsGraph.js +95 -357
- package/dist/esm/components/AnimatedEntrance.js +1 -6
- package/dist/esm/components/AppHeaderLogo.js +7 -94
- package/dist/esm/components/BrandCircleIcon.js +114 -119
- package/dist/esm/components/BrandSquareIcon.js +73 -78
- package/dist/esm/components/CodeSnippet.js +58 -595
- package/dist/esm/components/ConsoleLogCard.js +91 -526
- package/dist/esm/components/CopyButton.js +3 -51
- package/dist/esm/components/DiffViewer.js +22 -48
- package/dist/esm/components/DomainHeader.js +43 -138
- package/dist/esm/components/EmptyState.d.ts +1 -0
- package/dist/esm/components/EmptyState.js +17 -56
- package/dist/esm/components/EndOfListFooter.js +15 -83
- package/dist/esm/components/ErrorBoundary.js +125 -582
- package/dist/esm/components/HeadersSection.js +52 -93
- package/dist/esm/components/HighlightText.js +17 -53
- package/dist/esm/components/Inspector/AboutModal.d.ts +6 -0
- package/dist/esm/components/Inspector/AboutModal.js +351 -0
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +225 -886
- package/dist/esm/components/Inspector/AnalyticsTab.js +296 -904
- package/dist/esm/components/Inspector/BundleTab.js +1175 -3502
- package/dist/esm/components/Inspector/ConsoleTab.js +113 -488
- package/dist/esm/components/Inspector/CrashDetail.js +236 -747
- package/dist/esm/components/Inspector/CrashFilterModal.js +149 -541
- package/dist/esm/components/Inspector/CrashTab.js +177 -711
- package/dist/esm/components/Inspector/DebuggingTab.js +156 -923
- package/dist/esm/components/Inspector/DeviceInfoTab.js +199 -924
- package/dist/esm/components/Inspector/FabLauncher.js +85 -49
- package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +14 -70
- package/dist/esm/components/Inspector/FeedbackModal.d.ts +9 -0
- package/dist/esm/components/Inspector/FeedbackModal.js +182 -499
- package/dist/esm/components/Inspector/InspectorContext.js +1 -12
- package/dist/esm/components/Inspector/InspectorHeader.js +309 -1145
- package/dist/esm/components/Inspector/LogDetail.js +235 -1023
- package/dist/esm/components/Inspector/MainScreen.js +86 -320
- package/dist/esm/components/Inspector/MediaGalleryTab.js +157 -259
- package/dist/esm/components/Inspector/MediaPreviewModal.js +153 -340
- package/dist/esm/components/Inspector/NavigationTracker.js +1 -10
- package/dist/esm/components/Inspector/NetworkDetail.js +141 -472
- package/dist/esm/components/Inspector/NetworkFilterModal.js +122 -597
- package/dist/esm/components/Inspector/NetworkTab.js +125 -517
- package/dist/esm/components/Inspector/NpmStarPrompt.js +58 -434
- package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -281
- package/dist/esm/components/Inspector/PerformanceTab.js +393 -1570
- package/dist/esm/components/Inspector/ReduxDetail.js +307 -1170
- package/dist/esm/components/Inspector/ReduxTab.js +144 -722
- package/dist/esm/components/Inspector/SettingsPanel.js +647 -3609
- package/dist/esm/components/Inspector/SkeletonPlaceholder.js +30 -163
- package/dist/esm/components/Inspector/StorageTab.js +172 -866
- package/dist/esm/components/Inspector/TabBar.js +52 -183
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +79 -416
- package/dist/esm/components/JsonViewer.js +179 -353
- package/dist/esm/components/LogCard.js +93 -565
- package/dist/esm/components/LogSyntaxHighlighter.js +11 -123
- package/dist/esm/components/MetaAccordion.js +136 -267
- package/dist/esm/components/MiniBarChart.js +3 -18
- package/dist/esm/components/MiniLineChart.js +3 -20
- package/dist/esm/components/NetworkIcons.d.ts +7 -0
- package/dist/esm/components/NetworkIcons.js +481 -817
- package/dist/esm/components/QRCodeView.js +8 -45
- package/dist/esm/components/SectionHeader.js +22 -39
- package/dist/esm/components/SegmentedTabs.js +8 -57
- package/dist/esm/components/SkeletonPlaceholder.js +30 -163
- package/dist/esm/components/Slider.js +24 -213
- package/dist/esm/components/SourcePageCard.js +65 -86
- package/dist/esm/components/Toast.js +10 -117
- package/dist/esm/components/TouchableScale.js +3 -19
- package/dist/esm/components/TreeNode.js +58 -95
- package/dist/esm/console.js +1 -2
- package/dist/esm/constants/index.js +1 -28
- package/dist/esm/constants/telemetryConfig.js +1 -3
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/crash.js +1 -2
- package/dist/esm/customHooks/analyticsLogger.js +1 -230
- package/dist/esm/customHooks/bundleAnalyzer.js +1 -944
- package/dist/esm/customHooks/consoleLogger.js +6 -432
- package/dist/esm/customHooks/crashHandler.js +7 -630
- package/dist/esm/customHooks/logFilters.js +1 -20
- package/dist/esm/customHooks/networkLogger.js +2 -519
- package/dist/esm/customHooks/performanceTracker.js +63 -723
- package/dist/esm/customHooks/reduxLogger.js +2 -293
- package/dist/esm/customHooks/storageInspector.js +1 -418
- package/dist/esm/customHooks/useAccordion.js +1 -16
- package/dist/esm/decorators/index.js +1 -95
- package/dist/esm/helpers/gaAnalyticsRegistry.js +1 -143
- package/dist/esm/helpers/index.js +8 -861
- package/dist/esm/helpers/memoryManager.js +1 -91
- package/dist/esm/helpers/qrGenerator.js +1 -364
- package/dist/esm/helpers/remoteConfig.js +1 -160
- package/dist/esm/helpers/searchQueryParser.js +1 -59
- package/dist/esm/helpers/settingsStore.js +1 -134
- package/dist/esm/helpers/telemetry.js +1 -489
- package/dist/esm/helpers/toast.js +1 -15
- package/dist/esm/i18n/index.js +1 -78
- package/dist/esm/i18n/locales/en.json +1 -1122
- package/dist/esm/index.js +7 -1967
- package/dist/esm/metro.js +6 -459
- package/dist/esm/native/NativeInspector.d.ts +3 -0
- package/dist/esm/native/NativeInspector.js +1 -370
- package/dist/esm/native/NativeNetworkInspector.d.ts +1 -0
- package/dist/esm/native/NativeNetworkInspector.js +1 -2
- package/dist/esm/network.js +1 -1
- package/dist/esm/performance.js +1 -2
- package/dist/esm/redux.js +1 -1
- package/dist/esm/storage.js +1 -1
- package/dist/esm/styles/AppColors.js +1 -417
- package/dist/esm/styles/AppFonts.js +1 -13
- package/dist/esm/styles/common.js +1 -186
- package/dist/esm/styles/index.d.ts +6 -0
- package/dist/esm/styles/index.js +1 -1551
- package/dist/esm/types/enums.d.ts +2 -1
- package/dist/esm/types/enums.js +1 -147
- package/dist/esm/types/index.js +1 -2
- package/dist/esm/types/interfaces.d.ts +7 -0
- package/dist/esm/types/interfaces.js +1 -1
- package/ios/NetworkInspectorModule.mm +253 -136
- package/package.json +5 -3
- package/react-native-inapp-inspector.podspec +1 -1
- package/src/native/NativeInspector.ts +17 -0
- package/src/native/NativeNetworkInspector.ts +1 -0
- package/src/analytics.ts +0 -35
- package/src/bundle.ts +0 -25
- package/src/capture.ts +0 -101
- package/src/components/AnalyticsDetail.tsx +0 -870
- package/src/components/AnalyticsEventCard.tsx +0 -444
- package/src/components/AnalyticsGraph.tsx +0 -583
- package/src/components/AnimatedEntrance.tsx +0 -20
- package/src/components/AppHeaderLogo.tsx +0 -143
- package/src/components/BrandCircleIcon.tsx +0 -144
- package/src/components/BrandSquareIcon.tsx +0 -184
- package/src/components/CodeSnippet.tsx +0 -725
- package/src/components/ConsoleLogCard.tsx +0 -679
- package/src/components/CopyButton.tsx +0 -87
- package/src/components/DiffViewer.tsx +0 -82
- package/src/components/DomainHeader.tsx +0 -224
- package/src/components/EmptyState.tsx +0 -95
- package/src/components/EndOfListFooter.tsx +0 -100
- package/src/components/ErrorBoundary.tsx +0 -688
- package/src/components/HeadersSection.tsx +0 -172
- package/src/components/HighlightText.tsx +0 -100
- package/src/components/Inspector/AnalyticsFilterModal.tsx +0 -1250
- package/src/components/Inspector/AnalyticsTab.tsx +0 -1362
- package/src/components/Inspector/BundleTab.tsx +0 -4768
- package/src/components/Inspector/ConsoleTab.tsx +0 -726
- package/src/components/Inspector/CrashDetail.tsx +0 -997
- package/src/components/Inspector/CrashFilterModal.tsx +0 -721
- package/src/components/Inspector/CrashTab.tsx +0 -933
- package/src/components/Inspector/DebuggingTab.tsx +0 -1103
- package/src/components/Inspector/DeviceInfoTab.tsx +0 -1397
- package/src/components/Inspector/FabLauncher.tsx +0 -80
- package/src/components/Inspector/FeatureUnderDevNotice.tsx +0 -94
- package/src/components/Inspector/FeedbackModal.tsx +0 -626
- package/src/components/Inspector/InspectorContext.tsx +0 -28
- package/src/components/Inspector/InspectorHeader.tsx +0 -1545
- package/src/components/Inspector/LogDetail.tsx +0 -1431
- package/src/components/Inspector/MainScreen.tsx +0 -459
- package/src/components/Inspector/MediaGalleryTab.tsx +0 -355
- package/src/components/Inspector/MediaPreviewModal.tsx +0 -435
- package/src/components/Inspector/NavigationTracker.tsx +0 -13
- package/src/components/Inspector/NetworkDetail.tsx +0 -795
- package/src/components/Inspector/NetworkFilterModal.tsx +0 -730
- package/src/components/Inspector/NetworkTab.tsx +0 -820
- package/src/components/Inspector/NpmStarPrompt.tsx +0 -532
- package/src/components/Inspector/NpmUpdateToast.tsx +0 -387
- package/src/components/Inspector/PerformanceTab.tsx +0 -1967
- package/src/components/Inspector/ReduxDetail.tsx +0 -1651
- package/src/components/Inspector/ReduxTab.tsx +0 -987
- package/src/components/Inspector/SettingsPanel.tsx +0 -4580
- package/src/components/Inspector/SkeletonPlaceholder.tsx +0 -206
- package/src/components/Inspector/StorageTab.tsx +0 -1159
- package/src/components/Inspector/TabBar.tsx +0 -263
- package/src/components/Inspector/UpdateAvailableModal.tsx +0 -555
- package/src/components/JsonViewer.tsx +0 -547
- package/src/components/LogCard.tsx +0 -694
- package/src/components/LogSyntaxHighlighter.tsx +0 -178
- package/src/components/MetaAccordion.tsx +0 -355
- package/src/components/MiniBarChart.tsx +0 -42
- package/src/components/MiniLineChart.tsx +0 -33
- package/src/components/NetworkIcons.tsx +0 -2599
- package/src/components/QRCodeView.tsx +0 -75
- package/src/components/SectionHeader.tsx +0 -101
- package/src/components/SegmentedTabs.tsx +0 -83
- package/src/components/SkeletonPlaceholder.tsx +0 -206
- package/src/components/Slider.tsx +0 -300
- package/src/components/SourcePageCard.tsx +0 -150
- package/src/components/Toast.tsx +0 -131
- package/src/components/TouchableScale.tsx +0 -61
- package/src/components/TreeNode.tsx +0 -171
- package/src/console.ts +0 -24
- package/src/constants/index.ts +0 -41
- package/src/constants/telemetryConfig.ts +0 -4
- package/src/constants/version.ts +0 -3
- package/src/crash.ts +0 -32
- package/src/customHooks/analyticsLogger.ts +0 -336
- package/src/customHooks/bundleAnalyzer.ts +0 -1256
- package/src/customHooks/consoleLogger.ts +0 -530
- package/src/customHooks/crashHandler.ts +0 -944
- package/src/customHooks/logFilters.ts +0 -32
- package/src/customHooks/networkLogger.ts +0 -624
- package/src/customHooks/performanceTracker.ts +0 -1014
- package/src/customHooks/reduxLogger.ts +0 -406
- package/src/customHooks/storageInspector.ts +0 -513
- package/src/customHooks/useAccordion.tsx +0 -27
- package/src/decorators/index.ts +0 -184
- package/src/helpers/gaAnalyticsRegistry.ts +0 -204
- package/src/helpers/index.ts +0 -1092
- package/src/helpers/memoryManager.ts +0 -138
- package/src/helpers/qrGenerator.ts +0 -430
- package/src/helpers/remoteConfig.ts +0 -212
- package/src/helpers/searchQueryParser.ts +0 -84
- package/src/helpers/settingsStore.ts +0 -171
- package/src/helpers/telemetry.ts +0 -568
- package/src/helpers/toast.ts +0 -17
- package/src/i18n/index.ts +0 -104
- package/src/i18n/locales/en.json +0 -1125
- package/src/index.tsx +0 -2635
- package/src/metro.ts +0 -598
- package/src/network.ts +0 -22
- package/src/performance.ts +0 -38
- package/src/redux.ts +0 -23
- package/src/storage.ts +0 -18
- package/src/styles/AppColors.ts +0 -455
- package/src/styles/AppFonts.ts +0 -26
- package/src/styles/common.ts +0 -209
- package/src/styles/index.ts +0 -1606
- package/src/types/enums.ts +0 -208
- package/src/types/index.ts +0 -34
- package/src/types/interfaces.ts +0 -530
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import {ActiveTab} from '../types';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Supported Remote Config keys for each module:
|
|
5
|
-
*
|
|
6
|
-
* 1. JSON Configuration:
|
|
7
|
-
* - `inspector_modules` (e.g. `{"apis": true, "logs": true, "analytics": true, ...}`)
|
|
8
|
-
* - `inapp_inspector_modules`
|
|
9
|
-
*
|
|
10
|
-
* 2. Individual Boolean Keys:
|
|
11
|
-
* - `inspector_module_apis` / `inapp_inspector_apis` / `inspector_apis`
|
|
12
|
-
* - `inspector_module_logs` / `inapp_inspector_logs` / `inspector_logs`
|
|
13
|
-
* - `inspector_module_analytics` / `inapp_inspector_analytics` / `inspector_analytics`
|
|
14
|
-
* - `inspector_module_redux` / `inapp_inspector_redux` / `inspector_redux`
|
|
15
|
-
* - `inspector_module_storage` / `inapp_inspector_storage` / `inspector_storage`
|
|
16
|
-
* - `inspector_module_device` / `inapp_inspector_device` / `inspector_device`
|
|
17
|
-
* - `inspector_module_crash` / `inapp_inspector_crash` / `inspector_crash`
|
|
18
|
-
* - `inspector_module_bundle` / `inapp_inspector_bundle` / `inspector_bundle`
|
|
19
|
-
* - `inspector_module_performance` / `inapp_inspector_performance` / `inspector_performance`
|
|
20
|
-
* - `inspector_module_debugging` / `inapp_inspector_debugging` / `inspector_debugging`
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
const MODULE_KEYS: ActiveTab[] = [
|
|
24
|
-
'apis',
|
|
25
|
-
'logs',
|
|
26
|
-
'analytics',
|
|
27
|
-
'redux',
|
|
28
|
-
'storage',
|
|
29
|
-
'device',
|
|
30
|
-
'crash',
|
|
31
|
-
'bundle',
|
|
32
|
-
'performance',
|
|
33
|
-
'debugging',
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
let cachedRemoteConfigInstance: any = null;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Dynamically resolves Firebase Remote Config instance if installed.
|
|
40
|
-
*/
|
|
41
|
-
export function getFirebaseRemoteConfig(customInstance?: any): any {
|
|
42
|
-
if (customInstance && typeof customInstance === 'object') {
|
|
43
|
-
cachedRemoteConfigInstance = customInstance;
|
|
44
|
-
return customInstance;
|
|
45
|
-
}
|
|
46
|
-
if (cachedRemoteConfigInstance) {
|
|
47
|
-
return cachedRemoteConfigInstance;
|
|
48
|
-
}
|
|
49
|
-
try {
|
|
50
|
-
const rcModule = require('@react-native-firebase/remote-config');
|
|
51
|
-
const instance =
|
|
52
|
-
typeof rcModule.default === 'function'
|
|
53
|
-
? rcModule.default()
|
|
54
|
-
: typeof rcModule === 'function'
|
|
55
|
-
? rcModule()
|
|
56
|
-
: rcModule;
|
|
57
|
-
cachedRemoteConfigInstance = instance;
|
|
58
|
-
return instance;
|
|
59
|
-
} catch {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Checks if @react-native-firebase/remote-config is available in the environment.
|
|
66
|
-
*/
|
|
67
|
-
export function isFirebaseRemoteConfigAvailable(customInstance?: any): boolean {
|
|
68
|
-
return Boolean(getFirebaseRemoteConfig(customInstance));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Helper to extract a boolean or JSON value from a Firebase Remote Config parameter.
|
|
73
|
-
*/
|
|
74
|
-
function extractValue(val: any): any {
|
|
75
|
-
if (val === null || val === undefined) return undefined;
|
|
76
|
-
if (typeof val === 'boolean') return val;
|
|
77
|
-
if (typeof val === 'number') return val !== 0;
|
|
78
|
-
if (typeof val === 'string') {
|
|
79
|
-
const lower = val.trim().toLowerCase();
|
|
80
|
-
if (lower === 'true' || lower === '1' || lower === 'enabled' || lower === 'on') return true;
|
|
81
|
-
if (lower === 'false' || lower === '0' || lower === 'disabled' || lower === 'off') return false;
|
|
82
|
-
try {
|
|
83
|
-
return JSON.parse(val);
|
|
84
|
-
} catch {
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// Firebase Remote Config Value object with .asBoolean() or .asString()
|
|
89
|
-
if (typeof val.asBoolean === 'function') {
|
|
90
|
-
return val.asBoolean();
|
|
91
|
-
}
|
|
92
|
-
if (typeof val.asString === 'function') {
|
|
93
|
-
const str = val.asString();
|
|
94
|
-
const lower = str.trim().toLowerCase();
|
|
95
|
-
if (lower === 'true' || lower === '1' || lower === 'enabled' || lower === 'on') return true;
|
|
96
|
-
if (lower === 'false' || lower === '0' || lower === 'disabled' || lower === 'off') return false;
|
|
97
|
-
try {
|
|
98
|
-
return JSON.parse(str);
|
|
99
|
-
} catch {
|
|
100
|
-
return undefined;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
return undefined;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Fetches and activates latest values from Firebase Remote Config, then parses module enable/disable statuses.
|
|
108
|
-
* Returns a partial or complete mapping of module visibility flags, or null if Remote Config is unavailable.
|
|
109
|
-
*
|
|
110
|
-
* @param customInstance Optional custom remoteConfig instance from consumer app
|
|
111
|
-
* @param fetchTimeoutMs Timeout for fetch operation in ms (default: 8000)
|
|
112
|
-
*/
|
|
113
|
-
export async function fetchRemoteConfigModuleStatus(
|
|
114
|
-
customInstance?: any,
|
|
115
|
-
fetchTimeoutMs = 8000,
|
|
116
|
-
): Promise<Partial<Record<ActiveTab, boolean>> | null> {
|
|
117
|
-
const rc = getFirebaseRemoteConfig(customInstance);
|
|
118
|
-
if (!rc) {
|
|
119
|
-
return null;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
try {
|
|
123
|
-
// 1. Fetch & Activate with timeout protection
|
|
124
|
-
const fetchPromise = (async () => {
|
|
125
|
-
if (typeof rc.fetchAndActivate === 'function') {
|
|
126
|
-
await rc.fetchAndActivate();
|
|
127
|
-
} else {
|
|
128
|
-
if (typeof rc.fetch === 'function') {
|
|
129
|
-
await rc.fetch();
|
|
130
|
-
}
|
|
131
|
-
if (typeof rc.activate === 'function') {
|
|
132
|
-
await rc.activate();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
})();
|
|
136
|
-
|
|
137
|
-
const timeoutPromise = new Promise((_, reject) =>
|
|
138
|
-
setTimeout(() => reject(new Error('Remote Config fetch timeout')), fetchTimeoutMs),
|
|
139
|
-
);
|
|
140
|
-
|
|
141
|
-
await Promise.race([fetchPromise, timeoutPromise]).catch(() => {
|
|
142
|
-
// If network fetch fails/times out, we still read cached/activated values
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
// 2. Read values from Remote Config
|
|
146
|
-
const result: Partial<Record<ActiveTab, boolean>> = {};
|
|
147
|
-
|
|
148
|
-
// Check JSON bundle key first: `inspector_modules` or `inapp_inspector_modules`
|
|
149
|
-
const jsonKeys = [
|
|
150
|
-
'inspector_modules',
|
|
151
|
-
'inapp_inspector_modules',
|
|
152
|
-
'react_native_inapp_inspector_modules',
|
|
153
|
-
];
|
|
154
|
-
|
|
155
|
-
for (const jKey of jsonKeys) {
|
|
156
|
-
let rawVal: any;
|
|
157
|
-
if (typeof rc.getValue === 'function') {
|
|
158
|
-
try {
|
|
159
|
-
rawVal = rc.getValue(jKey);
|
|
160
|
-
} catch {}
|
|
161
|
-
} else if (rc[jKey] !== undefined) {
|
|
162
|
-
rawVal = rc[jKey];
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
const parsed = extractValue(rawVal);
|
|
166
|
-
if (parsed && typeof parsed === 'object') {
|
|
167
|
-
for (const modKey of MODULE_KEYS) {
|
|
168
|
-
if (typeof parsed[modKey] === 'boolean') {
|
|
169
|
-
result[modKey] = parsed[modKey];
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// Check individual module boolean flags (overrides JSON if explicitly defined)
|
|
176
|
-
for (const modKey of MODULE_KEYS) {
|
|
177
|
-
const paramKeys = [
|
|
178
|
-
`inspector_module_${modKey}`,
|
|
179
|
-
`inapp_inspector_${modKey}`,
|
|
180
|
-
`inspector_${modKey}`,
|
|
181
|
-
`inapp_inspector_module_${modKey}`,
|
|
182
|
-
`rn_inspector_${modKey}`,
|
|
183
|
-
];
|
|
184
|
-
|
|
185
|
-
for (const pKey of paramKeys) {
|
|
186
|
-
let rawVal: any;
|
|
187
|
-
if (typeof rc.getValue === 'function') {
|
|
188
|
-
try {
|
|
189
|
-
rawVal = rc.getValue(pKey);
|
|
190
|
-
} catch {}
|
|
191
|
-
} else if (rc[pKey] !== undefined) {
|
|
192
|
-
rawVal = rc[pKey];
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
const boolVal = extractValue(rawVal);
|
|
196
|
-
if (typeof boolVal === 'boolean') {
|
|
197
|
-
result[modKey] = boolVal;
|
|
198
|
-
break;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
// APIs module is fundamental core, keep true unless explicitly disabled via remote config
|
|
204
|
-
if (result.apis === undefined) {
|
|
205
|
-
result.apis = true;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
return Object.keys(result).length > 0 ? result : null;
|
|
209
|
-
} catch (error) {
|
|
210
|
-
return null;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import {NetworkLog, SearchScope} from '../types';
|
|
2
|
-
import {markSearchFilterUsed} from './telemetry';
|
|
3
|
-
|
|
4
|
-
export interface SearchQueryOptions {
|
|
5
|
-
scope?: SearchScope;
|
|
6
|
-
isRegex?: boolean;
|
|
7
|
-
isCaseSensitive?: boolean;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Universal substring search for NetworkLog.
|
|
12
|
-
* Checks whether a given NetworkLog matches all query keywords across all log fields.
|
|
13
|
-
*/
|
|
14
|
-
export function matchNetworkLogQuery(
|
|
15
|
-
log: NetworkLog,
|
|
16
|
-
searchQuery: string,
|
|
17
|
-
routePath?: string,
|
|
18
|
-
_options?: SearchQueryOptions,
|
|
19
|
-
): boolean {
|
|
20
|
-
if (!searchQuery || searchQuery.trim().length === 0) return true;
|
|
21
|
-
|
|
22
|
-
markSearchFilterUsed();
|
|
23
|
-
|
|
24
|
-
const rawTokens = searchQuery.trim().toLowerCase().split(/\s+/).filter(Boolean);
|
|
25
|
-
if (rawTokens.length === 0) return true;
|
|
26
|
-
|
|
27
|
-
const methodRaw = (log.method || '').toLowerCase();
|
|
28
|
-
const urlRaw = (log.url || '').toLowerCase();
|
|
29
|
-
const statusStr = log.status != null ? String(log.status).toLowerCase() : 'pending';
|
|
30
|
-
const statusNum =
|
|
31
|
-
typeof log.status === 'number'
|
|
32
|
-
? log.status
|
|
33
|
-
: log.status != null
|
|
34
|
-
? parseInt(String(log.status), 10)
|
|
35
|
-
: null;
|
|
36
|
-
const clientRaw = (log.client || '').toLowerCase();
|
|
37
|
-
const callerRaw = (log.caller || '').toLowerCase();
|
|
38
|
-
const pathRaw = (routePath || (log as any)?.routeInfo?.path || '').toLowerCase();
|
|
39
|
-
|
|
40
|
-
const reqRaw =
|
|
41
|
-
typeof log.request === 'string'
|
|
42
|
-
? log.request.toLowerCase()
|
|
43
|
-
: log.request != null
|
|
44
|
-
? JSON.stringify(log.request).toLowerCase()
|
|
45
|
-
: '';
|
|
46
|
-
const resRaw =
|
|
47
|
-
typeof log.response === 'string'
|
|
48
|
-
? log.response.toLowerCase()
|
|
49
|
-
: log.response != null
|
|
50
|
-
? JSON.stringify(log.response).toLowerCase()
|
|
51
|
-
: '';
|
|
52
|
-
const reqHeadersRaw = log.requestHeaders
|
|
53
|
-
? JSON.stringify(log.requestHeaders).toLowerCase()
|
|
54
|
-
: '';
|
|
55
|
-
const resHeadersRaw = log.responseHeaders
|
|
56
|
-
? JSON.stringify(log.responseHeaders).toLowerCase()
|
|
57
|
-
: '';
|
|
58
|
-
|
|
59
|
-
const corpus = [
|
|
60
|
-
methodRaw,
|
|
61
|
-
urlRaw,
|
|
62
|
-
statusStr,
|
|
63
|
-
pathRaw,
|
|
64
|
-
callerRaw,
|
|
65
|
-
clientRaw,
|
|
66
|
-
reqRaw,
|
|
67
|
-
resRaw,
|
|
68
|
-
reqHeadersRaw,
|
|
69
|
-
resHeadersRaw,
|
|
70
|
-
].join(' ');
|
|
71
|
-
|
|
72
|
-
return rawTokens.every(token => {
|
|
73
|
-
if (corpus.includes(token)) return true;
|
|
74
|
-
// Error status keywords
|
|
75
|
-
if (token === 'error' || token === 'failed' || token === 'err' || token === 'fail') {
|
|
76
|
-
return log.status === 0 || (statusNum !== null && statusNum >= 400);
|
|
77
|
-
}
|
|
78
|
-
// Success status keywords
|
|
79
|
-
if (token === 'success' || token === 'ok' || token === '2xx') {
|
|
80
|
-
return statusNum !== null && statusNum >= 200 && statusNum < 300;
|
|
81
|
-
}
|
|
82
|
-
return false;
|
|
83
|
-
});
|
|
84
|
-
}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
// #5 — Persistence layer for the inspector's settings selections.
|
|
2
|
-
//
|
|
3
|
-
// Backed by iOS Settings (NSUserDefaults) for iOS, or custom storage if passed (e.g. AsyncStorage/MMKV).
|
|
4
|
-
// Contains an in-memory fallback for Android or Jest test environments.
|
|
5
|
-
|
|
6
|
-
import { Platform, Settings } from 'react-native';
|
|
7
|
-
import {InspectorStorage, PersistedSettings} from '../types';
|
|
8
|
-
import {
|
|
9
|
-
getNativeStorageItem,
|
|
10
|
-
setNativeStorageItem,
|
|
11
|
-
isNativeModuleAvailable,
|
|
12
|
-
} from '../native/NativeInspector';
|
|
13
|
-
|
|
14
|
-
export {InspectorStorage, PersistedSettings};
|
|
15
|
-
|
|
16
|
-
// In-memory fallback (settings survive for the app session only).
|
|
17
|
-
const memory = new Map<string, string>();
|
|
18
|
-
|
|
19
|
-
let customStorage: InspectorStorage | null = null;
|
|
20
|
-
|
|
21
|
-
export function setCustomStorage(storage: InspectorStorage | null) {
|
|
22
|
-
customStorage = storage;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const SETTINGS_KEY = 'rn-inapp-inspector.settings.v1';
|
|
26
|
-
|
|
27
|
-
export async function loadSettings(): Promise<PersistedSettings> {
|
|
28
|
-
try {
|
|
29
|
-
if (customStorage) {
|
|
30
|
-
const raw = await customStorage.getItem(SETTINGS_KEY);
|
|
31
|
-
if (!raw) return {};
|
|
32
|
-
const parsed = JSON.parse(raw);
|
|
33
|
-
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (isNativeModuleAvailable()) {
|
|
37
|
-
const raw = await getNativeStorageItem(SETTINGS_KEY);
|
|
38
|
-
if (raw) {
|
|
39
|
-
const parsed = JSON.parse(raw);
|
|
40
|
-
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (Platform.OS === 'ios') {
|
|
45
|
-
const raw = Settings.get(SETTINGS_KEY);
|
|
46
|
-
if (!raw) return {};
|
|
47
|
-
if (typeof raw === 'string') {
|
|
48
|
-
const parsed = JSON.parse(raw);
|
|
49
|
-
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
50
|
-
}
|
|
51
|
-
return raw && typeof raw === 'object' ? raw : {};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// In-memory fallback
|
|
55
|
-
const raw = memory.get(SETTINGS_KEY);
|
|
56
|
-
if (!raw) return {};
|
|
57
|
-
const parsed = JSON.parse(raw);
|
|
58
|
-
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
59
|
-
} catch {
|
|
60
|
-
return {};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export function saveSettings(settings: PersistedSettings): void {
|
|
65
|
-
try {
|
|
66
|
-
const raw = JSON.stringify(settings);
|
|
67
|
-
|
|
68
|
-
if (customStorage) {
|
|
69
|
-
customStorage.setItem(SETTINGS_KEY, raw);
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (isNativeModuleAvailable()) {
|
|
74
|
-
setNativeStorageItem(SETTINGS_KEY, raw);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
if (Platform.OS === 'ios') {
|
|
78
|
-
Settings.set({ [SETTINGS_KEY]: raw });
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
memory.set(SETTINGS_KEY, raw);
|
|
83
|
-
} catch {
|
|
84
|
-
// ignore
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export async function clearPersistedSettings(): Promise<void> {
|
|
89
|
-
try {
|
|
90
|
-
if (customStorage) {
|
|
91
|
-
if (typeof (customStorage as any).removeItem === 'function') {
|
|
92
|
-
await (customStorage as any).removeItem(SETTINGS_KEY);
|
|
93
|
-
} else {
|
|
94
|
-
await customStorage.setItem(SETTINGS_KEY, '');
|
|
95
|
-
}
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (isNativeModuleAvailable()) {
|
|
100
|
-
await setNativeStorageItem(SETTINGS_KEY, null);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (Platform.OS === 'ios') {
|
|
104
|
-
Settings.set({ [SETTINGS_KEY]: null });
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
memory.delete(SETTINGS_KEY);
|
|
109
|
-
} catch {
|
|
110
|
-
// ignore
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export const isPersistentStorageAvailable = () => {
|
|
115
|
-
return customStorage !== null || isNativeModuleAvailable() || Platform.OS === 'ios';
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export function getCustomStorage(): InspectorStorage | null {
|
|
119
|
-
return customStorage;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export interface RamLimitsProfile {
|
|
123
|
-
maxNetworkLogs: number;
|
|
124
|
-
maxConsoleLogs: number;
|
|
125
|
-
maxAnalyticsEvents: number;
|
|
126
|
-
maxCrashRecords: number;
|
|
127
|
-
profileName: 'High-End' | 'Standard' | 'Compact' | 'Ultra-Light';
|
|
128
|
-
freeRamMb: number;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export function calculateRamBasedLimits(freeRamMb: number): RamLimitsProfile {
|
|
132
|
-
if (freeRamMb >= 3000) {
|
|
133
|
-
return {
|
|
134
|
-
maxNetworkLogs: 100,
|
|
135
|
-
maxConsoleLogs: 100,
|
|
136
|
-
maxAnalyticsEvents: 75,
|
|
137
|
-
maxCrashRecords: 50,
|
|
138
|
-
profileName: 'High-End',
|
|
139
|
-
freeRamMb,
|
|
140
|
-
};
|
|
141
|
-
} else if (freeRamMb >= 1500) {
|
|
142
|
-
return {
|
|
143
|
-
maxNetworkLogs: 100,
|
|
144
|
-
maxConsoleLogs: 100,
|
|
145
|
-
maxAnalyticsEvents: 75,
|
|
146
|
-
maxCrashRecords: 50,
|
|
147
|
-
profileName: 'Standard',
|
|
148
|
-
freeRamMb,
|
|
149
|
-
};
|
|
150
|
-
} else if (freeRamMb >= 600) {
|
|
151
|
-
return {
|
|
152
|
-
maxNetworkLogs: 100,
|
|
153
|
-
maxConsoleLogs: 100,
|
|
154
|
-
maxAnalyticsEvents: 50,
|
|
155
|
-
maxCrashRecords: 25,
|
|
156
|
-
profileName: 'Compact',
|
|
157
|
-
freeRamMb,
|
|
158
|
-
};
|
|
159
|
-
} else {
|
|
160
|
-
return {
|
|
161
|
-
maxNetworkLogs: 50,
|
|
162
|
-
maxConsoleLogs: 50,
|
|
163
|
-
maxAnalyticsEvents: 25,
|
|
164
|
-
maxCrashRecords: 15,
|
|
165
|
-
profileName: 'Ultra-Light',
|
|
166
|
-
freeRamMb,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
|