react-native-inapp-inspector 2.5.7 → 2.5.9
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/README.md +19 -0
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
- package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.2.0/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
- package/android/build/reports/problems/problems-report.html +659 -0
- package/dist/commonjs/components/BrandCircleIcon.js +8 -3
- package/dist/commonjs/components/ConsoleLogCard.js +13 -13
- package/dist/commonjs/components/Inspector/ConsoleTab.js +5 -5
- package/dist/commonjs/components/Inspector/FabLauncher.js +8 -8
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
- package/dist/commonjs/components/Inspector/InspectorHeader.js +30 -45
- package/dist/commonjs/components/Inspector/MainScreen.js +1 -1
- package/dist/commonjs/components/Inspector/NetworkTab.js +48 -48
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +5 -5
- package/dist/commonjs/components/Inspector/TabBar.js +5 -5
- package/dist/commonjs/components/LogCard.d.ts +1 -1
- package/dist/commonjs/components/LogCard.js +16 -16
- package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
- package/dist/commonjs/constants/telemetryConfig.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/networkLogger.d.ts +1 -17
- package/dist/commonjs/customHooks/networkLogger.js +1 -1
- package/dist/commonjs/index.js +1 -1
- package/dist/commonjs/styles/index.d.ts +3 -0
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/interfaces.d.ts +6 -2
- package/dist/esm/components/BrandCircleIcon.js +9 -4
- package/dist/esm/components/ConsoleLogCard.js +13 -13
- package/dist/esm/components/Inspector/ConsoleTab.js +9 -9
- package/dist/esm/components/Inspector/FabLauncher.js +1 -1
- package/dist/esm/components/Inspector/FloatingCaptureWidget.js +9 -9
- package/dist/esm/components/Inspector/InspectorHeader.js +84 -99
- package/dist/esm/components/Inspector/MainScreen.js +1 -1
- package/dist/esm/components/Inspector/NetworkTab.js +132 -132
- package/dist/esm/components/Inspector/NpmUpdateToast.js +18 -18
- package/dist/esm/components/Inspector/TabBar.js +23 -23
- package/dist/esm/components/LogCard.d.ts +1 -1
- package/dist/esm/components/LogCard.js +24 -24
- package/dist/esm/constants/telemetryConfig.d.ts +3 -3
- package/dist/esm/constants/telemetryConfig.js +1 -1
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/networkLogger.d.ts +1 -17
- package/dist/esm/customHooks/networkLogger.js +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/styles/index.d.ts +3 -0
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/interfaces.d.ts +6 -2
- package/package.json +8 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,t,i,o){o===void 0&&(o=i);var n=Object.getOwnPropertyDescriptor(t,i);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(r,o,n)}):(function(r,t,i,o){o===void 0&&(o=i),r[o]=t[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,t){Object.defineProperty(r,"default",{enumerable:!0,value:t})}):function(r,t){r.default=t}),__importStar=this&&this.__importStar||(function(){var r=function(t){return r=Object.getOwnPropertyNames||function(i){var o=[];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(o[o.length]=n);return o},r(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(t!=null)for(var o=r(t),n=0;n<o.length;n++)o[n]!=="default"&&__createBinding(i,t,o[n]);return __setModuleDefault(i,t),i}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),NetworkIcons_1=require("../NetworkIcons"),reduxLogger_1=require("../../customHooks/reduxLogger"),analyticsLogger_1=require("../../customHooks/analyticsLogger"),helpers_1=require("../../helpers"),HEADER_TAB_THEME={themeColor:AppColors_1.AppColors.brandPurple,bgInactive:`${AppColors_1.AppColors.brandPurple}0D`,borderInactive:`${AppColors_1.AppColors.brandPurple}2B`,iconInactive:AppColors_1.AppColors.brandPurple,idBadgeBg:`${AppColors_1.AppColors.brandPurple}1C`,idBadgeBorder:`${AppColors_1.AppColors.brandPurple}3D`,idBadgeText:AppColors_1.AppColors.brandPurple},TAB_THEMES={apis:HEADER_TAB_THEME,logs:HEADER_TAB_THEME,analytics:HEADER_TAB_THEME,redux:HEADER_TAB_THEME,storage:HEADER_TAB_THEME,device:HEADER_TAB_THEME,crash:HEADER_TAB_THEME,push:HEADER_TAB_THEME,socket:HEADER_TAB_THEME,debugging:HEADER_TAB_THEME,media:HEADER_TAB_THEME},TabBar=react_1.default.memo(()=>{const{t:r}=(0,i18n_1.useTranslation)(),{activeTab:t,switchActiveTab:i,tabVisibility:o,logs:n,consoleLogs:y,analyticsEvents:m,crashRecords:f,pushRecords:C,socketRecords:b,unreadPushCount:S,unreadSocketCount:I,lastReadApisCount:T,lastReadLogsCount:x,lastReadCrashesCount:R,lastReadSocketCount:B,mediaCount:_}=(0,InspectorContext_1.useInspector)(),P=(0,reduxLogger_1.isReduxConnected)(),O=(0,analyticsLogger_1.isAnalyticsConnected)(),c=t==="media",g=(o?.media??!0)&&_>0,w=(0,react_1.useRef)(null),[h,
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,t,i,o){o===void 0&&(o=i);var n=Object.getOwnPropertyDescriptor(t,i);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(r,o,n)}):(function(r,t,i,o){o===void 0&&(o=i),r[o]=t[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,t){Object.defineProperty(r,"default",{enumerable:!0,value:t})}):function(r,t){r.default=t}),__importStar=this&&this.__importStar||(function(){var r=function(t){return r=Object.getOwnPropertyNames||function(i){var o=[];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(o[o.length]=n);return o},r(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(t!=null)for(var o=r(t),n=0;n<o.length;n++)o[n]!=="default"&&__createBinding(i,t,o[n]);return __setModuleDefault(i,t),i}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),NetworkIcons_1=require("../NetworkIcons"),reduxLogger_1=require("../../customHooks/reduxLogger"),analyticsLogger_1=require("../../customHooks/analyticsLogger"),helpers_1=require("../../helpers"),HEADER_TAB_THEME={themeColor:AppColors_1.AppColors.brandPurple,bgInactive:`${AppColors_1.AppColors.brandPurple}0D`,borderInactive:`${AppColors_1.AppColors.brandPurple}2B`,iconInactive:AppColors_1.AppColors.brandPurple,idBadgeBg:`${AppColors_1.AppColors.brandPurple}1C`,idBadgeBorder:`${AppColors_1.AppColors.brandPurple}3D`,idBadgeText:AppColors_1.AppColors.brandPurple},TAB_THEMES={apis:HEADER_TAB_THEME,logs:HEADER_TAB_THEME,analytics:HEADER_TAB_THEME,redux:HEADER_TAB_THEME,storage:HEADER_TAB_THEME,device:HEADER_TAB_THEME,crash:HEADER_TAB_THEME,push:HEADER_TAB_THEME,socket:HEADER_TAB_THEME,debugging:HEADER_TAB_THEME,media:HEADER_TAB_THEME},TabBar=react_1.default.memo(()=>{const{t:r}=(0,i18n_1.useTranslation)(),{activeTab:t,switchActiveTab:i,tabVisibility:o,logs:n,consoleLogs:y,analyticsEvents:m,crashRecords:f,pushRecords:C,socketRecords:b,unreadPushCount:S,unreadSocketCount:I,lastReadApisCount:T,lastReadLogsCount:x,lastReadCrashesCount:R,lastReadSocketCount:B,mediaCount:_}=(0,InspectorContext_1.useInspector)(),P=(0,reduxLogger_1.isReduxConnected)(),O=(0,analyticsLogger_1.isAnalyticsConnected)(),c=t==="media",g=(o?.media??!0)&&(_>0||c||__DEV__),w=(0,react_1.useRef)(null),[h,V]=(0,react_1.useState)(!1),[v,z]=(0,react_1.useState)(!0),A=(0,react_1.useRef)(0),L=e=>{const{contentOffset:s,layoutMeasurement:a,contentSize:l}=e.nativeEvent,d=s.x;A.current=d;const u=d>8,p=d<l.width-a.width-8;h!==u&&V(u),v!==p&&z(p)},k=e=>{w.current?.scrollTo({x:Math.max(0,A.current+e),animated:!0})};return<react_native_1.View style={[styles_1.default.tabBarContainer,{flexDirection:"row",alignItems:"center",paddingHorizontal:0}]}>
|
|
2
2
|
|
|
3
3
|
{h&&<react_native_1.TouchableOpacity onPress={()=>k(-160)}hitSlop={{top:6,bottom:6,left:6,right:6}}activeOpacity={.7}style={{paddingLeft:6,paddingRight:2,justifyContent:"center",alignItems:"center"}}>
|
|
4
4
|
<react_native_1.View style={{width:22,height:22,borderRadius:11,backgroundColor:AppColors_1.AppColors.grayBorderSecondary,alignItems:"center",justifyContent:"center"}}>
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
</react_native_1.TouchableOpacity>}
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
<react_native_1.ScrollView ref={w}horizontal showsHorizontalScrollIndicator={!1}onScroll={
|
|
11
|
-
{[{id:1,key:"apis",label:"APIs",count:n.length,icon:"apis"},{id:2,key:"logs",label:"Logs",count:y.length,icon:"logs"},{id:3,key:"analytics",label:"Analytics",count:m.length,icon:"analytics"},{id:4,key:"redux",label:"Redux",count:0,icon:"redux"},{id:5,key:"storage",label:"Storage",count:0,icon:"storage"},{id:6,key:"device",label:"Device",count:0,icon:"device"},{id:7,key:"crash",label:"Crash",count:f?.length||0,icon:"crash"},{id:8,key:"push",label:"Push",count:C?.length||0,icon:"push"},{id:9,key:"socket",label:"WebSocket",count:b?.length||0,icon:"socket"},{id:10,key:"debugging",label:"Debugging",count:0,icon:"debugging"}].filter(e=>e.key==="debugging"?react_native_1.Platform.OS==="android"&&(0,helpers_1.isLocalDebugEnvironment)()&&!!o?.debugging:!(!o?.[e.key]||e.key==="redux"&&!P||e.key==="analytics"&&!O)).map(e=>{const s=t===e.key,a=TAB_THEMES[e.key]||TAB_THEMES.apis,l=s?AppColors_1.AppColors.white:a.iconInactive,d=e.count>99?"99+":String(e.count),u=t!=="apis"&&n.length>T,p=t!=="logs"&&y.length>x,
|
|
10
|
+
<react_native_1.ScrollView testID="inspector.tab.scrollview"ref={w}horizontal showsHorizontalScrollIndicator={!1}onScroll={L}scrollEventThrottle={16}style={{flex:1}}contentContainerStyle={{paddingLeft:h?4:12,paddingRight:g?6:12}}>
|
|
11
|
+
{[{id:1,key:"apis",label:"APIs",count:n.length,icon:"apis"},{id:2,key:"logs",label:"Logs",count:y.length,icon:"logs"},{id:3,key:"analytics",label:"Analytics",count:m.length,icon:"analytics"},{id:4,key:"redux",label:"Redux",count:0,icon:"redux"},{id:5,key:"storage",label:"Storage",count:0,icon:"storage"},{id:6,key:"device",label:"Device",count:0,icon:"device"},{id:7,key:"crash",label:"Crash",count:f?.length||0,icon:"crash"},{id:8,key:"push",label:"Push",count:C?.length||0,icon:"push"},{id:9,key:"socket",label:"WebSocket",count:b?.length||0,icon:"socket"},{id:10,key:"debugging",label:"Debugging",count:0,icon:"debugging"}].filter(e=>e.key==="debugging"?react_native_1.Platform.OS==="android"&&(0,helpers_1.isLocalDebugEnvironment)()&&!!o?.debugging:!(!o?.[e.key]||e.key==="redux"&&!P||e.key==="analytics"&&!O)).map(e=>{const s=t===e.key,a=TAB_THEMES[e.key]||TAB_THEMES.apis,l=s?AppColors_1.AppColors.white:a.iconInactive,d=e.count>99?"99+":String(e.count),u=t!=="apis"&&n.length>T,p=t!=="logs"&&y.length>x,D=t!=="crash"&&(f?.length||0)>(R||0),j=t!=="socket"&&((b?.length||0)>(B||0)||I>0);return<TouchableScale_1.default key={e.key}testID={`inspector.tab.${e.key}`}onPress={()=>{i(e.key)}}style={[styles_1.default.contentTabButton,{backgroundColor:s?a.themeColor:a.bgInactive,borderColor:s?a.themeColor:a.borderInactive},s&&{shadowColor:a.themeColor,shadowOffset:{width:0,height:2},shadowOpacity:.28,shadowRadius:3.5,elevation:3}]}>
|
|
12
12
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
|
|
13
13
|
{e.icon==="apis"&&<NetworkIcons_1.SignalIcon color={l}size={14}/>}
|
|
14
14
|
{e.icon==="logs"&&<NetworkIcons_1.TerminalIcon color={l}size={14}/>}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
{d}
|
|
34
34
|
</react_native_1.Text>
|
|
35
35
|
</react_native_1.View>}
|
|
36
|
-
{(e.key==="apis"&&u||e.key==="logs"&&p||e.key==="crash"&&
|
|
36
|
+
{(e.key==="apis"&&u||e.key==="logs"&&p||e.key==="crash"&&D||e.key==="push"&&((C?.length||0)>0||S>0)||e.key==="socket"&&j)&&<react_native_1.View style={{width:6,height:6,borderRadius:3,backgroundColor:AppColors_1.AppColors.errorColor,marginLeft:4,alignSelf:"center"}}/>}
|
|
37
37
|
</react_native_1.View>
|
|
38
38
|
</TouchableScale_1.default>})}
|
|
39
39
|
</react_native_1.ScrollView>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
{g&&<react_native_1.View style={{paddingLeft:6,paddingRight:10,borderLeftWidth:1,borderLeftColor:AppColors_1.AppColors.dividerColor,backgroundColor:AppColors_1.AppColors.primaryLight,justifyContent:"center",shadowColor:AppColors_1.AppColors.shadowColorString,shadowOffset:{width:-3,height:0},shadowOpacity:.12,shadowRadius:4,elevation:4,zIndex:10}}>
|
|
50
|
-
<TouchableScale_1.default key="media"onPress={()=>{i("media")}}accessibilityRole="button"accessibilityLabel="Media Gallery"style={[styles_1.default.contentTabButton,{marginRight:0,borderRadius:8,backgroundColor:c?AppColors_1.AppColors.brandPurple:`${AppColors_1.AppColors.brandPurple}0D`,borderColor:c?AppColors_1.AppColors.brandPurple:`${AppColors_1.AppColors.brandPurple}2B`,borderWidth:1,paddingHorizontal:10,paddingVertical:7,alignItems:"center",justifyContent:"center"},c&&{shadowColor:AppColors_1.AppColors.brandPurple,shadowOffset:{width:0,height:2},shadowOpacity:.28,shadowRadius:3.5,elevation:3}]}>
|
|
50
|
+
<TouchableScale_1.default key="media"testID="inspector.tab.media"onPress={()=>{i("media")}}accessibilityRole="button"accessibilityLabel="Media Gallery"style={[styles_1.default.contentTabButton,{marginRight:0,borderRadius:8,backgroundColor:c?AppColors_1.AppColors.brandPurple:`${AppColors_1.AppColors.brandPurple}0D`,borderColor:c?AppColors_1.AppColors.brandPurple:`${AppColors_1.AppColors.brandPurple}2B`,borderWidth:1,paddingHorizontal:10,paddingVertical:7,alignItems:"center",justifyContent:"center"},c&&{shadowColor:AppColors_1.AppColors.brandPurple,shadowOffset:{width:0,height:2},shadowOpacity:.28,shadowRadius:3.5,elevation:3}]}>
|
|
51
51
|
<react_native_1.View style={{position:"relative",alignItems:"center",justifyContent:"center"}}>
|
|
52
52
|
<NetworkIcons_1.ScreencastIcon color={c?AppColors_1.AppColors.white:AppColors_1.AppColors.brandPurple}size={15}/>
|
|
53
53
|
{_>0&&<react_native_1.View style={{position:"absolute",top:-3,right:-4,width:7,height:7,borderRadius:3.5,backgroundColor:c?AppColors_1.AppColors.white:AppColors_1.AppColors.brandPurple,borderWidth:1.2,borderColor:c?AppColors_1.AppColors.brandPurple:AppColors_1.AppColors.white}}/>}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { LogCardProps } from '../types';
|
|
3
|
-
declare function LogCard({ item, onPress, timelineMinStart, timelineTotalRange, isNew, isSelected, onToggleSelect, searchStr, }: LogCardProps): React.JSX.Element;
|
|
3
|
+
declare function LogCard({ item, onPress, timelineMinStart, timelineTotalRange, isNew, isSelected, onToggleSelect, searchStr, testID, }: LogCardProps): React.JSX.Element;
|
|
4
4
|
declare const _default: React.MemoExoticComponent<typeof LogCard>;
|
|
5
5
|
export default _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,a,n){n===void 0&&(n=a);var o=Object.getOwnPropertyDescriptor(t,a);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,o)}):(function(e,t,a,n){n===void 0&&(n=a),e[n]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(a){var n=[];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(n[n.length]=o);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var n=e(t),o=0;o<n.length;o++)n[o]!=="default"&&__createBinding(a,t,n[o]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),constants_1=require("../constants"),helpers_1=require("../helpers"),NetworkIcons_1=require("./NetworkIcons"),AppFonts_1=require("../styles/AppFonts"),HighlightText_1=__importDefault(require("./HighlightText")),TouchableScale_1=__importDefault(require("./TouchableScale")),i18n_1=require("../i18n");function LogCard({item:e,onPress:t,timelineMinStart:a,timelineTotalRange:n,isNew:o,isSelected:h,onToggleSelect:_,searchStr:C}){const{t:
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,a,n){n===void 0&&(n=a);var o=Object.getOwnPropertyDescriptor(t,a);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,o)}):(function(e,t,a,n){n===void 0&&(n=a),e[n]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(a){var n=[];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(n[n.length]=o);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var n=e(t),o=0;o<n.length;o++)n[o]!=="default"&&__createBinding(a,t,n[o]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),constants_1=require("../constants"),helpers_1=require("../helpers"),NetworkIcons_1=require("./NetworkIcons"),AppFonts_1=require("../styles/AppFonts"),HighlightText_1=__importDefault(require("./HighlightText")),TouchableScale_1=__importDefault(require("./TouchableScale")),i18n_1=require("../i18n");function LogCard({item:e,onPress:t,timelineMinStart:a,timelineTotalRange:n,isNew:o,isSelected:h,onToggleSelect:_,searchStr:C,testID:b}){const{t:l}=(0,i18n_1.useTranslation)(),f=constants_1.METHOD_COLORS[e.method]??constants_1.METHOD_COLORS.ALL,s=(0,react_1.useMemo)(()=>{try{const r=new URL(e.url),g=r.host,w=r.pathname+(r.search?r.search:""),S=r.protocol==="https:";return{host:g,path:w||"/",isHttps:S}}catch{const r=e.url.toLowerCase().startsWith("https:"),g=(0,helpers_1.getPath)(e.url);return{host:(0,helpers_1.getBaseUrl)(e.url).replace(/^https?:\/\//,""),path:g||e.url,isHttps:r}}},[e.url]),y=r=>{r?.stopPropagation?.(),react_native_1.Alert.alert(l("common.openInBrowser")||"Open in Browser",`${l("common.openInBrowserPrompt")||"Are you sure you want to open this URL in your external browser?"}
|
|
2
2
|
|
|
3
|
-
${e.url}`,[{text:
|
|
4
|
-
<TouchableScale_1.default onPress={t}style={[styles.card,{borderLeftWidth:3.5,borderLeftColor:
|
|
3
|
+
${e.url}`,[{text:l("common.cancel")||"Cancel",style:"cancel"},{text:l("common.open")||"Open",onPress:()=>{react_native_1.Linking.openURL(e.url).catch(()=>{react_native_1.Alert.alert(l("common.error")||"Error",l("common.cannotOpenUrl")||"Could not open URL")})}}])},i=e.status===0||e.status!=null&&e.status>=400,p=e.status==null,d=(0,helpers_1.getStatusColor)(e.status),c=(0,helpers_1.getDurationColor)(e.duration),x=p?AppColors_1.AppColors.darkOrange:i?AppColors_1.AppColors.errorColor:AppColors_1.AppColors.greenColor,u=(0,react_1.useRef)(new react_native_1.Animated.Value(o?.35:0)).current;(0,react_1.useEffect)(()=>{o&&react_native_1.Animated.timing(u,{toValue:0,duration:1200,useNativeDriver:!0}).start()},[o,u]);const A=()=>{if(p)return"...";if(e.status===0||e.status==null)return l("network.statusFailed")||"FAILED";const r=typeof e.status=="number"?e.status:parseInt(String(e.status||0),10);return r===200?"200 OK":r===201?"201 Created":r===204?"204 No Content":r===304?"304 Not Modified":r===400?"400 Bad Req":r===401?"401 Unauth":r===403?"403 Forbidden":r===404?"404 Not Found":r===500?"500 Error":String(e.status)},T=()=>{if(p)return<NetworkIcons_1.ClockIcon color={AppColors_1.AppColors.darkOrange}size={10}/>;const r=typeof e.status=="number"?e.status:parseInt(String(e.status||0),10);return r>=200&&r<300?<NetworkIcons_1.CircleCheckIcon color={AppColors_1.AppColors.greenColor}size={10}/>:r>=300&&r<400?<NetworkIcons_1.RepeatIcon color={AppColors_1.AppColors.amber700}size={10}/>:r>=400&&r<500?<NetworkIcons_1.CircleAlertIcon color={AppColors_1.AppColors.darkOrange}size={10}/>:<NetworkIcons_1.CircleXIcon color={AppColors_1.AppColors.errorColor}size={10}/>},v=(0,helpers_1.formatDateTime)(e.startTime),V=e.url.split("?")[0].toLowerCase().endsWith(".json");return<react_native_1.View style={styles.container}>
|
|
4
|
+
<TouchableScale_1.default testID={b}onPress={t}style={[styles.card,{borderLeftWidth:3.5,borderLeftColor:x,backgroundColor:i?AppColors_1.AppColors.errorCardBg:AppColors_1.AppColors.white}]}>
|
|
5
5
|
<react_native_1.View style={styles.cardBody}>
|
|
6
6
|
|
|
7
7
|
<react_native_1.View style={styles.cardHeaderRow}>
|
|
@@ -35,13 +35,13 @@ ${e.url}`,[{text:p("common.cancel")||"Cancel",style:"cancel"},{text:p("common.op
|
|
|
35
35
|
</react_native_1.View>
|
|
36
36
|
|
|
37
37
|
<react_native_1.View style={styles.cardHeaderRight}>
|
|
38
|
-
<react_native_1.View style={[styles.statusPill,{backgroundColor:i?`${AppColors_1.AppColors.errorColor}14`:
|
|
39
|
-
{
|
|
40
|
-
<react_native_1.Text style={[styles.statusPillText,{color:i?AppColors_1.AppColors.errorColor:
|
|
41
|
-
{
|
|
38
|
+
<react_native_1.View style={[styles.statusPill,{backgroundColor:i?`${AppColors_1.AppColors.errorColor}14`:p?`${AppColors_1.AppColors.darkOrange}14`:`${d}14`,borderColor:i?`${AppColors_1.AppColors.errorColor}33`:p?`${AppColors_1.AppColors.darkOrange}33`:`${d}33`}]}>
|
|
39
|
+
{T()}
|
|
40
|
+
<react_native_1.Text style={[styles.statusPillText,{color:i?AppColors_1.AppColors.errorColor:p?AppColors_1.AppColors.darkOrange:d}]}>
|
|
41
|
+
{A()}
|
|
42
42
|
</react_native_1.Text>
|
|
43
43
|
</react_native_1.View>
|
|
44
|
-
<react_native_1.Pressable onPress={
|
|
44
|
+
<react_native_1.Pressable onPress={y}hitSlop={8}style={styles.globeBtn}accessibilityRole="button"accessibilityLabel="Open in Browser">
|
|
45
45
|
<NetworkIcons_1.GlobeIcon color={AppColors_1.AppColors.grayTextWeak}size={12}/>
|
|
46
46
|
</react_native_1.Pressable>
|
|
47
47
|
<NetworkIcons_1.ForwardChevronIcon color={AppColors_1.AppColors.grayTextWeak}size={13}/>
|
|
@@ -53,15 +53,15 @@ ${e.url}`,[{text:p("common.cancel")||"Cancel",style:"cancel"},{text:p("common.op
|
|
|
53
53
|
|
|
54
54
|
<react_native_1.View style={styles.urlMainRow}>
|
|
55
55
|
<react_native_1.View style={styles.hostRow}>
|
|
56
|
-
<react_native_1.View style={[styles.protoBadge,{backgroundColor:
|
|
57
|
-
<react_native_1.Text style={[styles.protoBadgeText,{color:
|
|
58
|
-
{
|
|
56
|
+
<react_native_1.View style={[styles.protoBadge,{backgroundColor:s.isHttps?`${AppColors_1.AppColors.emerald600}12`:`${AppColors_1.AppColors.amber600}12`,borderColor:s.isHttps?`${AppColors_1.AppColors.emerald600}2B`:`${AppColors_1.AppColors.amber600}2B`}]}>
|
|
57
|
+
<react_native_1.Text style={[styles.protoBadgeText,{color:s.isHttps?AppColors_1.AppColors.emerald600:AppColors_1.AppColors.amber700}]}>
|
|
58
|
+
{s.isHttps?"HTTPS":"HTTP"}
|
|
59
59
|
</react_native_1.Text>
|
|
60
60
|
</react_native_1.View>
|
|
61
|
-
<HighlightText_1.default text={
|
|
61
|
+
<HighlightText_1.default text={s.host||e.url}search={C}style={styles.hostText}highlightStyle={styles.highlight}numberOfLines={1}ellipsizeMode="tail"/>
|
|
62
62
|
</react_native_1.View>
|
|
63
63
|
<react_native_1.View style={styles.urlBadgeRow}>
|
|
64
|
-
{
|
|
64
|
+
{V&&<react_native_1.View style={styles.jsonBadge}>
|
|
65
65
|
<react_native_1.Text style={styles.jsonBadgeText}>.json</react_native_1.Text>
|
|
66
66
|
</react_native_1.View>}
|
|
67
67
|
{e.duplicateCount!=null&&e.duplicateCount>1&&<react_native_1.View style={styles.dupBadge}>
|
|
@@ -72,7 +72,7 @@ ${e.url}`,[{text:p("common.cancel")||"Cancel",style:"cancel"},{text:p("common.op
|
|
|
72
72
|
|
|
73
73
|
|
|
74
74
|
<react_native_1.View style={styles.slugRow}>
|
|
75
|
-
<HighlightText_1.default text={
|
|
75
|
+
<HighlightText_1.default text={s.path}search={C}style={styles.pathText}highlightStyle={styles.highlight}numberOfLines={1}ellipsizeMode="middle"/>
|
|
76
76
|
</react_native_1.View>
|
|
77
77
|
</react_native_1.View>
|
|
78
78
|
|
|
@@ -81,7 +81,7 @@ ${e.url}`,[{text:p("common.cancel")||"Cancel",style:"cancel"},{text:p("common.op
|
|
|
81
81
|
<react_native_1.View style={styles.footerLeft}>
|
|
82
82
|
<react_native_1.View style={styles.cardDateRow}>
|
|
83
83
|
<NetworkIcons_1.CalendarIcon color={AppColors_1.AppColors.grayTextWeak}size={10}/>
|
|
84
|
-
<react_native_1.Text style={styles.cardDateText}numberOfLines={1}>{
|
|
84
|
+
<react_native_1.Text style={styles.cardDateText}numberOfLines={1}>{v}</react_native_1.Text>
|
|
85
85
|
</react_native_1.View>
|
|
86
86
|
</react_native_1.View>
|
|
87
87
|
|
|
@@ -108,6 +108,6 @@ ${e.url}`,[{text:p("common.cancel")||"Cancel",style:"cancel"},{text:p("common.op
|
|
|
108
108
|
</react_native_1.View>
|
|
109
109
|
</react_native_1.View>
|
|
110
110
|
|
|
111
|
-
{o&&<react_native_1.Animated.View pointerEvents="none"style={[react_native_1.StyleSheet.absoluteFill,{backgroundColor:f,opacity:
|
|
111
|
+
{o&&<react_native_1.Animated.View pointerEvents="none"style={[react_native_1.StyleSheet.absoluteFill,{backgroundColor:f,opacity:u}]}/>}
|
|
112
112
|
</TouchableScale_1.default>
|
|
113
113
|
</react_native_1.View>}const styles=react_native_1.StyleSheet.create({container:{paddingHorizontal:8,paddingVertical:4,height:126,justifyContent:"center"},card:{height:118,alignSelf:"stretch",borderRadius:10,overflow:"hidden",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString},cardBody:{height:"100%",paddingHorizontal:8,paddingTop:8,paddingBottom:6,justifyContent:"space-between"},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:22,minHeight:22,maxHeight:22},cardHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,marginRight:4,gap:4.5,minWidth:0,overflow:"hidden"},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},smallCheckbox:{width:15,height:15,borderRadius:4,borderWidth:1.5,borderColor:AppColors_1.AppColors.grayTextWeak,alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.white},smallCheckboxChecked:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},serialNumber:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.grayTextWeak,fontSize:10},methodBadge:{paddingHorizontal:6,paddingVertical:2,borderRadius:5,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12,letterSpacing:.5,color:AppColors_1.AppColors.white},chip:{paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,lineHeight:12},statusPill:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,flexShrink:0},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12},globeBtn:{padding:3,borderRadius:4,backgroundColor:`${AppColors_1.AppColors.grayTextWeak}12`,alignItems:"center",justifyContent:"center"},urlBox:{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:7,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:7,paddingVertical:4.5,height:48,minHeight:48,maxHeight:48,justifyContent:"center",gap:2.5,overflow:"hidden"},urlMainRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:4,minHeight:16},hostRow:{flexDirection:"row",alignItems:"center",gap:5,flex:1,minWidth:0},protoBadge:{paddingHorizontal:4,paddingVertical:1,borderRadius:3.5,borderWidth:1},protoBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:10},hostText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.primaryBlack,flex:1},urlBadgeRow:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},jsonBadge:{backgroundColor:`${AppColors_1.AppColors.darkOrange}14`,borderColor:`${AppColors_1.AppColors.darkOrange}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},jsonBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.darkOrange},dupBadge:{backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},dupBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.purple},slugRow:{flexDirection:"row",alignItems:"center",minHeight:15},pathText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.slate600||AppColors_1.AppColors.grayText,flex:1},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:18,minHeight:18,maxHeight:18,gap:4},footerLeft:{flexDirection:"row",alignItems:"center",gap:4.5,flex:1,minWidth:0,overflow:"hidden"},footerRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},cardDateRow:{flexDirection:"row",alignItems:"center",gap:3.5},cardDateText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.violetSoftBg,borderColor:AppColors_1.AppColors.violetSoftBorder,borderWidth:1,paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4},metaStatText:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.violetSoftText,fontSize:9,lineHeight:12},waterfallContainer:{height:2.5,width:"100%",backgroundColor:AppColors_1.AppColors.graySurface,borderRadius:1.5,overflow:"hidden",marginTop:2},waterfallBar:{height:"100%",borderRadius:1.5}});function areLogCardPropsEqual(e,t){return e.item===t.item&&e.isSelected===t.isSelected&&e.isNew===t.isNew&&e.searchStr===t.searchStr&&e.timelineMinStart===t.timelineMinStart&&e.timelineTotalRange===t.timelineTotalRange&&e.onPress===t.onPress&&e.onToggleSelect===t.onToggleSelect}exports.default=react_1.default.memo(LogCard,areLogCardPropsEqual);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const ENC_MID = "";
|
|
2
|
-
export declare const ENC_SEC = "";
|
|
3
|
-
export declare const TELEMETRY_SALT = "";
|
|
1
|
+
export declare const ENC_MID = "df8ace0290a695bd05986213";
|
|
2
|
+
export declare const ENC_SEC = "db93cb0186b1f7bb0ba63a0d0a64997586849455ce37";
|
|
3
|
+
export declare const TELEMETRY_SALT = "rn-inapp-inspector-telemetry-v1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TELEMETRY_SALT=exports.ENC_SEC=exports.ENC_MID=void 0,exports.ENC_MID="",exports.ENC_SEC="",exports.TELEMETRY_SALT="";
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TELEMETRY_SALT=exports.ENC_SEC=exports.ENC_MID=void 0,exports.ENC_MID="df8ace0290a695bd05986213",exports.ENC_SEC="db93cb0186b1f7bb0ba63a0d0a64997586849455ce37",exports.TELEMETRY_SALT="rn-inapp-inspector-telemetry-v1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "2.5.
|
|
1
|
+
export declare const LIB_VERSION = "2.5.9";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=void 0,exports.LIB_VERSION="2.5.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=void 0,exports.LIB_VERSION="2.5.9";
|
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
import { RouteInfo } from "../types";
|
|
2
|
-
type NetworkLog = {
|
|
3
|
-
id: number;
|
|
4
|
-
url: string;
|
|
5
|
-
method: string;
|
|
6
|
-
status?: number;
|
|
7
|
-
request?: any;
|
|
8
|
-
response?: any;
|
|
9
|
-
duration?: number;
|
|
10
|
-
startTime: number;
|
|
11
|
-
caller?: string;
|
|
12
|
-
client?: string;
|
|
13
|
-
requestHeaders?: Record<string, string>;
|
|
14
|
-
responseHeaders?: Record<string, string>;
|
|
15
|
-
routeInfo?: RouteInfo;
|
|
16
|
-
};
|
|
1
|
+
import { NetworkLog, RouteInfo } from "../types";
|
|
17
2
|
export declare const setRouteInfoProvider: (provider: (() => RouteInfo | null) | null) => void;
|
|
18
3
|
export declare const setNetworkModuleEnabled: (enabled: boolean) => void;
|
|
19
4
|
export declare const getNetworkModuleEnabled: () => boolean;
|
|
@@ -25,4 +10,3 @@ export declare const getMaxNetworkLogsLimit: () => number;
|
|
|
25
10
|
export declare const pruneNetworkLogs: (targetCount?: number) => number;
|
|
26
11
|
export declare const setupNetworkLogger: () => void;
|
|
27
12
|
export declare const addAxiosInterceptors: (axiosInstance: any) => void;
|
|
28
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addAxiosInterceptors=exports.setupNetworkLogger=exports.pruneNetworkLogs=exports.getMaxNetworkLogsLimit=exports.setMaxNetworkLogsLimit=exports.getNetworkLogs=exports.clearNetworkLogs=exports.subscribeNetworkLogs=exports.getNetworkModuleEnabled=exports.setNetworkModuleEnabled=exports.setRouteInfoProvider=void 0;const axios_1=__importDefault(require("axios")),crashHandler_1=require("./crashHandler");let logs=[],listeners=[],counter=0,isNetworkModuleEnabled=!0,currentRouteProvider=null;const setRouteInfoProvider=e=>{currentRouteProvider=e};exports.setRouteInfoProvider=setRouteInfoProvider;const setNetworkModuleEnabled=e=>{isNetworkModuleEnabled=e};exports.setNetworkModuleEnabled=setNetworkModuleEnabled;const getNetworkModuleEnabled=()=>isNetworkModuleEnabled;exports.getNetworkModuleEnabled=getNetworkModuleEnabled;const ALLOWED_METHODS=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],IGNORED_URL_PATTERNS=[/\/symbolicate(?:\?|$)/i,/\/index\.bundle(?:\?|$)/i,/\/open-debugger(?:\?|$)/i,/:(?:8081|8082|8083|19000|19001)\/(?:index\.bundle|symbolicate|hot|message|status)/i,/google-analytics\.com\/mp\/collect/i,/analytics\.google\.com/i];function shouldIgnoreUrl(e){return e?IGNORED_URL_PATTERNS.some(t=>t.test(e)):!1}function parseXHRResponseHeaders(e){if(!e||typeof e!="string")return;const t=e.trim().split(/[\r\n]+/),s={};return t.forEach(o=>{const r=o.indexOf(":");if(r>0){const i=o.substring(0,r).trim().toLowerCase(),n=o.substring(r+1).trim();s[i]=n}}),Object.keys(s).length>0?s:void 0}function normaliseHeaders(e){if(!e)return;if(typeof e.forEach=="function"){const o={};return e.forEach((r,i)=>{o[i]=r}),Object.keys(o).length>0?o:void 0}if(Array.isArray(e)){const o={};return e.forEach(([r,i])=>{o[r]=i}),Object.keys(o).length>0?o:void 0}const t=e,s={};return Object.entries(t).forEach(([o,r])=>{r!=null&&(s[o]=String(r))}),Object.keys(s).length>0?s:void 0}function parseRequestData(e){if(!e)return e;if(e&&e._parts&&Array.isArray(e._parts)){const t={};return e._parts.forEach(s=>{const o=s[0],r=s[1];r&&typeof r=="object"&&r.uri?t[o]={_isFile:!0,name:r.name||"unknown",type:r.type||"unknown",uri:r.uri}:t[o]=r}),{_isFormData:!0,...t}}return e}const subscribeNetworkLogs=e=>(listeners.push(e),e([...logs]),()=>{listeners=listeners.filter(t=>t!==e)});exports.subscribeNetworkLogs=subscribeNetworkLogs;const clearNetworkLogs=()=>{logs=[],notify()};exports.clearNetworkLogs=clearNetworkLogs;const getNetworkLogs=()=>[...logs];exports.getNetworkLogs=getNetworkLogs;let maxNetworkLogsLimit=1/0;const setMaxNetworkLogsLimit=e=>{maxNetworkLogsLimit=e};exports.setMaxNetworkLogsLimit=setMaxNetworkLogsLimit;const getMaxNetworkLogsLimit=()=>maxNetworkLogsLimit;exports.getMaxNetworkLogsLimit=getMaxNetworkLogsLimit;const pruneNetworkLogs=e=>{const t=e!==void 0?Math.max(0,e):Math.floor(logs.length/2),s=logs.length-t;return s>0&&(logs=logs.slice(0,t),notify()),Math.max(0,s)};exports.pruneNetworkLogs=pruneNetworkLogs;const notify=()=>{const e=[...logs];listeners.forEach(t=>t(e))},addOrUpdateLog=e=>{if(!isNetworkModuleEnabled)return;const t=e.method
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addAxiosInterceptors=exports.setupNetworkLogger=exports.pruneNetworkLogs=exports.getMaxNetworkLogsLimit=exports.setMaxNetworkLogsLimit=exports.getNetworkLogs=exports.clearNetworkLogs=exports.subscribeNetworkLogs=exports.getNetworkModuleEnabled=exports.setNetworkModuleEnabled=exports.setRouteInfoProvider=void 0;const axios_1=__importDefault(require("axios")),crashHandler_1=require("./crashHandler");let logs=[],listeners=[],counter=0,isNetworkModuleEnabled=!0,currentRouteProvider=null;const setRouteInfoProvider=e=>{currentRouteProvider=e};exports.setRouteInfoProvider=setRouteInfoProvider;const setNetworkModuleEnabled=e=>{isNetworkModuleEnabled=e};exports.setNetworkModuleEnabled=setNetworkModuleEnabled;const getNetworkModuleEnabled=()=>isNetworkModuleEnabled;exports.getNetworkModuleEnabled=getNetworkModuleEnabled;const ALLOWED_METHODS=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","CONNECT","TRACE"],IGNORED_URL_PATTERNS=[/\/symbolicate(?:\?|$)/i,/\/index\.bundle(?:\?|$)/i,/\/open-debugger(?:\?|$)/i,/:(?:8081|8082|8083|19000|19001)\/(?:index\.bundle|symbolicate|hot|message|status)/i,/google-analytics\.com\/mp\/collect/i,/analytics\.google\.com/i];function shouldIgnoreUrl(e){return e?IGNORED_URL_PATTERNS.some(t=>t.test(e)):!1}function parseXHRResponseHeaders(e){if(!e||typeof e!="string")return;const t=e.trim().split(/[\r\n]+/),s={};return t.forEach(o=>{const r=o.indexOf(":");if(r>0){const i=o.substring(0,r).trim().toLowerCase(),n=o.substring(r+1).trim();s[i]=n}}),Object.keys(s).length>0?s:void 0}function normaliseHeaders(e){if(!e)return;if(typeof e.forEach=="function"){const o={};return e.forEach((r,i)=>{o[i]=r}),Object.keys(o).length>0?o:void 0}if(Array.isArray(e)){const o={};return e.forEach(([r,i])=>{o[r]=i}),Object.keys(o).length>0?o:void 0}const t=e,s={};return Object.entries(t).forEach(([o,r])=>{r!=null&&(s[o]=String(r))}),Object.keys(s).length>0?s:void 0}function parseRequestData(e){if(!e)return e;if(e&&e._parts&&Array.isArray(e._parts)){const t={};return e._parts.forEach(s=>{const o=s[0],r=s[1];r&&typeof r=="object"&&r.uri?t[o]={_isFile:!0,name:r.name||"unknown",type:r.type||"unknown",uri:r.uri}:t[o]=r}),{_isFormData:!0,...t}}return e}const subscribeNetworkLogs=e=>(listeners.push(e),e([...logs]),()=>{listeners=listeners.filter(t=>t!==e)});exports.subscribeNetworkLogs=subscribeNetworkLogs;const clearNetworkLogs=()=>{logs=[],notify()};exports.clearNetworkLogs=clearNetworkLogs;const getNetworkLogs=()=>[...logs];exports.getNetworkLogs=getNetworkLogs;let maxNetworkLogsLimit=1/0;const setMaxNetworkLogsLimit=e=>{maxNetworkLogsLimit=e};exports.setMaxNetworkLogsLimit=setMaxNetworkLogsLimit;const getMaxNetworkLogsLimit=()=>maxNetworkLogsLimit;exports.getMaxNetworkLogsLimit=getMaxNetworkLogsLimit;const pruneNetworkLogs=e=>{const t=e!==void 0?Math.max(0,e):Math.floor(logs.length/2),s=logs.length-t;return s>0&&(logs=logs.slice(0,t),notify()),Math.max(0,s)};exports.pruneNetworkLogs=pruneNetworkLogs;const notify=()=>{const e=[...logs];listeners.forEach(t=>t(e))},addOrUpdateLog=e=>{if(!isNetworkModuleEnabled)return;const t=(e.method||"GET").toUpperCase();if(t&&!ALLOWED_METHODS.includes(t)||shouldIgnoreUrl(e.url))return;const s={...e,method:t},o=logs.findIndex(r=>r.id===e.id);o>=0?logs[o]={...logs[o],...s}:(logs.unshift(s),logs.length>maxNetworkLogsLimit&&(logs=logs.slice(0,maxNetworkLogsLimit))),notify()};let isInsideFetch=!1;const setupNetworkLogger=()=>{if(globalThis.__NETWORK_LOGGER_INITIALIZED__)return;globalThis.__NETWORK_LOGGER__=addOrUpdateLog;const e=globalThis.XMLHttpRequest;if(e&&e.prototype&&!globalThis.__XHR_LOGGER_INITIALIZED__){globalThis.__XHR_LOGGER_INITIALIZED__=!0;const s=e.prototype.open,o=e.prototype.send,r=e.prototype.setRequestHeader;e.prototype.open=function(i,n,u,c,l){return this.__logMethod=(i||"GET").toUpperCase(),this.__logUrl=typeof n=="string"?n:String(n),this.__logRequestHeaders={},this.__logStartTime=Date.now(),s.apply(this,[i,n,u!==!1,c,l])},e.prototype.setRequestHeader=function(i,n){return i&&n!=null&&(this.__logRequestHeaders||(this.__logRequestHeaders={}),this.__logRequestHeaders[i.toLowerCase()]=String(n)),r.apply(this,[i,n])},e.prototype.send=function(i){if(!isNetworkModuleEnabled||isInsideFetch||this.__inAppInspectorTracked)return o.apply(this,[i]);const n=this.__logUrl||"",u=this.__logMethod||"GET";if(shouldIgnoreUrl(n))return o.apply(this,[i]);const c=counter++;this.__logId=c;const l=this.__logStartTime||Date.now(),a=this.__logRequestHeaders;let d="xhr";(a?.["apollographql-client-name"]||n.toLowerCase().includes("/graphql"))&&(d="apollo");const g=currentRouteProvider?currentRouteProvider():null;addOrUpdateLog({id:c,url:n,method:u,startTime:l,client:d,routeInfo:g||void 0,request:u==="GET"?void 0:parseRequestData(i),requestHeaders:Object.keys(a||{}).length>0?a:void 0});const h=()=>{if(this.__logFinished)return;this.__logFinished=!0;const p=Date.now()-l;let f=null;try{if(this.responseType===""||this.responseType==="text"){const T=this.responseText;try{f=JSON.parse(T)}catch{f=T}}else this.responseType==="json"?f=this.response:this.responseType==="blob"?f=`[Blob: ${this.response?.size||0} bytes]`:f=`[${this.responseType||"Unknown"} Data]`}catch{f=this.response||null}const x=this.getAllResponseHeaders?this.getAllResponseHeaders():"",L=parseXHRResponseHeaders(x);addOrUpdateLog({id:c,url:n,method:u,status:this.status,response:f,duration:p,startTime:l,client:d,responseHeaders:L})},_=()=>{if(this.__logFinished)return;this.__logFinished=!0;const p=Date.now()-l;addOrUpdateLog({id:c,url:n,method:u,status:this.status||0,response:"Network request failed",duration:p,startTime:l,client:d})};this.addEventListener("load",h),this.addEventListener("error",_),this.addEventListener("abort",_),this.addEventListener("timeout",_);const y=this.onreadystatechange;return this.onreadystatechange=function(...p){if(this.readyState===4&&(this.status>=200?h():_()),typeof y=="function")return y.apply(this,p)},o.apply(this,[i])}}const t=globalThis.fetch;t&&(globalThis.fetch=async(s,o={})=>{if(!isNetworkModuleEnabled)return t(s,o);const r=(o?.method||"GET").toUpperCase(),i=counter++,n=Date.now(),u=typeof s=="string"?s:s?.url||s?.href||(s?String(s):"");if(shouldIgnoreUrl(u))return t(s,o);let c,l="fetch";try{c=normaliseHeaders(o?.headers),c?.["apollographql-client-name"]||u?.toLowerCase().includes("/graphql")?l="apollo":c?.["x-requested-with"]?.toLowerCase().includes("xmlhttprequest")&&(l="xhr");const a=currentRouteProvider?currentRouteProvider():null;addOrUpdateLog({id:i,url:u,method:r,startTime:n,client:l,routeInfo:a||void 0,request:r==="GET"?void 0:parseRequestData(o?.body),requestHeaders:c})}catch{}try{isInsideFetch=!0;let a;try{a=await t(s,o)}finally{isInsideFetch=!1}const d=Date.now()-n;try{const g=normaliseHeaders(a.headers);let h=null;if((g?.["content-type"]||g?.["Content-Type"]||"").includes("image/"))h="[Image Data]";else try{const p=await a.clone().text();try{h=JSON.parse(p)}catch{h=p}}catch{}addOrUpdateLog({id:i,url:u,method:r,status:a.status,response:h,duration:d,startTime:n,client:l,responseHeaders:g})}catch{}return a}catch(a){try{const d=a instanceof Error?a.message||a.name||"Network request failed":String(a||"Network request failed");addOrUpdateLog({id:i,url:u,method:r,status:0,startTime:n,response:d,client:l,duration:Date.now()-n})}catch{}throw a}});try{if(axios_1.default){(0,exports.addAxiosInterceptors)(axios_1.default);const s=axios_1.default.create;typeof s=="function"&&(axios_1.default.create=function(...o){const r=s.apply(this,o);return(0,exports.addAxiosInterceptors)(r),r})}}catch{}try{(0,crashHandler_1.setupGlobalCrashHandler)()}catch{}globalThis.__NETWORK_LOGGER_INITIALIZED__=!0};exports.setupNetworkLogger=setupNetworkLogger;const addAxiosInterceptors=e=>{e.interceptors.request.use(async t=>{const s=(t.method||"GET").toUpperCase(),o=counter++,r=Date.now();let i=t.url??"";if(i.startsWith("http")||(i=`${t.baseURL??""}${i}`),shouldIgnoreUrl(i))return t;t.__logId=o,t.__logStart=r;const n=currentRouteProvider?currentRouteProvider():null;return addOrUpdateLog({id:o,url:i,method:s,startTime:r,client:"axios",routeInfo:n||void 0,request:s==="GET"?void 0:parseRequestData(t.data),requestHeaders:normaliseHeaders(t.headers)}),t}),e.interceptors.response.use(t=>{const s=t.config||{},o=s.__logId,r=s.__logStart,i=(s.method||"GET").toUpperCase();if(o==null)return t;let n=s.url??"";return n.startsWith("http")||(n=`${s.baseURL??""}${n}`),addOrUpdateLog({id:o,url:n,method:i,status:t.status,response:t.data,startTime:r||Date.now(),duration:r!=null?Date.now()-r:void 0,client:"axios",responseHeaders:normaliseHeaders(t.headers)}),t},t=>{const s=t.config||{},o=s.__logId,r=s.__logStart,i=(s.method||"GET").toUpperCase();if(o!=null){let n=s.url??"";n.startsWith("http")||(n=`${s.baseURL??""}${n}`),addOrUpdateLog({id:o,url:n,method:i,status:t.response?.status??0,response:t.response?.data??(t instanceof Error?t.message:String(t||"Network request failed")),startTime:r||Date.now(),duration:r!=null?Date.now()-r:void 0,client:"axios",responseHeaders:normaliseHeaders(t.response?.headers)})}return Promise.reject(t)})};if(exports.addAxiosInterceptors=addAxiosInterceptors,typeof globalThis<"u")try{(0,exports.setupNetworkLogger)()}catch{}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,c,p,b){b===void 0&&(b=p);var h=Object.getOwnPropertyDescriptor(c,p);(!h||("get"in h?!c.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:function(){return c[p]}}),Object.defineProperty(i,b,h)}):(function(i,c,p,b){b===void 0&&(b=p),i[b]=c[p]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,c){Object.defineProperty(i,"default",{enumerable:!0,value:c})}):function(i,c){i.default=c}),__importStar=this&&this.__importStar||(function(){var i=function(c){return i=Object.getOwnPropertyNames||function(p){var b=[];for(var h in p)Object.prototype.hasOwnProperty.call(p,h)&&(b[b.length]=h);return b},i(c)};return function(c){if(c&&c.__esModule)return c;var p={};if(c!=null)for(var b=i(c),h=0;h<b.length;h++)b[h]!=="default"&&__createBinding(p,c,b[h]);return __setModuleDefault(p,c),p}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.inspectorReduxMiddleware=exports.connectReduxStore=exports.GlobalCrashScreenModal=exports.ErrorBoundary=exports.CrashTab=exports.pruneCrashRecords=exports.getMaxCrashLogsLimit=exports.computeCrashFingerprint=exports.recordUserActionBreadcrumb=exports.recordReduxBreadcrumb=exports.recordNetworkBreadcrumb=exports.recordNavigationBreadcrumb=exports.addCrashBreadcrumb=exports.recordCustomCrash=exports.parseCrashStackTrace=exports.exportCrashReport=exports.triggerGlobalCrashScreen=exports.simulateTestCrash=exports.clearCrashRecords=exports.getCrashRecords=exports.emitCrashEvent=exports.subscribeCrashEvents=exports.setupGlobalCrashHandler=exports.pruneAnalyticsLogs=exports.getMaxAnalyticsLogsLimit=exports.setMaxAnalyticsLogsLimit=exports.getCollectionEnabled=exports.getDefaultEventParameters=exports.getCurrentUserId=exports.getCurrentUserProperties=exports.clearAnalyticsEvents=exports.subscribeAnalyticsEvents=exports.logAnalyticsEvent=exports.setupAnalyticsLogger=exports.pruneConsoleLogs=exports.getMaxConsoleLogsLimit=exports.setMaxConsoleLogsLimit=exports.subscribeConsoleLogs=exports.clearConsoleLogs=exports.setupConsoleLogger=exports.getNetworkLogs=exports.pruneNetworkLogs=exports.getMaxNetworkLogsLimit=exports.setMaxNetworkLogsLimit=exports.addAxiosInterceptors=exports.subscribeNetworkLogs=exports.clearNetworkLogs=exports.setupNetworkLogger=exports.NetworkInspector=exports.InAppInspector=void 0,exports.pruneSocketRecords=exports.getMaxSocketRecordsLimit=exports.setMaxSocketRecordsLimit=exports.getSocketModuleEnabled=exports.setSocketModuleEnabled=exports.getSocketRecords=exports.subscribeSocketRecords=exports.clearSocketRecords=exports.setupSocketLogger=exports.prunePushRecords=exports.getDiscoveredPushSources=exports.setMaxPushRecordsLimit=exports.autoSetupPushLogger=exports.simulateTestPush=exports.subscribePushEvents=exports.clearPushRecords=exports.getPushRecords=exports.recordSalesforcePush=exports.recordPushNotification=exports.subscribeMemoryWarning=exports.pruneAllLogs=exports.setupMemoryWarningHandler=exports.isNativeModuleAvailable=exports.setNativeStorageItem=exports.getNativeStorageItem=exports.getNativeFpsMetrics=exports.stopNativeFpsMonitoring=exports.startNativeFpsMonitoring=exports.subscribeNativeDeviceShake=exports.subscribeNativeFloatingButtonPress=exports.setNativeFloatingButtonBadge=exports.hideNativeFloatingButton=exports.showNativeFloatingButton=exports.subscribeNativeCrashes=exports.enableNativeCrashProtection=exports.getNativeDeviceMetrics=exports.InspectCatch=exports.InspectTrackTime=exports.InspectLog=exports.registerGAPlugin=exports.getEventCategory=exports.isReduxConnected=exports.pruneReduxHistory=exports.getMaxReduxHistoryLimit=exports.setMaxReduxHistoryLimit=exports.getLastActionForReducer=exports.clearActionHistory=exports.getActionHistory=exports.subscribeReduxState=exports.getReduxState=void 0,exports.LogFilter=exports.SettingsSubTab=exports.SettingsPage=exports.ModalAnimationType=exports.LocalFilter=exports.SortOrder=exports.StatusFilter=exports.Method=exports.ActiveTab=exports.subscribeToStorageChanges=exports.clearStorageDriver=exports.removeStorageEntry=exports.setStorageEntry=exports.fetchStorageEntries=exports.getRegisteredMMKVInstanceIds=exports.isMMKVConnected=exports.isAsyncStorageConnected=exports.connectMMKV=exports.connectAsyncStorage=exports.SkeletonPlaceholder=exports.ModuleErrorBoundary=exports.SocketIcon=exports.WebsocketIcon=exports.CloudPushIcon=exports.BellIcon=exports.BrandSquareIcon=exports.BrandCircleIcon=exports.formatLogReport=exports.formatReduxReport=exports.formatAnalyticsReport=exports.formatCrashReport=exports.formatSocketReport=exports.formatPushReport=exports.formatApiReport=exports.shareLogReport=exports.shareReduxReport=exports.shareAnalyticsReport=exports.shareCrashReport=exports.shareSocketReport=exports.sharePushReport=exports.shareApiReport=exports.SocketCard=exports.SocketDetail=exports.SocketTab=exports.analyzeSocketPayload=exports.simulateTestSocket=exports.recordSocketError=exports.recordSocketClose=exports.recordSocketFrame=exports.recordSocketConnection=void 0,exports.LIB_VERSION=exports.MediaEditor=exports.ScreenRecorder=exports.ScreenCapture=exports.isFirebaseRemoteConfigAvailable=exports.fetchRemoteConfigModuleStatus=exports.SUPPORTED_LANGUAGES=exports.I18nextProvider=exports.setTranslations=exports.addTranslations=exports.setLanguage=exports.useTranslation=exports.i18n=exports.t=exports.updateAppColorsTheme=exports.getThemeColors=exports.setAppColors=exports.AppColors=exports.setAppFonts=exports.AppFonts=exports.SocketFilterType=exports.SocketDetailSubTab=exports.SocketFrameType=exports.SocketFrameDirection=exports.SocketStatus=exports.PushFilterType=exports.PushDetailSubTab=exports.PushActionType=exports.PushAppState=exports.BreadcrumbType=exports.CrashFilterType=exports.CrashDetailSubTab=exports.CrashExportFormat=exports.CrashType=exports.DiffResultType=exports.StackFrameType=exports.GAEventCategory=exports.AnalyticsEventSource=exports.ConsoleLogType=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),native_1=require("@react-navigation/native"),i18n_1=require("./i18n"),ErrorBoundary_1=__importDefault(require("./components/ErrorBoundary")),MainScreen_1=__importDefault(require("./components/Inspector/MainScreen")),GlobalCrashScreenModal_1=__importDefault(require("./components/Inspector/GlobalCrashScreenModal")),InspectorContext_1=require("./components/Inspector/InspectorContext"),helpers_1=require("./helpers"),settingsStore_1=require("./helpers/settingsStore"),NativeInspector_1=require("./native/NativeInspector"),networkLogger_1=require("./customHooks/networkLogger"),consoleLogger_1=require("./customHooks/consoleLogger"),logFilters_1=require("./customHooks/logFilters"),crashHandler_1=require("./customHooks/crashHandler"),pushNotificationLogger_1=require("./customHooks/pushNotificationLogger"),socketLogger_1=require("./customHooks/socketLogger"),telemetry_1=require("./helpers/telemetry"),analyticsLogger_1=require("./customHooks/analyticsLogger"),reduxLogger_1=require("./customHooks/reduxLogger"),NativeInspector_2=require("./native/NativeInspector"),remoteConfig_1=require("./helpers/remoteConfig"),capture_1=require("./capture"),constants_1=require("./constants"),styles_1=require("./styles"),NetworkInspector=({enabled:i=!0,storage:c,navigationRef:p,appIcon:b,environment:h,initialVisible:Hs=!1,visible:Te,remoteConfig:Ie})=>{(0,settingsStore_1.setCustomStorage)(c||null);const{t:g}=(0,i18n_1.useTranslation)(),[_e,Pt]=(0,react_1.useState)(!1),[Zt,Fe]=(0,react_1.useState)(null),[er,De]=(0,react_1.useState)({}),[Be,Lt]=(0,react_1.useState)(90),[qe,Rt]=(0,react_1.useState)("slide"),[S,K]=(0,react_1.useState)([]),[m,q]=(0,react_1.useState)(Te??Hs??!1),[tr,vt]=(0,react_1.useState)(!1),[Ot,rr]=(0,react_1.useState)(!1),Gs=(0,react_1.useCallback)(()=>{vt(!0),q(!1)},[]),Vs=(0,react_1.useCallback)(()=>{rr(!0),q(!1),(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{})},[]);(0,react_1.useEffect)(()=>{Te!==void 0&&q(Te)},[Te]);const[sr,or]=(0,react_1.useState)(!1),[x,At]=(0,react_1.useState)(null),[He,be]=(0,react_1.useState)(new Set),[nr,w]=(0,react_1.useState)({visible:!1,title:"",message:"",onConfirm:()=>{}}),[P,ar]=(0,react_1.useState)(""),[xe,Us]=(0,react_1.useState)("all"),[he,Ws]=(0,react_1.useState)(!1),[ye,zs]=(0,react_1.useState)(!1),[re,Mt]=(0,react_1.useState)(!0),[k,Js]=(0,react_1.useState)("all"),[ur,wt]=(0,react_1.useState)(""),[ir,$s]=(0,react_1.useState)(""),[cr,kt]=(0,react_1.useState)(null),[lr,Nt]=(0,react_1.useState)(null),[pr,Xs]=(0,react_1.useState)("state"),[fr,dr]=(0,react_1.useState)("response");(0,react_1.useEffect)(()=>(react_native_1.LogBox.ignoreAllLogs(i),()=>{react_native_1.LogBox.ignoreAllLogs(!1)}),[i]),(0,react_1.useEffect)(()=>{x&&(dr("response"),wt(""))},[x]);const[Y,Et]=(0,react_1.useState)(new Set),[Z,jt]=(0,react_1.useState)(new Set),[se,Qs]=(0,react_1.useState)("all"),[Se,Ks]=(0,react_1.useState)("all"),[oe,Ys]=(0,react_1.useState)("time_desc"),[gr,Tt]=(0,react_1.useState)({}),[It,Ge]=(0,react_1.useState)(()=>new Map),[mr,Ve]=(0,react_1.useState)({}),[br,Zs]=(0,react_1.useState)(!0),[Ue,eo]=(0,react_1.useState)("newest"),[We,to]=(0,react_1.useState)("newest"),[xr,hr]=(0,react_1.useState)(!0),[yr,Sr]=(0,react_1.useState)(!0),[Cr,Pr]=(0,react_1.useState)(!1),[Lr,Rr]=(0,react_1.useState)(!1),[l,H]=(0,react_1.useState)("apis"),[ze,ne]=(0,react_1.useState)([]),[ee,ae]=(0,react_1.useState)([]),_t=(0,react_1.useRef)([]),Ft=(0,react_1.useRef)([]),Dt=(0,react_1.useRef)([]),[vr,Bt]=(0,react_1.useState)(null),[Or,Ar]=(0,react_1.useState)(0),[Mr,wr]=(0,react_1.useState)(0),[kr,Nr]=(0,react_1.useState)(0),[Er,jr]=(0,react_1.useState)(0),[Tr,ro]=(0,react_1.useState)(null),Je=(0,react_1.useCallback)(async()=>{try{const t=await capture_1.ScreenCapture.getMediaList(),e=t?t.length:0;return jr(e),e}catch{return jr(0),0}},[]);(0,react_1.useEffect)(()=>{m&&Je()},[m,Je]);const[Ce,G]=(0,react_1.useState)(()=>(0,crashHandler_1.getCrashRecords)()),[Ir,te]=(0,react_1.useState)(null),[qt,Pe]=(0,react_1.useState)(null),[V,$e]=(0,react_1.useState)(50);(0,react_1.useEffect)(()=>{(0,crashHandler_1.setMaxCrashLogsLimit)(V)},[V]),(0,react_1.useEffect)(()=>{m&&(l==="apis"&&wr(S.length),l==="logs"&&Ar(ee.length),l==="crash"&&Nr(Ce.length))},[m]),(0,react_1.useEffect)(()=>{l==="apis"&&wr(S.length)},[l,S.length]),(0,react_1.useEffect)(()=>{l==="logs"&&Ar(ee.length)},[l,ee.length]),(0,react_1.useEffect)(()=>{l==="crash"&&Nr(Ce.length)},[l,Ce.length]);const[U,_r]=(0,react_1.useState)(()=>(0,pushNotificationLogger_1.getPushRecords)()),[Fr,Dr]=(0,react_1.useState)(null),[Le,so]=(0,react_1.useState)(""),[D,oo]=(0,react_1.useState)("all"),[Xe,no]=(0,react_1.useState)(0),[Qe,Ht]=(0,react_1.useState)(50);(0,react_1.useEffect)(()=>{(0,pushNotificationLogger_1.setMaxPushRecordsLimit)(Qe)},[Qe]),(0,react_1.useEffect)(()=>(0,pushNotificationLogger_1.subscribePushEvents)(e=>{_r(e)}),[]);const Br=(0,react_1.useMemo)(()=>l==="push"?0:Math.max(0,U.length-Xe),[l,U.length,Xe]);(0,react_1.useEffect)(()=>{m&&l==="push"&&no(U.length)},[m,l,U.length]);const qr=(0,react_1.useMemo)(()=>{let t=U;if(D!=="all"){if(D==="foreground")t=t.filter(e=>(e.appState||"").toLowerCase()==="foreground");else if(D==="background")t=t.filter(e=>(e.appState||"").toLowerCase()==="background");else if(D==="opened")t=t.filter(e=>e.action==="opened");else if(D.startsWith("source:")){const e=D.replace("source:","").toLowerCase();t=t.filter(r=>(r.source||"").toLowerCase()===e)}}if(Le.trim()){const e=Le.trim().toLowerCase();t=t.filter(r=>!!(r.title&&r.title.toLowerCase().includes(e)||r.body&&r.body.toLowerCase().includes(e)||r.id&&r.id.toLowerCase().includes(e)||r.source&&r.source.toLowerCase().includes(e)||r.domain&&r.domain.toLowerCase().includes(e)||r.channelId&&r.channelId.toLowerCase().includes(e)||r.data&&JSON.stringify(r.data).toLowerCase().includes(e)))}return t},[U,D,Le]),[W,Ke]=(0,react_1.useState)(()=>(0,socketLogger_1.getSocketRecords)()),[Re,ue]=(0,react_1.useState)(null),[ve,ao]=(0,react_1.useState)(""),[j,uo]=(0,react_1.useState)("all"),[Ye,io]=(0,react_1.useState)(0),[Ze,co]=(0,react_1.useState)(50);(0,react_1.useEffect)(()=>{(0,socketLogger_1.setMaxSocketRecordsLimit)(Ze)},[Ze]),(0,react_1.useEffect)(()=>(0,socketLogger_1.subscribeSocketRecords)(e=>{Ke(e)}),[]);const Hr=(0,react_1.useMemo)(()=>l==="socket"?0:Math.max(0,W.length-Ye),[l,W.length,Ye]);(0,react_1.useEffect)(()=>{m&&l==="socket"&&io(W.length)},[m,l,W.length]);const Gr=(0,react_1.useMemo)(()=>{let t=W;if(j!=="all"&&(j==="open"?t=t.filter(e=>(e.status||"open").toLowerCase()==="open"):j==="closed"?t=t.filter(e=>(e.status||"").toLowerCase()==="closed"):j==="error"?t=t.filter(e=>(e.status||"").toLowerCase()==="error"):j==="sio"?t=t.filter(e=>e.client==="socket.io"||e.url.includes("/socket.io")):j==="wss"?t=t.filter(e=>e.url.startsWith("wss://")):j==="ws"&&(t=t.filter(e=>e.url.startsWith("ws://")))),ve.trim()){const e=ve.trim().toLowerCase();t=t.filter(r=>!!(r.url&&r.url.toLowerCase().includes(e)||r.id&&r.id.toLowerCase().includes(e)||r.client&&r.client.toLowerCase().includes(e)||r.caller&&r.caller.toLowerCase().includes(e)||r.query&&JSON.stringify(r.query).toLowerCase().includes(e)||r.frames&&r.frames.some(s=>!!(s.eventName&&s.eventName.toLowerCase().includes(e)||typeof s.data=="string"&&s.data.toLowerCase().includes(e)||s.data&&typeof s.data=="object"&&JSON.stringify(s.data).toLowerCase().includes(e)))))}return t},[W,j,ve]),[ie,et]=(0,react_1.useState)(300),[z,Gt]=(0,react_1.useState)({info:!0,warn:!0,error:!0}),J=(0,react_1.useMemo)(()=>ee.filter(e=>{const r=e.type;if(r==="info"&&!z?.info||r==="warn"&&!z?.warn||r==="error"&&!z?.error)return!1;const s=e.message||"";return![...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.info||[],...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.warn||[],...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.error||[]].filter(d=>typeof d=="string"&&d.trim().length>0).some(d=>s.toLowerCase().trim().startsWith(d.toLowerCase().trim())||s.toLowerCase().trim().includes(d.toLowerCase().trim()))}).slice(0,ie),[ee,z,ie]),[T,Vr]=(0,react_1.useState)(""),[I,Ur]=(0,react_1.useState)(new Set(["all"])),[Wr,lo]=(0,react_1.useState)(null),[zr,po]=(0,react_1.useState)(!1),[Jr,fo]=(0,react_1.useState)(!1),[$r,go]=(0,react_1.useState)("module"),[A,tt]=(0,react_1.useState)({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),[N,rt]=(0,react_1.useState)(250),[ce,st]=(0,react_1.useState)(150),[le,Vt]=(0,react_1.useState)(!0),[Ut,mo]=(0,react_1.useState)(1800),[pe,Wt]=(0,react_1.useState)(!0),[ot,zt]=(0,react_1.useState)(1),[nt,Xr]=(0,react_1.useState)(60),[at,Qr]=(0,react_1.useState)(.5),[ut,Kr]=(0,react_1.useState)(0),[it,Yr]=(0,react_1.useState)(120),[ct,Zr]=(0,react_1.useState)("png"),[lt,es]=(0,react_1.useState)("none"),[pt,ts]=(0,react_1.useState)(!0),[ft,rs]=(0,react_1.useState)(!0),[ss,bo]=(0,react_1.useState)(!1),[dt,os]=(0,react_1.useState)(.1),[$,gt]=(0,react_1.useState)("apis"),[X,Jt]=(0,react_1.useState)(!1),[$t,Xt]=(0,react_1.useState)(!0);(0,react_1.useEffect)(()=>{(0,networkLogger_1.setNetworkModuleEnabled)(!!A.apis),(0,consoleLogger_1.setConsoleModuleEnabled)(!!A.logs),(0,analyticsLogger_1.setAnalyticsModuleEnabled)(!!A.analytics),(0,reduxLogger_1.setReduxModuleEnabled)(!!A.redux),(0,crashHandler_1.setCrashModuleEnabled)(!!A.crash),(0,socketLogger_1.setSocketModuleEnabled)(!!A.socket)},[A]),(0,react_1.useEffect)(()=>{(0,NativeInspector_1.getNativeSystemMetrics)().then(t=>{if(t){const e=t.totalPhysicalRamMb-t.residentRamMb,r=Math.max(200,Math.round(e>0?e:1500));if(mo(r),le){const s=(0,settingsStore_1.calculateRamBasedLimits)(r);rt(s.maxNetworkLogs),et(s.maxConsoleLogs),st(s.maxAnalyticsEvents),$e(s.maxCrashRecords),Ht(s.maxPushRecords)}}}).catch(()=>{})},[le]);const xo=async()=>{await(0,settingsStore_1.clearPersistedSettings)(),Pt(!1),(0,styles_1.toggleGlobalTheme)(!1),Lt(90),Rt("slide"),tt({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),gt("apis"),Vt(!0);const t=(0,settingsStore_1.calculateRamBasedLimits)(Ut);$e(t.maxCrashRecords),rt(t.maxNetworkLogs),et(t.maxConsoleLogs),st(t.maxAnalyticsEvents),Ht(t.maxPushRecords),Gt({info:!0,warn:!0,error:!0}),Wt(!0),zt(1),Jt(!1),Xt(!0),react_native_1.Alert.alert("Settings Reset","All settings have been reset to default values.")},ns=(0,react_1.useRef)(!1);(0,react_1.useEffect)(()=>{let t=!1;return(0,settingsStore_1.loadSettings)().then(e=>{if(!t){if(e.language&&(0,i18n_1.setLanguage)(e.language),e.isDark!=null&&(Pt(e.isDark),(0,styles_1.toggleGlobalTheme)(e.isDark)),e.modalHeightPercent!=null&&Lt(e.modalHeightPercent),e.modalAnimationType&&Rt(e.modalAnimationType),e.tabVisibility&&tt(r=>({...r,...e.tabVisibility,apis:!0})),e.defaultTab&>(e.defaultTab),e.isAutoRamLimitEnabled!=null&&Vt(e.isAutoRamLimitEnabled),e.maxNetworkLogs!=null&&rt(e.maxNetworkLogs),e.maxConsoleLogs!=null&&et(e.maxConsoleLogs),e.maxAnalyticsEventsLimit!=null&&st(e.maxAnalyticsEventsLimit),e.maxCrashLogs!=null&&$e(e.maxCrashLogs),e.showConsoleLevels&&Gt(e.showConsoleLevels),e.reduxAutoRefresh!=null&&Wt(e.reduxAutoRefresh),e.reduxExpandDepth!=null&&zt(e.reduxExpandDepth),e.captureFps!=null&&Xr(e.captureFps),e.captureScale!=null&&Qr(e.captureScale),e.captureBitrate!=null&&Kr(e.captureBitrate),e.captureMaxDurationSeconds!=null&&Yr(e.captureMaxDurationSeconds),e.captureImageFormat&&Zr(e.captureImageFormat),e.captureAudioMode&&es(e.captureAudioMode),e.captureAutoHide!=null&&ts(e.captureAutoHide),e.captureAutoGif!=null&&rs(e.captureAutoGif),e.peekOpacity!=null&&os(Math.max(.05,Math.min(1,e.peekOpacity))),e.showDuplicateLogs!=null&&Jt(e.showDuplicateLogs),e.showUpdateToast!=null&&Xt(e.showUpdateToast),e.isGroupByPageEnabled!=null&&Mt(e.isGroupByPageEnabled),e.defaultTab){const r=e.defaultTab,s={apis:!0,logs:!0,analytics:!1,redux:!1,crash:!1,device:!1,storage:!1,...e.tabVisibility||{},apis:!0};H(s[r]?r:"apis")}ns.current=!0}}),()=>{t=!0}},[]),(0,react_1.useEffect)(()=>{let t=!0;if(Ie!==!1)return(0,remoteConfig_1.fetchRemoteConfigModuleStatus)(typeof Ie=="object"?Ie:void 0).then(e=>{t&&e&&tt(r=>({...r,...e,apis:e.apis??!0}))}).catch(()=>{}),()=>{t=!1}},[Ie]),(0,react_1.useEffect)(()=>{ns.current&&(0,settingsStore_1.saveSettings)({isDark:_e,language:(0,i18n_1.getLanguage)(),modalHeightPercent:Be,modalAnimationType:qe,tabVisibility:A,defaultTab:$,maxNetworkLogs:N,maxConsoleLogs:ie,maxAnalyticsEventsLimit:ce,maxCrashLogs:V,isAutoRamLimitEnabled:le,isGroupByPageEnabled:re,showConsoleLevels:z,reduxAutoRefresh:pe,reduxExpandDepth:ot,showDuplicateLogs:X,showUpdateToast:$t,captureFps:nt,captureScale:at,captureBitrate:ut,captureMaxDurationSeconds:it,captureImageFormat:ct,captureAudioMode:lt,captureAutoHide:pt,captureAutoGif:ft,peekOpacity:dt})},[_e,Be,qe,A,$,N,ie,ce,V,le,re,z,pe,ot,X,nt,at,ut,it,ct,lt,pt,ft,dt]);const[Oe,ho]=(0,react_1.useState)(null),as=(0,react_1.useMemo)(()=>{if(!Oe)return!1;const t=s=>s.replace(/^v/,"").split(".").map(o=>parseInt(o,10)||0),e=t(constants_1.LIB_VERSION),r=t(Oe);for(let s=0;s<3;s++){if((r[s]||0)>(e[s]||0))return!0;if((r[s]||0)<(e[s]||0))return!1}return!1},[Oe]);(0,react_1.useEffect)(()=>{if(typeof __DEV__>"u"||!__DEV__)return;let t=!1;return fetch("https://registry.npmjs.org/react-native-inapp-inspector/latest").then(e=>e.ok?e.json():null).then(e=>{!t&&e&&typeof e.version=="string"&&ho(e.version)}).catch(()=>{}),()=>{t=!0}},[]),(0,react_1.useEffect)(()=>{(0,reduxLogger_1.setReduxAutoRefresh)(pe)},[pe]),(0,react_1.useEffect)(()=>{l==="redux"&&!(0,reduxLogger_1.isReduxConnected)()&&H("apis"),l==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()&&H("apis")},[l]);const us=t=>{t!=="apis"&&(t==="redux"&&!(0,reduxLogger_1.isReduxConnected)()||t==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()||tt(e=>{const r=!e[t],s={...e,[t]:r};return!r&&l===t&&((0,InspectorContext_1.animateNextLayout)(),H("apis")),!r&&$===t&>("apis"),s}))},Qt=(0,react_1.useCallback)(async(t,e="")=>{if(t==="apis"||t==="logs"||t==="analytics"||t==="crash"){const r=await(0,NativeInspector_1.fetchNativeCachedPage)(t,0,100,e);r&&r.items&&r.items.length>0&&(t==="apis"?K(r.items):t==="logs"?ae(r.items):t==="analytics"?ne(r.items):t==="crash"&&G(r.items))}},[]),is=(0,react_1.useCallback)(t=>{t==="redux"&&!(0,reduxLogger_1.isReduxConnected)()||t==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()||(At(null),mt(null),Bt(null),kt(null),Nt(null),te(null),ue(null),typeof react_1.default.startTransition=="function"?react_1.default.startTransition(()=>{H(t),Qt(t)}):(H(t),Qt(t)),(0,telemetry_1.trackInspectorTabView)(t))},[Qt]),[cs,mt]=(0,react_1.useState)(null),[fe,ls]=(0,react_1.useState)(""),[n,ps]=(0,react_1.useState)({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"}),fs=(0,react_1.useMemo)(()=>!!(n.categories.size>0&&!n.categories.has("all")||n.screens.size>0||n.sources.size>0&&!n.sources.has("all")||n.userTypes.size>0&&!n.userTypes.has("all")||n.timeWindow!=="all"||n.payloadComplexity!=="all"||n.hasRevenue||n.hasItems||n.hasUserProps||n.hasParams||n.onlyDuplicates||n.onlyConversions||n.sortBy!=="time_desc"),[n]),ds=(0,react_1.useCallback)(()=>{ps({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"})},[]),[gs,yo]=(0,react_1.useState)(!1),[ms,So]=(0,react_1.useState)(!1),[bs,xs]=(0,react_1.useState)(new Set),Ae=(0,react_1.useRef)(new Set),[bt,Kt]=(0,react_1.useState)(null),hs=react_1.default.useContext(native_1.NavigationContext)!==void 0,E=(0,react_1.useRef)({path:"",params:null});(0,react_1.useEffect)(()=>((0,networkLogger_1.setRouteInfoProvider)(()=>E.current),(0,socketLogger_1.setSocketRouteInfoProvider)(()=>E.current),()=>{(0,networkLogger_1.setRouteInfoProvider)(null),(0,socketLogger_1.setSocketRouteInfoProvider)(null)}),[]),(0,react_1.useEffect)(()=>{if(bt){const t=(0,helpers_1.getNavigationInfo)(bt);t?.path&&(E.current=t)}},[bt]),(0,react_1.useEffect)(()=>{if(!p)return;const t=()=>{try{if(typeof p.isReady=="function"&&p.isReady()){const r=typeof p.getCurrentRoute=="function"?p.getCurrentRoute():null;r?.name&&(E.current={path:r.name,params:r.params||null});const s=p.getRootState();if(s){Kt(s);const o=(0,helpers_1.getNavigationInfo)(s);o?.path&&(E.current=o)}}}catch{}};t();const e=typeof p.addListener=="function"?p.addListener("state",()=>{t()}):null;return()=>{e&&e()}},[p]);const L=(0,react_1.useRef)(new Map),de=(0,react_1.useRef)(new Set),[ys,Ss]=(0,react_1.useState)(new Set),Me=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,we=(0,react_1.useRef)(new react_native_1.Animated.Value(.4)).current,ke=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,Ne=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,Ee=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,R=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,xt=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const t=R.x.addListener(r=>xt.current.x=r.value),e=R.y.addListener(r=>xt.current.y=r.value);return()=>{R.x.removeListener(t),R.y.removeListener(e)}},[R]);const ht=(0,react_1.useRef)(!1),Cs=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(t,e)=>Math.abs(e.dx)>4||Math.abs(e.dy)>4,onPanResponderGrant:()=>{ht.current=!0,R.setOffset({x:xt.current.x,y:xt.current.y}),R.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:R.x,dy:R.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{R.flattenOffset(),setTimeout(()=>{ht.current=!1},50)},onPanResponderTerminate:()=>{R.flattenOffset(),ht.current=!1}})).current,Ps=(0,react_1.useCallback)(()=>{react_native_1.Animated.sequence([react_native_1.Animated.timing(Ee,{toValue:1,duration:320,useNativeDriver:!1}),react_native_1.Animated.timing(Ee,{toValue:0,duration:0,useNativeDriver:!1})]).start(),Po()},[Ee]);(0,react_1.useEffect)(()=>{react_native_1.Platform.OS==="android"&&react_native_1.UIManager.setLayoutAnimationEnabledExperimental?.(!0)},[]),(0,react_1.useEffect)(()=>{if(m)return;const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(Me,{toValue:1.2,duration:800,useNativeDriver:!1}),react_native_1.Animated.timing(Me,{toValue:1,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Me,m]),(0,react_1.useEffect)(()=>{if(m)return;const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(Ne,{toValue:1,duration:3200,easing:react_native_1.Easing.inOut(react_native_1.Easing.ease),useNativeDriver:!1}),react_native_1.Animated.delay(3500),react_native_1.Animated.timing(Ne,{toValue:0,duration:0,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Ne,m]),(0,react_1.useEffect)(()=>{const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(we,{toValue:1,duration:1200,useNativeDriver:!1}),react_native_1.Animated.timing(we,{toValue:.4,duration:1200,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[we]),(0,react_1.useEffect)(()=>{const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(ke,{toValue:1.3,duration:800,useNativeDriver:!1}),react_native_1.Animated.timing(ke,{toValue:.8,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[ke]);const Co=(0,react_1.useMemo)(()=>(0,NativeInspector_2.isNativeModuleAvailable)(),[]),Q=(react_native_1.Platform.OS==="ios"||react_native_1.Platform.OS==="android")&&Co;(0,react_1.useEffect)(()=>{Q&&(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{})},[Q,m,Ot]),(0,react_1.useEffect)(()=>{if(!Q)return;const t=(0,NativeInspector_2.subscribeNativeFloatingButtonPress)(()=>{(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),q(!0)});return()=>{t()}},[Q]),(0,react_1.useEffect)(()=>{if(!Q)return;const t=(0,NativeInspector_2.subscribeNativeDeviceShake)(()=>{q(e=>{const r=!e;return r&&(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),r})});return()=>{t()}},[Q]);const Ls=(0,react_1.useRef)(m);(0,react_1.useEffect)(()=>{if(Ls.current=m,m){(0,telemetry_1.trackInspectorScreenView)("InspectorModal");const t=$==="apis"||A?.[$]?$:"apis";if(H(t),(0,telemetry_1.trackInspectorTabView)(t),_t.current.length>0){const o=(0,helpers_1.deduplicateLogs)(_t.current),a=new Set(o.map(d=>d.id));de.current=a,K(o)}Ft.current.length>0&&ae(Ft.current),Dt.current.length>0&&ne(Dt.current);const e=(0,reduxLogger_1.getReduxState)();e&&(Fe(typeof e=="object"?{...e}:e),De({...(0,reduxLogger_1.getLastActionForReducer)()}));const r=(0,crashHandler_1.getCrashRecords)();r.length>0&&G(r);const s=requestAnimationFrame(()=>{or(!0)});return()=>{cancelAnimationFrame(s)}}else or(!1),be(new Set)},[m]),(0,react_1.useEffect)(()=>{(0,networkLogger_1.setupNetworkLogger)(),(0,networkLogger_1.clearNetworkLogs)(),(0,consoleLogger_1.setupConsoleLogger)(),(0,analyticsLogger_1.autoSetupAnalyticsLogger)(),(0,crashHandler_1.setupGlobalCrashHandler)(),(0,socketLogger_1.setupSocketLogger)();const t=(0,helpers_1.setupMemoryWarningHandler)(),e=Ls,r=(0,crashHandler_1.subscribeCrashEvents)(u=>{if(u.message==="__CLEARED__"){G([]),te(null),Pe(null);return}const B=(0,crashHandler_1.getCrashRecords)();B.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("crash",JSON.stringify(B[0])),G(B),u.crashRecord&&Pe(u.crashRecord)}),s=(0,crashHandler_1.getCrashRecords)();s.length>0&&(s.forEach(u=>(0,NativeInspector_1.pushNativeLogRecord)("crash",JSON.stringify(u))),G(s));let o,a=!0;const d=(0,networkLogger_1.subscribeNetworkLogs)(u=>{if(_t.current=u,u.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("apis",JSON.stringify(u[0])),!e.current)return;clearTimeout(o);const B=()=>{const y=(0,helpers_1.deduplicateLogs)(u),O=new Set(y.map(F=>F.id)),f=new Set;O.forEach(F=>{de.current.has(F)||f.add(F)}),de.current=O,f.size>0&&(f.forEach(F=>{if(!L.current.has(F)){const vo=y.find(Oo=>Oo.id===F)?.routeInfo||E.current;L.current.set(F,vo)}}),Ss(f),setTimeout(()=>Ss(new Set),1200)),K(y)};if(a){a=!1;const y=(0,helpers_1.deduplicateLogs)(u),O=new Set(y.map(f=>f.id));de.current=O,y.forEach(f=>{if(!L.current.has(f.id)){const F=f?.routeInfo||E.current;L.current.set(f.id,F)}}),K(y)}else o=setTimeout(B,250)});let v,M=!0;const Yt=(0,analyticsLogger_1.subscribeAnalyticsEvents)(u=>{if(Dt.current=u,u.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("analytics",JSON.stringify(u[0])),!e.current)return;clearTimeout(v);const B=()=>{const y=new Set(u.map(f=>f.id)),O=new Set;y.forEach(f=>{Ae.current.has(f)||O.add(f)}),Ae.current=y,O.size>0&&(O.forEach(f=>{L.current.has(f+1e6)||L.current.set(f+1e6,E.current)}),xs(O),setTimeout(()=>xs(new Set),1200)),ne(u)};if(M){M=!1;const y=new Set(u.map(O=>O.id));Ae.current=y,ne(u)}else v=setTimeout(B,200)});let ge,Ct=!0;const _=(0,consoleLogger_1.subscribeConsoleLogs)(u=>{Ft.current=u,u.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("logs",JSON.stringify(u[0])),e.current&&(clearTimeout(ge),Ct?(Ct=!1,ae(u)):ge=setTimeout(()=>{ae(u)},200))}),me=(0,reduxLogger_1.getReduxState)();me&&(Fe(typeof me=="object"?{...me}:me),De({...(0,reduxLogger_1.getLastActionForReducer)()}));const je=(0,reduxLogger_1.subscribeReduxState)(()=>{if(!e.current)return;const u=(0,reduxLogger_1.getReduxState)();Fe(u&&typeof u=="object"?{...u}:u),De({...(0,reduxLogger_1.getLastActionForReducer)()})});return()=>{d(),clearTimeout(o),Yt(),clearTimeout(v),_(),clearTimeout(ge),je(),r(),t()}},[]),(0,react_1.useEffect)(()=>{(0,networkLogger_1.setMaxNetworkLogsLimit)(N)},[N]),(0,react_1.useEffect)(()=>{(0,crashHandler_1.setMaxCrashLogsLimit)(V)},[V]),(0,react_1.useEffect)(()=>{hr(!0),Sr(!0),Pr(!1),Rr(!1),wt("")},[x]);const C=(0,react_1.useMemo)(()=>{let t=S.filter(e=>{if(k&&k!=="all"){if(k==="errors"){if(!(e.status===0||e.status==null||typeof e.status=="number"&&e.status>=400))return!1}else if(k==="success"){if(!(typeof e.status=="number"&&e.status>=200&&e.status<400))return!1}else if(k==="slow"){if((e.duration||0)<500)return!1}else if(k==="graphql"){if(!((e.url||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("apollo")))return!1}else if(e.method?.toUpperCase()!==k.toUpperCase())return!1}if(Y.size>0&&!Y.has("all")){const r=typeof e.status=="number"?e.status:parseInt(String(e.status),10);if(![...Y].some(o=>{const a=String(o).toLowerCase();if(a==="all")return!0;if(a==="failed")return e.status===0||e.status==null||!isNaN(r)&&r>=400;if(a==="2xx")return!isNaN(r)&&r>=200&&r<300;if(a==="3xx")return!isNaN(r)&&r>=300&&r<400;if(a==="4xx")return!isNaN(r)&&r>=400&&r<500;if(a==="5xx")return!isNaN(r)&&r>=500&&r<600;if(!isNaN(r)){const d=parseInt(String(o),10);if(!isNaN(d)&&d>=100)return r===d}return String(e.status).startsWith(String(o)[0])}))return!1}if(Z.size>0&&!Z.has("all")&&![...Z].some(s=>String(s).toUpperCase()==="ALL"?!0:e.method?.toUpperCase()===String(s).toUpperCase()))return!1;if(se!=="all"){const r=e.duration||0;if(se==="fast"&&r>=200||se==="normal"&&(r<200||r>500)||se==="slow"&&r<=500)return!1}if(Se!=="all"){const r=(e.url||"").toLowerCase().startsWith("https");if(Se==="https"&&!r||Se==="http"&&r)return!1}if(P&&P.trim().length>0){const r=L.current.get(e.id)?.path||"";if(!(0,helpers_1.matchNetworkLogQuery)(e,P,r,{scope:xe,isRegex:he,isCaseSensitive:ye}))return!1}return!0});if(oe==="time_asc"||Ue==="oldest"?t=[...t].reverse():oe==="duration_desc"?t=[...t].sort((e,r)=>(r.duration||0)-(e.duration||0)):oe==="duration_asc"?t=[...t].sort((e,r)=>(e.duration||0)-(r.duration||0)):oe==="size_desc"&&(t=[...t].sort((e,r)=>{const s=(e.response?JSON.stringify(e.response).length:0)+(e.request?JSON.stringify(e.request).length:0);return(r.response?JSON.stringify(r.response).length:0)+(r.request?JSON.stringify(r.request).length:0)-s})),!X){const e=[];for(const r of t){const s=e[e.length-1];s&&s.method===r.method&&s.url===r.url&&s.status===r.status?e[e.length-1]={...s,duplicateCount:(s.duplicateCount||1)+1}:e.push({...r,duplicateCount:1})}t=e}return t},[S,P,xe,he,ye,k,Y,Z,se,Se,oe,Ue,X]),Rs=(0,react_1.useMemo)(()=>{const t=new Set;return S.forEach(e=>{e.method&&t.add(e.method.toUpperCase())}),["ALL",...Array.from(t)]},[S]),vs=(0,react_1.useCallback)((t,e)=>{Tt(r=>{const s=r[t]||new Set(["success","failed","loading"]),o=new Set(s);return o.has(e)?o.delete(e):o.add(e),{...r,[t]:o}})},[]),yt=(0,react_1.useMemo)(()=>{if(E.current?.path){const t=E.current.path.split(" \u2794 ").map(e=>e.trim()).filter(Boolean);return t.length>0?t[t.length-1]:E.current.path}if(C.length>0){const t=C[0],e=L.current.get(t.id)||t?.routeInfo;return(0,helpers_1.getLogPageName)(t,e)}return""},[C,bt]),Os=(0,react_1.useCallback)(t=>{Ge(e=>{const r=new Map(e),o=!!(P&&P.trim().length>0)?!0:t===yt,a=r.has(t)?r.get(t):o;return r.set(t,!a),r})},[yt,P]);(0,react_1.useEffect)(()=>{Ve({}),Ge(new Map)},[P,xe,he,ye,k,Y,Z,N]);const As=(0,react_1.useCallback)((t,e=10)=>{Ve(r=>({...r,[t]:(r[t]||N||50)+e}))},[N]),Ms=(0,react_1.useMemo)(()=>{if(!re)return C.map((o,a)=>{const d=L.current.get(o.id)||o?.routeInfo,v=(0,helpers_1.getLogPageName)(o,d);return{type:"log",id:`flat-log-${o.id}`,log:o,isLast:a===C.length-1,color:(0,helpers_1.getDomainColor)(v)}});const t=[],e=new Map;for(let o=0;o<C.length;o++){const a=C[o],d=L.current.get(a.id)||a?.routeInfo,v=(0,helpers_1.getLogPageName)(a,d);let M=e.get(v);M||(M={pageName:v,color:(0,helpers_1.getDomainColor)(v),logs:[]},e.set(v,M)),M.logs.push(a)}const r=!!(P&&P.trim().length>0);let s=0;return e.forEach(o=>{let a=0,d=0,v=0;o.logs.forEach(_=>{_.status==null?v++:_.status===0||_.status>=400?d++:a++});const M=gr[o.pageName]||new Set(["success","failed","loading"]),Yt=r?!0:o.pageName===yt,ge=It.has(o.pageName)?!It.get(o.pageName):!Yt,Ct=o.logs[0]?.startTime||0;if(t.push({type:"header",id:`hdr-${o.pageName}`,pageName:o.pageName,color:o.color,stats:{success:a,failed:d,loading:v},timestamp:Ct,activeFilters:M,isCollapsed:ge,isFirst:s===0}),s++,!ge){const _=o.logs.filter(f=>f.status==null?M.has("loading"):f.status===0||f.status>=400?M.has("failed"):M.has("success")),me=N||50,je=mr[o.pageName]||me,u=_.slice(0,je),B=_.length>je;u.forEach(f=>{t.push({type:"log",id:`log-${f.id}`,log:f,isLast:!1,color:o.color})});const y=Math.max(0,_.length-je),O=Math.min(y||10,10);t.push({type:"loadMore",id:`loadmore-${o.pageName}`,pageName:o.pageName,color:o.color,remainingCount:y,totalCount:_.length,loadedCount:u.length,loadMoreStep:O,hasMore:B})}}),t},[re,C,S,gr,It,yt,mr,N,P]),{minStart:ws,totalRange:ks}=(0,react_1.useMemo)(()=>{if(C.length===0)return{minStart:0,totalRange:0};const t=Math.min(...C.map(r=>r.startTime)),e=Math.max(...C.map(r=>r.startTime+(r.duration||10)));return{minStart:t,totalRange:e-t}},[C]),St=(0,react_1.useMemo)(()=>{if(!x)return null;const t=S.findIndex(e=>e.id===x.id);if(t===-1)return null;for(let e=t+1;e<S.length;e++){const r=S[e];if(r.url===x.url&&r.method===x.method)return r}return null},[x,S]),Ns=St?St.request:null,Es=St?St.response:null,js=(0,react_1.useMemo)(()=>{let t=ze;if(fe&&fe.trim().length>0){const s=fe.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(o=>{const a=[o.name||"",JSON.stringify(o.params||""),JSON.stringify(o.userProperties||""),o.screenName||"",o.pageTitle||"",o.userId||"",o.source||""].join(" ").toLowerCase();return s.every(d=>a.includes(d))})}if(n.categories.size>0&&!n.categories.has("all")&&(t=t.filter(s=>{const o=(0,helpers_1.getEventCategory)(s.name);return n.categories.has(o)})),n.timeWindow!=="all"){const s=Date.now(),o=n.timeWindow==="1m"?s-60*1e3:n.timeWindow==="5m"?s-300*1e3:n.timeWindow==="15m"?s-900*1e3:s-3600*1e3;t=t.filter(a=>a.timestamp>=o)}if(n.sources.size>0&&!n.sources.has("all")&&(t=t.filter(s=>n.sources.has(s.source||"manual"))),n.userTypes.size>0&&!n.userTypes.has("all")&&(t=t.filter(s=>{const o=!!(s.userId&&s.userId.trim()!=="");return!!(n.userTypes.has("identified")&&o||n.userTypes.has("anonymous")&&!o)})),n.payloadComplexity!=="all"&&(n.payloadComplexity==="none"?t=t.filter(s=>!s.params||Object.keys(s.params).length===0):n.payloadComplexity==="simple"?t=t.filter(s=>s.params&&Object.keys(s.params).length<=3):n.payloadComplexity==="heavy"&&(t=t.filter(s=>s.params&&Object.keys(s.params).length>3))),n.onlyConversions){const s=["purchase","item_purchase","ecommerce_purchase","sign_up","login","lead","generate_lead","tutorial_complete","add_payment_info","begin_checkout","spend_virtual_currency"];t=t.filter(o=>s.some(a=>o.name.toLowerCase().includes(a)))}n.screens.size>0&&(t=t.filter(s=>{const o=s.screenName||s.params?.firebase_screen||s.params?.screen_name||s.params?.firebase_screen_class||s.screenClass||"";return n.screens.has(o)})),n.hasRevenue&&(t=t.filter(s=>s.params?.value!=null&&!isNaN(Number(s.params.value))||s.params?.price!=null&&!isNaN(Number(s.params.price)))),n.hasItems&&(t=t.filter(s=>Array.isArray(s.params?.items)&&s.params.items.length>0)),n.hasUserProps&&(t=t.filter(s=>s.userProperties&&Object.keys(s.userProperties).length>0)),n.hasParams&&(t=t.filter(s=>s.params&&Object.keys(s.params).length>0));const e=[];for(const s of t){if(e.length===0){e.push({...s,count:1});continue}const o=e[e.length-1];o.name===s.name&&JSON.stringify(o.params)===JSON.stringify(s.params)&&JSON.stringify(o.userProperties)===JSON.stringify(s.userProperties)?(o.count=(o.count||1)+1,o.timestamp=s.timestamp,o.id=s.id):e.push({...s,count:1})}let r=e;return n.onlyDuplicates&&(r=r.filter(s=>(s.count||1)>1)),n.sortBy==="time_asc"?r=[...r].sort((s,o)=>s.timestamp-o.timestamp):n.sortBy==="revenue_desc"?r=[...r].sort((s,o)=>{const a=Number(s.params?.value??s.params?.price??0);return Number(o.params?.value??o.params?.price??0)-a}):n.sortBy==="count_desc"&&(r=[...r].sort((s,o)=>(o.count||1)-(s.count||1))),r.slice(0,ce)},[ze,fe,n,ce]),Ts=(0,react_1.useMemo)(()=>{let t=J;if(I.size>0&&!I.has("all")&&(t=t.filter(e=>!!(I.has("user-log")&&e.sourceMethod==="log"||I.has("info")&&(e.sourceMethod==="info"||e.type==="info"&&e.sourceMethod!=="log")||I.has("warn")&&(e.type==="warn"||e.sourceMethod==="warn")||I.has("error")&&(e.type==="error"||e.sourceMethod==="error")||I.has("analytics")&&e.message?.toLowerCase().includes("[analytics error]")))),T&&T.trim().length>0){const e=T.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(r=>{const s=[r.message||"",r.caller||"",r.type||"",r.sourceMethod||"",r.stack||""].join(" ").toLowerCase();return e.every(o=>o==="error"||o==="err"?r.type==="error"||s.includes(o):o==="warn"||o==="warning"?r.type==="warn"||s.includes(o):o==="info"&&r.type==="info"||s.includes(o))})}if(t=[...t].sort((e,r)=>We==="newest"?r.timestamp-e.timestamp:e.timestamp-r.timestamp),!X){const e=[];for(const r of t){const s=e[e.length-1];s&&s.type===r.type&&s.sourceMethod===r.sourceMethod&&s.message===r.message?e[e.length-1]={...s,duplicateCount:(s.duplicateCount||1)+1}:e.push({...r,duplicateCount:1})}t=e}return t},[J,I,T,We,X]),Is=(0,react_1.useMemo)(()=>{let t=J;if(T&&T.trim().length>0){const r=T.trim().toLowerCase().split(/\s+/).filter(Boolean);t=J.filter(s=>{const o=[s.message||"",s.caller||"",s.type||"",s.sourceMethod||"",s.stack||""].join(" ").toLowerCase();return r.every(a=>a==="error"||a==="err"?s.type==="error"||o.includes(a):a==="warn"||a==="warning"?s.type==="warn"||o.includes(a):a==="info"&&s.type==="info"||o.includes(a))})}const e=J.length;return{all:`${t.length}/${e}`,info:`${t.filter(r=>r.sourceMethod==="info"||r.type==="info"&&r.sourceMethod!=="log").length}/${e}`,warn:`${t.filter(r=>r.type==="warn"||r.sourceMethod==="warn").length}/${e}`,error:`${t.filter(r=>r.type==="error"||r.sourceMethod==="error").length}/${e}`,"user-log":`${t.filter(r=>r.sourceMethod==="log").length}/${e}`,analytics:`${t.filter(r=>r.message.toLowerCase().includes("[analytics error]")).length}/${e}`}},[J,T]),_s=(0,react_1.useCallback)(()=>{q(!1),vt(!1),setTimeout(()=>{At(null),mt(null),Bt(null),kt(null),Nt(null),te(null),ue(null)},300)},[]);function Po(){(0,networkLogger_1.clearNetworkLogs)(),K([]),be(new Set),Tt({}),Ge(new Map),Ve({}),Et(new Set),jt(new Set),ar(""),de.current=new Set,L.current=new Map,(0,analyticsLogger_1.clearAnalyticsEvents)(),ne([]),ls(""),Ae.current=new Set,(0,consoleLogger_1.clearConsoleLogs)(),ae([]),Ur(new Set(["all"])),Vr("")}function Fs(){if(l==="logs"){w({visible:!0,title:g("console.clearLogsTitle","Clear Console Logs"),message:g("console.clearLogsMsg","Are you sure you want to clear all console logs?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{w(t=>({...t,visible:!1})),(0,consoleLogger_1.clearConsoleLogs)(),ae([])}});return}if(l==="analytics"){w({visible:!0,title:g("analytics.clearEventsTitle","Clear Analytics"),message:g("analytics.clearEventsMsg","Are you sure you want to clear all analytics events?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{w(t=>({...t,visible:!1})),(0,analyticsLogger_1.clearAnalyticsEvents)(),ne([]),mt(null),Ae.current=new Set}});return}if(l==="redux"){w({visible:!0,title:g("redux.clearTimelineTitle","Clear Redux Timeline"),message:g("redux.clearTimelineMsg","Are you sure you want to clear the dispatched action history?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{w(t=>({...t,visible:!1})),(0,reduxLogger_1.clearActionHistory)(),De({})}});return}if(l==="crash"){w({visible:!0,title:g("crash.clearTitle","Clear Crash Records"),message:g("crash.clearMessage","Are you sure you want to clear all intercepted crash records?"),confirmText:g("crash.clearConfirm","Clear All"),cancelText:g("crash.clearCancel","Cancel"),onConfirm:()=>{w(t=>({...t,visible:!1})),(0,crashHandler_1.clearCrashRecords)(),G([]),te(null)}});return}He.size>0?(K(t=>t.filter(e=>!He.has(e.id))),be(new Set)):w({visible:!0,title:g("network.clearLogsTitle","Clear Network Logs"),message:g("network.clearLogsMsg","Are you sure you want to clear all network logs?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{w(t=>({...t,visible:!1})),Lo()}})}function Lo(){(0,networkLogger_1.clearNetworkLogs)(),K([]),be(new Set),Tt({}),Ge(new Map),Ve({}),Et(new Set),jt(new Set),de.current=new Set,L.current=new Map}const Ds=(0,react_1.useMemo)(()=>{if(!x)return"";try{const e=new URL(x.url).pathname.split("/").filter(Boolean);return e.length>0?`/${e.slice(-2).join("/")}`:"/"}catch{const t=x.url.split("/").filter(Boolean);return t.length>0?`/${t.slice(-2).join("/")}`:x.url}},[x]),Bs=(0,react_1.useMemo)(()=>x?(0,helpers_1.formatDisplayUrl)(x.url):"",[x]),qs=(0,react_1.useCallback)(t=>{be(e=>{const r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},[]),Ro=(0,react_1.useMemo)(()=>({visible:m,setVisible:q,closeModal:_s,isMinimized:tr,setIsMinimized:vt,minimizeInspector:Gs,isDismissed:Ot,setIsDismissed:rr,dismissInspector:Vs,isReady:sr,enabled:i,isEnabled:i,appIcon:b,environment:h,modalHeightPercent:Be,setModalHeightPercent:Lt,modalAnimationType:qe,setModalAnimationType:Rt,hasNavigationContext:hs,setNavState:Kt,activeTab:l,switchActiveTab:is,tabVisibility:A,toggleTabVisibility:us,lastReadApisCount:Mr,lastReadLogsCount:Or,mediaCount:Er,refreshMediaCount:Je,selected:x,setSelected:At,selectedEvent:cs,setSelectedEvent:mt,selectedLog:vr,setSelectedLog:Bt,showHeaderInfo:br,setShowHeaderInfo:Zs,settingsPage:Wr,setSettingsPage:lo,isAboutOpen:zr,setIsAboutOpen:po,isSupportOpen:Jr,setIsSupportOpen:fo,updateAvailable:as,latestNpmVersion:Oe,clearAnim:Ee,activePulseAnim:we,unreadPulseAnim:ke,runClearAllWithAnimation:Ps,confirmModal:nr,setConfirmModal:w,useNativeFab:Q,fabPan:R,fabPanResponder:Cs,fabDraggedRef:ht,pulseAnim:Me,fabShineAnim:Ne,logs:S,filteredLogs:C,groupedData:Ms,search:P,setSearch:ar,searchScope:xe,setSearchScope:Us,isRegexSearch:he,setIsRegexSearch:Ws,isCaseSensitive:ye,setIsCaseSensitive:zs,quickFilter:k,setQuickFilter:Js,statusFilters:Y,setStatusFilters:Et,methodFilters:Z,setMethodFilters:jt,latencyFilter:se,setLatencyFilter:Qs,protocolFilter:Se,setProtocolFilter:Ks,networkSortBy:oe,setNetworkSortBy:Ys,availableMethods:Rs,sortOrder:Ue,setSortOrder:eo,selectedLogs:He,toggleSelect:qs,minStart:ws,totalRange:ks,newLogIds:ys,toggleSectionFilter:vs,toggleSectionCollapse:Os,loadMoreSection:As,handleDelete:Fs,isGroupByPageEnabled:re,setIsGroupByPageEnabled:Mt,detailTitle:Ds,detailDisplayUrl:Bs,apiDetailActiveTab:fr,setApiDetailActiveTab:dr,detailSearch:ur,setDetailSearch:wt,reqExpanded:xr,setReqExpanded:hr,resExpanded:yr,setResExpanded:Sr,showReqDiff:Cr,setShowReqDiff:Pr,showResDiff:Lr,setShowResDiff:Rr,prevRequestData:Ns,prevResponseData:Es,logRouteMapRef:L,consoleLogs:ee,visibleConsoleLogs:J,filteredConsoleLogs:Ts,logSearch:T,setLogSearch:Vr,logFilters:I,setLogFilters:Ur,logCounts:Is,logSortOrder:We,setLogSortOrder:to,analyticsEvents:ze,filteredAnalyticsEvents:js,analyticsSearch:fe,setAnalyticsSearch:ls,analyticsFilters:n,setAnalyticsFilters:ps,isAnalyticsFilterApplied:fs,resetAnalyticsFilters:ds,newEventIds:bs,isAnalyticsLayoutReady:gs,setIsAnalyticsLayoutReady:yo,analyticsHeaderExpanded:ms,setAnalyticsHeaderExpanded:So,reduxState:Zt,setReduxState:Fe,reduxLastActionMap:er,reduxSearch:ir,setReduxSearch:$s,selectedReduxSlice:cr,setSelectedReduxSlice:kt,selectedReduxAction:lr,setSelectedReduxAction:Nt,reduxActiveSubTab:pr,setReduxActiveSubTab:Xs,crashRecords:Ce,setCrashRecords:G,selectedCrash:Ir,setSelectedCrash:te,lastReadCrashesCount:kr,maxCrashLogs:V,setMaxCrashLogs:$e,clearAllCrashes:()=>{(0,crashHandler_1.clearCrashRecords)(),G([]),te(null)},pushRecords:U,filteredPushRecords:qr,selectedPush:Fr,setSelectedPush:Dr,pushSearch:Le,setPushSearch:so,pushQuickFilter:D,setPushQuickFilter:oo,lastReadPushCount:Xe,unreadPushCount:Br,maxPushLogs:Qe,setMaxPushLogs:Ht,clearAllPushLogs:()=>{(0,pushNotificationLogger_1.clearPushRecords)(),_r([]),Dr(null)},simulatePush:(t,e)=>{(0,pushNotificationLogger_1.simulateTestPush)(t,e)},socketRecords:W,filteredSocketRecords:Gr,selectedSocket:Re,setSelectedSocket:ue,socketSearch:ve,setSocketSearch:ao,socketQuickFilter:j,setSocketQuickFilter:uo,lastReadSocketCount:Ye,unreadSocketCount:Hr,maxSocketLogs:Ze,setMaxSocketLogs:co,clearAllSocketLogs:()=>{(0,socketLogger_1.clearSocketRecords)(),Ke([]),ue(null)},deleteSocketRecord:t=>{(0,socketLogger_1.deleteSocketRecord)(t),Ke(e=>e.filter(r=>r.id!==t)),Re?.id===t&&ue(null)},deleteMultipleSocketRecords:t=>{(0,socketLogger_1.deleteMultipleSocketRecords)(t);const e=new Set(t);Ke(r=>r.filter(s=>!e.has(s.id))),Re&&e.has(Re.id)&&ue(null)},simulateSocket:(t,e)=>{(0,socketLogger_1.simulateTestSocket)(t,e)},settingsActiveSubTab:$r,setSettingsActiveSubTab:go,defaultTab:$,setDefaultTab:gt,isDark:_e,setIsDark:Pt,showDuplicateLogs:X,setShowDuplicateLogs:Jt,showUpdateToast:$t,setShowUpdateToast:Xt,showConsoleLevels:z,setShowConsoleLevels:Gt,resetToDefaults:xo,storage:c,maxNetworkLogs:N,setMaxNetworkLogs:rt,maxConsoleLogs:ie,setMaxConsoleLogs:et,maxAnalyticsEventsLimit:ce,setMaxAnalyticsEventsLimit:st,isAutoRamLimitEnabled:le,setIsAutoRamLimitEnabled:Vt,deviceFreeRamMb:Ut,reduxAutoRefresh:pe,setReduxAutoRefreshState:Wt,reduxExpandDepth:ot,setReduxExpandDepth:zt,captureFps:nt,setCaptureFps:Xr,captureScale:at,setCaptureScale:Qr,captureBitrate:ut,setCaptureBitrate:Kr,captureMaxDurationSeconds:it,setCaptureMaxDurationSeconds:Yr,captureImageFormat:ct,setCaptureImageFormat:Zr,captureAudioMode:lt,setCaptureAudioMode:es,captureAutoHide:pt,setCaptureAutoHide:ts,captureAutoGif:ft,setCaptureAutoGif:rs,peekMode:ss,setPeekMode:bo,peekOpacity:dt,setPeekOpacity:os,previewMediaItem:Tr,setPreviewMediaItem:ro}),[m,_s,sr,i,b,h,Be,qe,hs,Kt,l,is,A,us,Mr,Or,Er,Je,Tr,x,cs,vr,br,Wr,zr,Jr,as,Oe,Ee,we,ke,Ps,Q,R,Cs,Me,Ne,S,C,Ms,P,xe,he,ye,k,Y,Z,Rs,Ue,He,qs,ws,ks,ys,vs,Os,As,Fs,re,Mt,Ds,Bs,fr,ur,xr,yr,Cr,Lr,Ns,Es,ee,J,Ts,T,I,Is,We,ze,js,fe,n,fs,ds,bs,gs,ms,Zt,er,ir,cr,lr,pr,Ce,Ir,kr,V,U,qr,Fr,Le,D,Xe,Br,Qe,W,Gr,Re,ve,j,Ye,Hr,Ze,$r,$,_e,X,$t,z,c,N,ie,ce,le,Ut,pe,ot,nt,at,ut,it,ct,lt,pt,ft,ss,dt,tr,Ot,nr]);return<InspectorContext_1.InspectorContext.Provider value={Ro}>
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,c,p,x){x===void 0&&(x=p);var y=Object.getOwnPropertyDescriptor(c,p);(!y||("get"in y?!c.__esModule:y.writable||y.configurable))&&(y={enumerable:!0,get:function(){return c[p]}}),Object.defineProperty(i,x,y)}):(function(i,c,p,x){x===void 0&&(x=p),i[x]=c[p]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,c){Object.defineProperty(i,"default",{enumerable:!0,value:c})}):function(i,c){i.default=c}),__importStar=this&&this.__importStar||(function(){var i=function(c){return i=Object.getOwnPropertyNames||function(p){var x=[];for(var y in p)Object.prototype.hasOwnProperty.call(p,y)&&(x[x.length]=y);return x},i(c)};return function(c){if(c&&c.__esModule)return c;var p={};if(c!=null)for(var x=i(c),y=0;y<x.length;y++)x[y]!=="default"&&__createBinding(p,c,x[y]);return __setModuleDefault(p,c),p}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.inspectorReduxMiddleware=exports.connectReduxStore=exports.GlobalCrashScreenModal=exports.ErrorBoundary=exports.CrashTab=exports.pruneCrashRecords=exports.getMaxCrashLogsLimit=exports.computeCrashFingerprint=exports.recordUserActionBreadcrumb=exports.recordReduxBreadcrumb=exports.recordNetworkBreadcrumb=exports.recordNavigationBreadcrumb=exports.addCrashBreadcrumb=exports.recordCustomCrash=exports.parseCrashStackTrace=exports.exportCrashReport=exports.triggerGlobalCrashScreen=exports.simulateTestCrash=exports.clearCrashRecords=exports.getCrashRecords=exports.emitCrashEvent=exports.subscribeCrashEvents=exports.setupGlobalCrashHandler=exports.pruneAnalyticsLogs=exports.getMaxAnalyticsLogsLimit=exports.setMaxAnalyticsLogsLimit=exports.getCollectionEnabled=exports.getDefaultEventParameters=exports.getCurrentUserId=exports.getCurrentUserProperties=exports.clearAnalyticsEvents=exports.subscribeAnalyticsEvents=exports.logAnalyticsEvent=exports.setupAnalyticsLogger=exports.pruneConsoleLogs=exports.getMaxConsoleLogsLimit=exports.setMaxConsoleLogsLimit=exports.subscribeConsoleLogs=exports.clearConsoleLogs=exports.setupConsoleLogger=exports.getNetworkLogs=exports.pruneNetworkLogs=exports.getMaxNetworkLogsLimit=exports.setMaxNetworkLogsLimit=exports.addAxiosInterceptors=exports.subscribeNetworkLogs=exports.clearNetworkLogs=exports.setupNetworkLogger=exports.NetworkInspector=exports.InAppInspector=void 0,exports.pruneSocketRecords=exports.getMaxSocketRecordsLimit=exports.setMaxSocketRecordsLimit=exports.getSocketModuleEnabled=exports.setSocketModuleEnabled=exports.getSocketRecords=exports.subscribeSocketRecords=exports.clearSocketRecords=exports.setupSocketLogger=exports.prunePushRecords=exports.getDiscoveredPushSources=exports.setMaxPushRecordsLimit=exports.autoSetupPushLogger=exports.simulateTestPush=exports.subscribePushEvents=exports.clearPushRecords=exports.getPushRecords=exports.recordSalesforcePush=exports.recordPushNotification=exports.subscribeMemoryWarning=exports.pruneAllLogs=exports.setupMemoryWarningHandler=exports.isNativeModuleAvailable=exports.setNativeStorageItem=exports.getNativeStorageItem=exports.getNativeFpsMetrics=exports.stopNativeFpsMonitoring=exports.startNativeFpsMonitoring=exports.subscribeNativeDeviceShake=exports.subscribeNativeFloatingButtonPress=exports.setNativeFloatingButtonBadge=exports.hideNativeFloatingButton=exports.showNativeFloatingButton=exports.subscribeNativeCrashes=exports.enableNativeCrashProtection=exports.getNativeDeviceMetrics=exports.InspectCatch=exports.InspectTrackTime=exports.InspectLog=exports.registerGAPlugin=exports.getEventCategory=exports.isReduxConnected=exports.pruneReduxHistory=exports.getMaxReduxHistoryLimit=exports.setMaxReduxHistoryLimit=exports.getLastActionForReducer=exports.clearActionHistory=exports.getActionHistory=exports.subscribeReduxState=exports.getReduxState=void 0,exports.LogFilter=exports.SettingsSubTab=exports.SettingsPage=exports.ModalAnimationType=exports.LocalFilter=exports.SortOrder=exports.StatusFilter=exports.Method=exports.ActiveTab=exports.subscribeToStorageChanges=exports.clearStorageDriver=exports.removeStorageEntry=exports.setStorageEntry=exports.fetchStorageEntries=exports.getRegisteredMMKVInstanceIds=exports.isMMKVConnected=exports.isAsyncStorageConnected=exports.connectMMKV=exports.connectAsyncStorage=exports.SkeletonPlaceholder=exports.ModuleErrorBoundary=exports.SocketIcon=exports.WebsocketIcon=exports.CloudPushIcon=exports.BellIcon=exports.BrandSquareIcon=exports.BrandCircleIcon=exports.formatLogReport=exports.formatReduxReport=exports.formatAnalyticsReport=exports.formatCrashReport=exports.formatSocketReport=exports.formatPushReport=exports.formatApiReport=exports.shareLogReport=exports.shareReduxReport=exports.shareAnalyticsReport=exports.shareCrashReport=exports.shareSocketReport=exports.sharePushReport=exports.shareApiReport=exports.SocketCard=exports.SocketDetail=exports.SocketTab=exports.analyzeSocketPayload=exports.simulateTestSocket=exports.recordSocketError=exports.recordSocketClose=exports.recordSocketFrame=exports.recordSocketConnection=void 0,exports.LIB_VERSION=exports.MediaEditor=exports.ScreenRecorder=exports.ScreenCapture=exports.isFirebaseRemoteConfigAvailable=exports.fetchRemoteConfigModuleStatus=exports.SUPPORTED_LANGUAGES=exports.I18nextProvider=exports.setTranslations=exports.addTranslations=exports.setLanguage=exports.useTranslation=exports.i18n=exports.t=exports.updateAppColorsTheme=exports.getThemeColors=exports.setAppColors=exports.AppColors=exports.setAppFonts=exports.AppFonts=exports.SocketFilterType=exports.SocketDetailSubTab=exports.SocketFrameType=exports.SocketFrameDirection=exports.SocketStatus=exports.PushFilterType=exports.PushDetailSubTab=exports.PushActionType=exports.PushAppState=exports.BreadcrumbType=exports.CrashFilterType=exports.CrashDetailSubTab=exports.CrashExportFormat=exports.CrashType=exports.DiffResultType=exports.StackFrameType=exports.GAEventCategory=exports.AnalyticsEventSource=exports.ConsoleLogType=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),native_1=require("@react-navigation/native"),i18n_1=require("./i18n"),ErrorBoundary_1=__importDefault(require("./components/ErrorBoundary")),MainScreen_1=__importDefault(require("./components/Inspector/MainScreen")),GlobalCrashScreenModal_1=__importDefault(require("./components/Inspector/GlobalCrashScreenModal")),InspectorContext_1=require("./components/Inspector/InspectorContext"),helpers_1=require("./helpers"),settingsStore_1=require("./helpers/settingsStore"),NativeInspector_1=require("./native/NativeInspector"),networkLogger_1=require("./customHooks/networkLogger"),consoleLogger_1=require("./customHooks/consoleLogger"),logFilters_1=require("./customHooks/logFilters"),crashHandler_1=require("./customHooks/crashHandler"),pushNotificationLogger_1=require("./customHooks/pushNotificationLogger"),socketLogger_1=require("./customHooks/socketLogger"),telemetry_1=require("./helpers/telemetry"),analyticsLogger_1=require("./customHooks/analyticsLogger"),reduxLogger_1=require("./customHooks/reduxLogger"),NativeInspector_2=require("./native/NativeInspector"),remoteConfig_1=require("./helpers/remoteConfig"),capture_1=require("./capture"),constants_1=require("./constants"),styles_1=require("./styles"),NetworkInspector=({enabled:i=!0,storage:c,navigationRef:p,appIcon:x,environment:y,initialVisible:Gs=!1,visible:Te,remoteConfig:Ie})=>{(0,settingsStore_1.setCustomStorage)(c||null);const{t:g}=(0,i18n_1.useTranslation)(),[_e,Pt]=(0,react_1.useState)(!1),[er,Fe]=(0,react_1.useState)(null),[tr,De]=(0,react_1.useState)({}),[Be,Lt]=(0,react_1.useState)(90),[qe,Rt]=(0,react_1.useState)("slide"),[P,K]=(0,react_1.useState)([]),[m,q]=(0,react_1.useState)(Te??Gs??!1),[rr,vt]=(0,react_1.useState)(!1),[Ot,sr]=(0,react_1.useState)(!1),Vs=(0,react_1.useCallback)(()=>{vt(!0),q(!1)},[]),Us=(0,react_1.useCallback)(()=>{sr(!0),q(!1),(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{})},[]);(0,react_1.useEffect)(()=>{Te!==void 0&&q(Te)},[Te]);const[or,nr]=(0,react_1.useState)(!1),[h,At]=(0,react_1.useState)(null),[He,be]=(0,react_1.useState)(new Set),[ar,k]=(0,react_1.useState)({visible:!1,title:"",message:"",onConfirm:()=>{}}),[v,ur]=(0,react_1.useState)(""),[xe,Ws]=(0,react_1.useState)("all"),[he,zs]=(0,react_1.useState)(!1),[ye,Js]=(0,react_1.useState)(!1),[re,Mt]=(0,react_1.useState)(!0),[N,$s]=(0,react_1.useState)("all"),[ir,wt]=(0,react_1.useState)(""),[cr,Xs]=(0,react_1.useState)(""),[lr,kt]=(0,react_1.useState)(null),[pr,Nt]=(0,react_1.useState)(null),[fr,Qs]=(0,react_1.useState)("state"),[dr,gr]=(0,react_1.useState)("response");(0,react_1.useEffect)(()=>(react_native_1.LogBox.ignoreAllLogs(i),()=>{react_native_1.LogBox.ignoreAllLogs(!1)}),[i]),(0,react_1.useEffect)(()=>{h&&(gr("response"),wt(""))},[h]);const[Y,Et]=(0,react_1.useState)(new Set),[Z,jt]=(0,react_1.useState)(new Set),[se,Ks]=(0,react_1.useState)("all"),[Se,Ys]=(0,react_1.useState)("all"),[oe,Zs]=(0,react_1.useState)("time_desc"),[mr,Tt]=(0,react_1.useState)({}),[It,Ge]=(0,react_1.useState)(()=>new Map),[br,Ve]=(0,react_1.useState)({}),[xr,eo]=(0,react_1.useState)(!0),[Ue,to]=(0,react_1.useState)("newest"),[We,ro]=(0,react_1.useState)("newest"),[hr,yr]=(0,react_1.useState)(!0),[Sr,Cr]=(0,react_1.useState)(!0),[Pr,Lr]=(0,react_1.useState)(!1),[Rr,vr]=(0,react_1.useState)(!1),[l,H]=(0,react_1.useState)("apis"),[ze,ne]=(0,react_1.useState)([]),[ee,ae]=(0,react_1.useState)([]),_t=(0,react_1.useRef)([]),Ft=(0,react_1.useRef)([]),Dt=(0,react_1.useRef)([]),[Or,Bt]=(0,react_1.useState)(null),[Ar,Mr]=(0,react_1.useState)(0),[wr,kr]=(0,react_1.useState)(0),[Nr,Er]=(0,react_1.useState)(0),[jr,Tr]=(0,react_1.useState)(0),[Ir,so]=(0,react_1.useState)(null),Je=(0,react_1.useCallback)(async()=>{try{const t=await capture_1.ScreenCapture.getMediaList(),e=t?t.length:0;return Tr(e),e}catch{return Tr(0),0}},[]);(0,react_1.useEffect)(()=>{m&&Je()},[m,Je]);const[Ce,G]=(0,react_1.useState)(()=>(0,crashHandler_1.getCrashRecords)()),[_r,te]=(0,react_1.useState)(null),[qt,Pe]=(0,react_1.useState)(null),[V,$e]=(0,react_1.useState)(50);(0,react_1.useEffect)(()=>{(0,crashHandler_1.setMaxCrashLogsLimit)(V)},[V]),(0,react_1.useEffect)(()=>{m&&(l==="apis"&&kr(P.length),l==="logs"&&Mr(ee.length),l==="crash"&&Er(Ce.length))},[m]),(0,react_1.useEffect)(()=>{l==="apis"&&kr(P.length)},[l,P.length]),(0,react_1.useEffect)(()=>{l==="logs"&&Mr(ee.length)},[l,ee.length]),(0,react_1.useEffect)(()=>{l==="crash"&&Er(Ce.length)},[l,Ce.length]);const[U,Fr]=(0,react_1.useState)(()=>(0,pushNotificationLogger_1.getPushRecords)()),[Dr,Br]=(0,react_1.useState)(null),[Le,oo]=(0,react_1.useState)(""),[D,no]=(0,react_1.useState)("all"),[Xe,ao]=(0,react_1.useState)(0),[Qe,Ht]=(0,react_1.useState)(50);(0,react_1.useEffect)(()=>{(0,pushNotificationLogger_1.setMaxPushRecordsLimit)(Qe)},[Qe]),(0,react_1.useEffect)(()=>(0,pushNotificationLogger_1.subscribePushEvents)(e=>{Fr(e)}),[]);const qr=(0,react_1.useMemo)(()=>l==="push"?0:Math.max(0,U.length-Xe),[l,U.length,Xe]);(0,react_1.useEffect)(()=>{m&&l==="push"&&ao(U.length)},[m,l,U.length]);const Hr=(0,react_1.useMemo)(()=>{let t=U;if(D!=="all"){if(D==="foreground")t=t.filter(e=>(e.appState||"").toLowerCase()==="foreground");else if(D==="background")t=t.filter(e=>(e.appState||"").toLowerCase()==="background");else if(D==="opened")t=t.filter(e=>e.action==="opened");else if(D.startsWith("source:")){const e=D.replace("source:","").toLowerCase();t=t.filter(r=>(r.source||"").toLowerCase()===e)}}if(Le.trim()){const e=Le.trim().toLowerCase();t=t.filter(r=>!!(r.title&&r.title.toLowerCase().includes(e)||r.body&&r.body.toLowerCase().includes(e)||r.id&&r.id.toLowerCase().includes(e)||r.source&&r.source.toLowerCase().includes(e)||r.domain&&r.domain.toLowerCase().includes(e)||r.channelId&&r.channelId.toLowerCase().includes(e)||r.data&&JSON.stringify(r.data).toLowerCase().includes(e)))}return t},[U,D,Le]),[W,Ke]=(0,react_1.useState)(()=>(0,socketLogger_1.getSocketRecords)()),[Re,ue]=(0,react_1.useState)(null),[ve,uo]=(0,react_1.useState)(""),[j,io]=(0,react_1.useState)("all"),[Ye,co]=(0,react_1.useState)(0),[Ze,lo]=(0,react_1.useState)(50);(0,react_1.useEffect)(()=>{(0,socketLogger_1.setMaxSocketRecordsLimit)(Ze)},[Ze]),(0,react_1.useEffect)(()=>(0,socketLogger_1.subscribeSocketRecords)(e=>{Ke(e)}),[]);const Gr=(0,react_1.useMemo)(()=>l==="socket"?0:Math.max(0,W.length-Ye),[l,W.length,Ye]);(0,react_1.useEffect)(()=>{m&&l==="socket"&&co(W.length)},[m,l,W.length]);const Vr=(0,react_1.useMemo)(()=>{let t=W;if(j!=="all"&&(j==="open"?t=t.filter(e=>(e.status||"open").toLowerCase()==="open"):j==="closed"?t=t.filter(e=>(e.status||"").toLowerCase()==="closed"):j==="error"?t=t.filter(e=>(e.status||"").toLowerCase()==="error"):j==="sio"?t=t.filter(e=>e.client==="socket.io"||e.url.includes("/socket.io")):j==="wss"?t=t.filter(e=>e.url.startsWith("wss://")):j==="ws"&&(t=t.filter(e=>e.url.startsWith("ws://")))),ve.trim()){const e=ve.trim().toLowerCase();t=t.filter(r=>!!(r.url&&r.url.toLowerCase().includes(e)||r.id&&r.id.toLowerCase().includes(e)||r.client&&r.client.toLowerCase().includes(e)||r.caller&&r.caller.toLowerCase().includes(e)||r.query&&JSON.stringify(r.query).toLowerCase().includes(e)||r.frames&&r.frames.some(s=>!!(s.eventName&&s.eventName.toLowerCase().includes(e)||typeof s.data=="string"&&s.data.toLowerCase().includes(e)||s.data&&typeof s.data=="object"&&JSON.stringify(s.data).toLowerCase().includes(e)))))}return t},[W,j,ve]),[ie,et]=(0,react_1.useState)(300),[z,Gt]=(0,react_1.useState)({info:!0,warn:!0,error:!0}),J=(0,react_1.useMemo)(()=>ee.filter(e=>{const r=e.type;if(r==="info"&&!z?.info||r==="warn"&&!z?.warn||r==="error"&&!z?.error)return!1;const s=e.message||"";return![...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.info||[],...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.warn||[],...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.error||[]].filter(d=>typeof d=="string"&&d.trim().length>0).some(d=>s.toLowerCase().trim().startsWith(d.toLowerCase().trim())||s.toLowerCase().trim().includes(d.toLowerCase().trim()))}).slice(0,ie),[ee,z,ie]),[T,Ur]=(0,react_1.useState)(""),[I,Wr]=(0,react_1.useState)(new Set(["all"])),[zr,po]=(0,react_1.useState)(null),[Jr,fo]=(0,react_1.useState)(!1),[$r,go]=(0,react_1.useState)(!1),[Xr,mo]=(0,react_1.useState)("module"),[M,tt]=(0,react_1.useState)({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),[E,rt]=(0,react_1.useState)(250),[ce,st]=(0,react_1.useState)(150),[le,Vt]=(0,react_1.useState)(!0),[Ut,bo]=(0,react_1.useState)(1800),[pe,Wt]=(0,react_1.useState)(!0),[ot,zt]=(0,react_1.useState)(1),[nt,Qr]=(0,react_1.useState)(60),[at,Kr]=(0,react_1.useState)(.5),[ut,Yr]=(0,react_1.useState)(0),[it,Zr]=(0,react_1.useState)(120),[ct,es]=(0,react_1.useState)("png"),[lt,ts]=(0,react_1.useState)("none"),[pt,rs]=(0,react_1.useState)(!0),[ft,ss]=(0,react_1.useState)(!0),[os,xo]=(0,react_1.useState)(!1),[dt,Jt]=(0,react_1.useState)(.3),[$,gt]=(0,react_1.useState)("apis"),[X,$t]=(0,react_1.useState)(!1),[Xt,Qt]=(0,react_1.useState)(!0),[ns,ho]=(0,react_1.useState)(!1);(0,react_1.useEffect)(()=>{(0,networkLogger_1.setNetworkModuleEnabled)(!!M.apis),(0,consoleLogger_1.setConsoleModuleEnabled)(!!M.logs),(0,analyticsLogger_1.setAnalyticsModuleEnabled)(!!M.analytics),(0,reduxLogger_1.setReduxModuleEnabled)(!!M.redux),(0,crashHandler_1.setCrashModuleEnabled)(!!M.crash),(0,socketLogger_1.setSocketModuleEnabled)(!!M.socket)},[M]),(0,react_1.useEffect)(()=>{(0,NativeInspector_1.getNativeSystemMetrics)().then(t=>{if(t){const e=t.totalPhysicalRamMb-t.residentRamMb,r=Math.max(200,Math.round(e>0?e:1500));if(bo(r),le){const s=(0,settingsStore_1.calculateRamBasedLimits)(r);rt(s.maxNetworkLogs),et(s.maxConsoleLogs),st(s.maxAnalyticsEvents),$e(s.maxCrashRecords),Ht(s.maxPushRecords)}}}).catch(()=>{})},[le]);const yo=async()=>{await(0,settingsStore_1.clearPersistedSettings)(),Pt(!1),(0,styles_1.toggleGlobalTheme)(!1),Lt(90),Rt("slide"),tt({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),gt("apis"),Vt(!0);const t=(0,settingsStore_1.calculateRamBasedLimits)(Ut);$e(t.maxCrashRecords),rt(t.maxNetworkLogs),et(t.maxConsoleLogs),st(t.maxAnalyticsEvents),Ht(t.maxPushRecords),Gt({info:!0,warn:!0,error:!0}),Wt(!0),zt(1),$t(!1),Qt(!0),Jt(.3),react_native_1.Alert.alert("Settings Reset","All settings have been reset to default values.")},as=(0,react_1.useRef)(!1);(0,react_1.useEffect)(()=>{let t=!1;return(0,settingsStore_1.loadSettings)().then(e=>{if(!t){if(e.language&&(0,i18n_1.setLanguage)(e.language),e.isDark!=null&&(Pt(e.isDark),(0,styles_1.toggleGlobalTheme)(e.isDark)),e.modalHeightPercent!=null&&Lt(e.modalHeightPercent),e.modalAnimationType&&Rt(e.modalAnimationType),e.tabVisibility&&tt(r=>({...r,...e.tabVisibility,apis:!0})),e.defaultTab&>(e.defaultTab),e.isAutoRamLimitEnabled!=null&&Vt(e.isAutoRamLimitEnabled),e.maxNetworkLogs!=null&&rt(e.maxNetworkLogs),e.maxConsoleLogs!=null&&et(e.maxConsoleLogs),e.maxAnalyticsEventsLimit!=null&&st(e.maxAnalyticsEventsLimit),e.maxCrashLogs!=null&&$e(e.maxCrashLogs),e.showConsoleLevels&&Gt(e.showConsoleLevels),e.reduxAutoRefresh!=null&&Wt(e.reduxAutoRefresh),e.reduxExpandDepth!=null&&zt(e.reduxExpandDepth),e.captureFps!=null&&Qr(e.captureFps),e.captureScale!=null&&Kr(e.captureScale),e.captureBitrate!=null&&Yr(e.captureBitrate),e.captureMaxDurationSeconds!=null&&Zr(e.captureMaxDurationSeconds),e.captureImageFormat&&es(e.captureImageFormat),e.captureAudioMode&&ts(e.captureAudioMode),e.captureAutoHide!=null&&rs(e.captureAutoHide),e.captureAutoGif!=null&&ss(e.captureAutoGif),e.peekOpacity!=null&&Jt(Math.max(.05,Math.min(1,e.peekOpacity))),e.showDuplicateLogs!=null&&$t(e.showDuplicateLogs),e.showUpdateToast!=null&&Qt(e.showUpdateToast),e.isGroupByPageEnabled!=null&&Mt(e.isGroupByPageEnabled),e.defaultTab){const r=e.defaultTab,s={apis:!0,logs:!0,analytics:!1,redux:!1,crash:!1,device:!1,storage:!1,...e.tabVisibility||{},apis:!0};H(s[r]?r:"apis")}as.current=!0}}),()=>{t=!0}},[]),(0,react_1.useEffect)(()=>{let t=!0;if(Ie!==!1)return(0,remoteConfig_1.fetchRemoteConfigModuleStatus)(typeof Ie=="object"?Ie:void 0).then(e=>{t&&e&&tt(r=>({...r,...e,apis:e.apis??!0}))}).catch(()=>{}),()=>{t=!1}},[Ie]),(0,react_1.useEffect)(()=>{as.current&&(0,settingsStore_1.saveSettings)({isDark:_e,language:(0,i18n_1.getLanguage)(),modalHeightPercent:Be,modalAnimationType:qe,tabVisibility:M,defaultTab:$,maxNetworkLogs:E,maxConsoleLogs:ie,maxAnalyticsEventsLimit:ce,maxCrashLogs:V,isAutoRamLimitEnabled:le,isGroupByPageEnabled:re,showConsoleLevels:z,reduxAutoRefresh:pe,reduxExpandDepth:ot,showDuplicateLogs:X,showUpdateToast:Xt,captureFps:nt,captureScale:at,captureBitrate:ut,captureMaxDurationSeconds:it,captureImageFormat:ct,captureAudioMode:lt,captureAutoHide:pt,captureAutoGif:ft,peekOpacity:dt})},[_e,Be,qe,M,$,E,ie,ce,V,le,re,z,pe,ot,X,nt,at,ut,it,ct,lt,pt,ft,dt]);const[Oe,So]=(0,react_1.useState)(null),us=(0,react_1.useMemo)(()=>{if(!Oe)return!1;const t=s=>s.replace(/^v/,"").split(".").map(o=>parseInt(o,10)||0),e=t(constants_1.LIB_VERSION),r=t(Oe);for(let s=0;s<3;s++){if((r[s]||0)>(e[s]||0))return!0;if((r[s]||0)<(e[s]||0))return!1}return!1},[Oe]);(0,react_1.useEffect)(()=>{if(typeof __DEV__>"u"||!__DEV__)return;let t=!1;return fetch("https://registry.npmjs.org/react-native-inapp-inspector/latest").then(e=>e.ok?e.json():null).then(e=>{!t&&e&&typeof e.version=="string"&&So(e.version)}).catch(()=>{}),()=>{t=!0}},[]),(0,react_1.useEffect)(()=>{(0,reduxLogger_1.setReduxAutoRefresh)(pe)},[pe]),(0,react_1.useEffect)(()=>{l==="redux"&&!(0,reduxLogger_1.isReduxConnected)()&&H("apis"),l==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()&&H("apis")},[l]);const is=t=>{t!=="apis"&&(t==="redux"&&!(0,reduxLogger_1.isReduxConnected)()||t==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()||tt(e=>{const r=!e[t],s={...e,[t]:r};return!r&&l===t&&((0,InspectorContext_1.animateNextLayout)(),H("apis")),!r&&$===t&>("apis"),s}))},Kt=(0,react_1.useCallback)(async(t,e="")=>{if(t==="apis"||t==="logs"||t==="analytics"||t==="crash"){const r=await(0,NativeInspector_1.fetchNativeCachedPage)(t,0,100,e);r&&r.items&&r.items.length>0&&(t==="apis"?K(r.items):t==="logs"?ae(r.items):t==="analytics"?ne(r.items):t==="crash"&&G(r.items))}},[]),cs=(0,react_1.useCallback)(t=>{t==="redux"&&!(0,reduxLogger_1.isReduxConnected)()||t==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()||(At(null),mt(null),Bt(null),kt(null),Nt(null),te(null),ue(null),typeof react_1.default.startTransition=="function"?react_1.default.startTransition(()=>{H(t),Kt(t)}):(H(t),Kt(t)),(0,telemetry_1.trackInspectorTabView)(t))},[Kt]),[ls,mt]=(0,react_1.useState)(null),[fe,ps]=(0,react_1.useState)(""),[n,fs]=(0,react_1.useState)({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"}),ds=(0,react_1.useMemo)(()=>!!(n.categories.size>0&&!n.categories.has("all")||n.screens.size>0||n.sources.size>0&&!n.sources.has("all")||n.userTypes.size>0&&!n.userTypes.has("all")||n.timeWindow!=="all"||n.payloadComplexity!=="all"||n.hasRevenue||n.hasItems||n.hasUserProps||n.hasParams||n.onlyDuplicates||n.onlyConversions||n.sortBy!=="time_desc"),[n]),gs=(0,react_1.useCallback)(()=>{fs({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"})},[]),[ms,Co]=(0,react_1.useState)(!1),[bs,Po]=(0,react_1.useState)(!1),[xs,hs]=(0,react_1.useState)(new Set),Ae=(0,react_1.useRef)(new Set),[bt,Yt]=(0,react_1.useState)(null),ys=react_1.default.useContext(native_1.NavigationContext)!==void 0,w=(0,react_1.useRef)({path:"",params:null});(0,react_1.useEffect)(()=>((0,networkLogger_1.setRouteInfoProvider)(()=>w.current),(0,socketLogger_1.setSocketRouteInfoProvider)(()=>w.current),()=>{(0,networkLogger_1.setRouteInfoProvider)(null),(0,socketLogger_1.setSocketRouteInfoProvider)(null)}),[]),(0,react_1.useEffect)(()=>{if(bt){const t=(0,helpers_1.getNavigationInfo)(bt);t?.path&&(w.current=t)}},[bt]),(0,react_1.useEffect)(()=>{if(!p)return;const t=()=>{try{if(typeof p.isReady=="function"&&p.isReady()){const r=typeof p.getCurrentRoute=="function"?p.getCurrentRoute():null;r?.name&&(w.current={path:r.name,params:r.params||null});const s=p.getRootState();if(s){Yt(s);const o=(0,helpers_1.getNavigationInfo)(s);o?.path&&(w.current=o)}}}catch{}};t();const e=typeof p.addListener=="function"?p.addListener("state",()=>{t()}):null;return()=>{e&&e()}},[p]);const S=(0,react_1.useRef)(new Map),de=(0,react_1.useRef)(new Set),[Ss,Cs]=(0,react_1.useState)(new Set),Me=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,we=(0,react_1.useRef)(new react_native_1.Animated.Value(.4)).current,ke=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,Ne=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,Ee=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,O=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,xt=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const t=O.x.addListener(r=>xt.current.x=r.value),e=O.y.addListener(r=>xt.current.y=r.value);return()=>{O.x.removeListener(t),O.y.removeListener(e)}},[O]);const ht=(0,react_1.useRef)(!1),Ps=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(t,e)=>Math.abs(e.dx)>4||Math.abs(e.dy)>4,onPanResponderGrant:()=>{ht.current=!0,O.setOffset({x:xt.current.x,y:xt.current.y}),O.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:O.x,dy:O.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{O.flattenOffset(),setTimeout(()=>{ht.current=!1},50)},onPanResponderTerminate:()=>{O.flattenOffset(),ht.current=!1}})).current,Ls=(0,react_1.useCallback)(()=>{react_native_1.Animated.sequence([react_native_1.Animated.timing(Ee,{toValue:1,duration:320,useNativeDriver:!1}),react_native_1.Animated.timing(Ee,{toValue:0,duration:0,useNativeDriver:!1})]).start(),Ro()},[Ee]);(0,react_1.useEffect)(()=>{react_native_1.Platform.OS==="android"&&react_native_1.UIManager.setLayoutAnimationEnabledExperimental?.(!0)},[]),(0,react_1.useEffect)(()=>{if(m)return;const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(Me,{toValue:1.2,duration:800,useNativeDriver:!1}),react_native_1.Animated.timing(Me,{toValue:1,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Me,m]),(0,react_1.useEffect)(()=>{if(m)return;const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(Ne,{toValue:1,duration:3200,easing:react_native_1.Easing.inOut(react_native_1.Easing.ease),useNativeDriver:!1}),react_native_1.Animated.delay(3500),react_native_1.Animated.timing(Ne,{toValue:0,duration:0,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Ne,m]),(0,react_1.useEffect)(()=>{const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(we,{toValue:1,duration:1200,useNativeDriver:!1}),react_native_1.Animated.timing(we,{toValue:.4,duration:1200,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[we]),(0,react_1.useEffect)(()=>{const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(ke,{toValue:1.3,duration:800,useNativeDriver:!1}),react_native_1.Animated.timing(ke,{toValue:.8,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[ke]);const Lo=(0,react_1.useMemo)(()=>(0,NativeInspector_2.isNativeModuleAvailable)(),[]),Q=(react_native_1.Platform.OS==="ios"||react_native_1.Platform.OS==="android")&&Lo;(0,react_1.useEffect)(()=>{Q&&(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{})},[Q,m,Ot]),(0,react_1.useEffect)(()=>{if(!Q)return;const t=(0,NativeInspector_2.subscribeNativeFloatingButtonPress)(()=>{(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),q(!0)});return()=>{t()}},[Q]),(0,react_1.useEffect)(()=>{if(!Q)return;const t=(0,NativeInspector_2.subscribeNativeDeviceShake)(()=>{q(e=>{const r=!e;return r&&(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),r})});return()=>{t()}},[Q]);const Rs=(0,react_1.useRef)(m);(0,react_1.useEffect)(()=>{if(Rs.current=m,m){(0,telemetry_1.trackInspectorScreenView)("InspectorModal");const t=$==="apis"||M?.[$]?$:"apis";H(t),(0,telemetry_1.trackInspectorTabView)(t);const e=_t.current.length>0?_t.current:(0,networkLogger_1.getNetworkLogs)();if(e.length>0){const a=(0,helpers_1.deduplicateLogs)(e),d=new Set(a.map(b=>b.id));de.current=d,a.forEach(b=>{if(!S.current.has(b.id)){const R=b?.routeInfo||w.current;S.current.set(b.id,R)}}),K(a)}Ft.current.length>0&&ae(Ft.current),Dt.current.length>0&&ne(Dt.current);const r=(0,reduxLogger_1.getReduxState)();r&&(Fe(typeof r=="object"?{...r}:r),De({...(0,reduxLogger_1.getLastActionForReducer)()}));const s=(0,crashHandler_1.getCrashRecords)();s.length>0&&G(s);const o=requestAnimationFrame(()=>{nr(!0)});return()=>{cancelAnimationFrame(o)}}else nr(!1),be(new Set)},[m]),(0,react_1.useEffect)(()=>{(0,networkLogger_1.setupNetworkLogger)(),(0,networkLogger_1.clearNetworkLogs)(),(0,consoleLogger_1.setupConsoleLogger)(),(0,analyticsLogger_1.autoSetupAnalyticsLogger)(),(0,crashHandler_1.setupGlobalCrashHandler)(),(0,socketLogger_1.setupSocketLogger)();const t=(0,helpers_1.setupMemoryWarningHandler)(),e=Rs,r=(0,crashHandler_1.subscribeCrashEvents)(u=>{if(u.message==="__CLEARED__"){G([]),te(null),Pe(null);return}const B=(0,crashHandler_1.getCrashRecords)();B.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("crash",JSON.stringify(B[0])),G(B),u.crashRecord&&Pe(u.crashRecord)}),s=(0,crashHandler_1.getCrashRecords)();s.length>0&&(s.forEach(u=>(0,NativeInspector_1.pushNativeLogRecord)("crash",JSON.stringify(u))),G(s));let o,a=!0;const d=(0,networkLogger_1.subscribeNetworkLogs)(u=>{if(_t.current=u,u.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("apis",JSON.stringify(u[0])),!e.current)return;clearTimeout(o);const B=()=>{const C=(0,helpers_1.deduplicateLogs)(u),A=new Set(C.map(F=>F.id)),f=new Set;A.forEach(F=>{de.current.has(F)||f.add(F)}),de.current=A,f.size>0&&(f.forEach(F=>{if(!S.current.has(F)){const Ao=C.find(Mo=>Mo.id===F)?.routeInfo||w.current;S.current.set(F,Ao)}}),Cs(f),setTimeout(()=>Cs(new Set),1200)),K(C)};if(a){a=!1;const C=(0,helpers_1.deduplicateLogs)(u),A=new Set(C.map(f=>f.id));de.current=A,C.forEach(f=>{if(!S.current.has(f.id)){const F=f?.routeInfo||w.current;S.current.set(f.id,F)}}),K(C)}else o=setTimeout(B,250)});let b,R=!0;const Zt=(0,analyticsLogger_1.subscribeAnalyticsEvents)(u=>{if(Dt.current=u,u.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("analytics",JSON.stringify(u[0])),!e.current)return;clearTimeout(b);const B=()=>{const C=new Set(u.map(f=>f.id)),A=new Set;C.forEach(f=>{Ae.current.has(f)||A.add(f)}),Ae.current=C,A.size>0&&(A.forEach(f=>{S.current.has(f+1e6)||S.current.set(f+1e6,w.current)}),hs(A),setTimeout(()=>hs(new Set),1200)),ne(u)};if(R){R=!1;const C=new Set(u.map(A=>A.id));Ae.current=C,ne(u)}else b=setTimeout(B,200)});let ge,Ct=!0;const _=(0,consoleLogger_1.subscribeConsoleLogs)(u=>{Ft.current=u,u.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("logs",JSON.stringify(u[0])),e.current&&(clearTimeout(ge),Ct?(Ct=!1,ae(u)):ge=setTimeout(()=>{ae(u)},200))}),me=(0,reduxLogger_1.getReduxState)();me&&(Fe(typeof me=="object"?{...me}:me),De({...(0,reduxLogger_1.getLastActionForReducer)()}));const je=(0,reduxLogger_1.subscribeReduxState)(()=>{if(!e.current)return;const u=(0,reduxLogger_1.getReduxState)();Fe(u&&typeof u=="object"?{...u}:u),De({...(0,reduxLogger_1.getLastActionForReducer)()})});return()=>{d(),clearTimeout(o),Zt(),clearTimeout(b),_(),clearTimeout(ge),je(),r(),t()}},[]),(0,react_1.useEffect)(()=>{(0,networkLogger_1.setMaxNetworkLogsLimit)(E)},[E]),(0,react_1.useEffect)(()=>{(0,crashHandler_1.setMaxCrashLogsLimit)(V)},[V]),(0,react_1.useEffect)(()=>{yr(!0),Cr(!0),Lr(!1),vr(!1),wt("")},[h]);const L=(0,react_1.useMemo)(()=>{let t=P.filter(e=>{if(N&&N!=="all"){if(N==="errors"){if(!(e.status===0||e.status==null||typeof e.status=="number"&&e.status>=400))return!1}else if(N==="success"){if(!(typeof e.status=="number"&&e.status>=200&&e.status<400))return!1}else if(N==="slow"){if((e.duration||0)<500)return!1}else if(N==="graphql"){if(!((e.url||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("apollo")))return!1}else if(e.method?.toUpperCase()!==N.toUpperCase())return!1}if(Y.size>0&&!Y.has("all")){const r=typeof e.status=="number"?e.status:parseInt(String(e.status),10);if(![...Y].some(o=>{const a=String(o).toLowerCase();if(a==="all")return!0;if(a==="failed")return e.status===0||e.status==null||!isNaN(r)&&r>=400;if(a==="2xx")return!isNaN(r)&&r>=200&&r<300;if(a==="3xx")return!isNaN(r)&&r>=300&&r<400;if(a==="4xx")return!isNaN(r)&&r>=400&&r<500;if(a==="5xx")return!isNaN(r)&&r>=500&&r<600;if(!isNaN(r)){const d=parseInt(String(o),10);if(!isNaN(d)&&d>=100)return r===d}return String(e.status).startsWith(String(o)[0])}))return!1}if(Z.size>0&&!Z.has("all")&&![...Z].some(s=>String(s).toUpperCase()==="ALL"?!0:e.method?.toUpperCase()===String(s).toUpperCase()))return!1;if(se!=="all"){const r=e.duration||0;if(se==="fast"&&r>=200||se==="normal"&&(r<200||r>500)||se==="slow"&&r<=500)return!1}if(Se!=="all"){const r=(e.url||"").toLowerCase().startsWith("https");if(Se==="https"&&!r||Se==="http"&&r)return!1}if(v&&v.trim().length>0){const r=S.current.get(e.id)?.path||"";if(!(0,helpers_1.matchNetworkLogQuery)(e,v,r,{scope:xe,isRegex:he,isCaseSensitive:ye}))return!1}return!0});if(oe==="time_asc"||Ue==="oldest"?t=[...t].reverse():oe==="duration_desc"?t=[...t].sort((e,r)=>(r.duration||0)-(e.duration||0)):oe==="duration_asc"?t=[...t].sort((e,r)=>(e.duration||0)-(r.duration||0)):oe==="size_desc"&&(t=[...t].sort((e,r)=>{const s=(e.response?JSON.stringify(e.response).length:0)+(e.request?JSON.stringify(e.request).length:0);return(r.response?JSON.stringify(r.response).length:0)+(r.request?JSON.stringify(r.request).length:0)-s})),!X){const e=[];for(const r of t){const s=e[e.length-1];s&&s.method===r.method&&s.url===r.url&&s.status===r.status?e[e.length-1]={...s,duplicateCount:(s.duplicateCount||1)+1}:e.push({...r,duplicateCount:1})}t=e}return t},[P,v,xe,he,ye,N,Y,Z,se,Se,oe,Ue,X]),vs=(0,react_1.useMemo)(()=>{const t=new Set;return P.forEach(e=>{e.method&&t.add(e.method.toUpperCase())}),["ALL",...Array.from(t)]},[P]),Os=(0,react_1.useCallback)((t,e)=>{Tt(r=>{const s=r[t]||new Set(["success","failed","loading"]),o=new Set(s);return o.has(e)?o.delete(e):o.add(e),{...r,[t]:o}})},[]),yt=(0,react_1.useMemo)(()=>{if(w.current?.path){const t=w.current.path.split(" \u2794 ").map(e=>e.trim()).filter(Boolean);return t.length>0?t[t.length-1]:w.current.path}if(L.length>0){const t=L[0],e=S.current.get(t.id)||t?.routeInfo;return(0,helpers_1.getLogPageName)(t,e)}return""},[L,bt]),As=(0,react_1.useCallback)(t=>{Ge(e=>{const r=new Map(e),o=!!(v&&v.trim().length>0)?!0:t===yt,a=r.has(t)?r.get(t):o;return r.set(t,!a),r})},[yt,v]);(0,react_1.useEffect)(()=>{Ve({}),Ge(new Map)},[v,xe,he,ye,N,Y,Z,E]);const Ms=(0,react_1.useCallback)((t,e=10)=>{Ve(r=>({...r,[t]:(r[t]||E||50)+e}))},[E]),ws=(0,react_1.useMemo)(()=>{if(!re)return L.map((o,a)=>{const d=S.current.get(o.id)||o?.routeInfo,b=(0,helpers_1.getLogPageName)(o,d);return{type:"log",id:`flat-log-${o.id}`,log:o,isLast:a===L.length-1,color:(0,helpers_1.getDomainColor)(b)}});const t=[],e=new Map;for(let o=0;o<L.length;o++){const a=L[o],d=S.current.get(a.id)||a?.routeInfo,b=(0,helpers_1.getLogPageName)(a,d);let R=e.get(b);R||(R={pageName:b,color:(0,helpers_1.getDomainColor)(b),logs:[]},e.set(b,R)),R.logs.push(a)}const r=!!(v&&v.trim().length>0);let s=0;return e.forEach(o=>{let a=0,d=0,b=0;o.logs.forEach(_=>{_.status==null?b++:_.status===0||_.status>=400?d++:a++});const R=mr[o.pageName]||new Set(["success","failed","loading"]),Zt=r?!0:o.pageName===yt,ge=It.has(o.pageName)?!It.get(o.pageName):!Zt,Ct=o.logs[0]?.startTime||0;if(t.push({type:"header",id:`hdr-${o.pageName}`,pageName:o.pageName,color:o.color,stats:{success:a,failed:d,loading:b},timestamp:Ct,activeFilters:R,isCollapsed:ge,isFirst:s===0}),s++,!ge){const _=o.logs.filter(f=>f.status==null?R.has("loading"):f.status===0||f.status>=400?R.has("failed"):R.has("success")),me=E||50,je=br[o.pageName]||me,u=_.slice(0,je),B=_.length>je;u.forEach(f=>{t.push({type:"log",id:`log-${f.id}`,log:f,isLast:!1,color:o.color})});const C=Math.max(0,_.length-je),A=Math.min(C||10,10);t.push({type:"loadMore",id:`loadmore-${o.pageName}`,pageName:o.pageName,color:o.color,remainingCount:C,totalCount:_.length,loadedCount:u.length,loadMoreStep:A,hasMore:B})}}),t},[re,L,P,mr,It,yt,br,E,v]),{minStart:ks,totalRange:Ns}=(0,react_1.useMemo)(()=>{if(L.length===0)return{minStart:0,totalRange:0};const t=Math.min(...L.map(r=>r.startTime)),e=Math.max(...L.map(r=>r.startTime+(r.duration||10)));return{minStart:t,totalRange:e-t}},[L]),St=(0,react_1.useMemo)(()=>{if(!h)return null;const t=P.findIndex(e=>e.id===h.id);if(t===-1)return null;for(let e=t+1;e<P.length;e++){const r=P[e];if(r.url===h.url&&r.method===h.method)return r}return null},[h,P]),Es=St?St.request:null,js=St?St.response:null,Ts=(0,react_1.useMemo)(()=>{let t=ze;if(fe&&fe.trim().length>0){const s=fe.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(o=>{const a=[o.name||"",JSON.stringify(o.params||""),JSON.stringify(o.userProperties||""),o.screenName||"",o.pageTitle||"",o.userId||"",o.source||""].join(" ").toLowerCase();return s.every(d=>a.includes(d))})}if(n.categories.size>0&&!n.categories.has("all")&&(t=t.filter(s=>{const o=(0,helpers_1.getEventCategory)(s.name);return n.categories.has(o)})),n.timeWindow!=="all"){const s=Date.now(),o=n.timeWindow==="1m"?s-60*1e3:n.timeWindow==="5m"?s-300*1e3:n.timeWindow==="15m"?s-900*1e3:s-3600*1e3;t=t.filter(a=>a.timestamp>=o)}if(n.sources.size>0&&!n.sources.has("all")&&(t=t.filter(s=>n.sources.has(s.source||"manual"))),n.userTypes.size>0&&!n.userTypes.has("all")&&(t=t.filter(s=>{const o=!!(s.userId&&s.userId.trim()!=="");return!!(n.userTypes.has("identified")&&o||n.userTypes.has("anonymous")&&!o)})),n.payloadComplexity!=="all"&&(n.payloadComplexity==="none"?t=t.filter(s=>!s.params||Object.keys(s.params).length===0):n.payloadComplexity==="simple"?t=t.filter(s=>s.params&&Object.keys(s.params).length<=3):n.payloadComplexity==="heavy"&&(t=t.filter(s=>s.params&&Object.keys(s.params).length>3))),n.onlyConversions){const s=["purchase","item_purchase","ecommerce_purchase","sign_up","login","lead","generate_lead","tutorial_complete","add_payment_info","begin_checkout","spend_virtual_currency"];t=t.filter(o=>s.some(a=>o.name.toLowerCase().includes(a)))}n.screens.size>0&&(t=t.filter(s=>{const o=s.screenName||s.params?.firebase_screen||s.params?.screen_name||s.params?.firebase_screen_class||s.screenClass||"";return n.screens.has(o)})),n.hasRevenue&&(t=t.filter(s=>s.params?.value!=null&&!isNaN(Number(s.params.value))||s.params?.price!=null&&!isNaN(Number(s.params.price)))),n.hasItems&&(t=t.filter(s=>Array.isArray(s.params?.items)&&s.params.items.length>0)),n.hasUserProps&&(t=t.filter(s=>s.userProperties&&Object.keys(s.userProperties).length>0)),n.hasParams&&(t=t.filter(s=>s.params&&Object.keys(s.params).length>0));const e=[];for(const s of t){if(e.length===0){e.push({...s,count:1});continue}const o=e[e.length-1];o.name===s.name&&JSON.stringify(o.params)===JSON.stringify(s.params)&&JSON.stringify(o.userProperties)===JSON.stringify(s.userProperties)?(o.count=(o.count||1)+1,o.timestamp=s.timestamp,o.id=s.id):e.push({...s,count:1})}let r=e;return n.onlyDuplicates&&(r=r.filter(s=>(s.count||1)>1)),n.sortBy==="time_asc"?r=[...r].sort((s,o)=>s.timestamp-o.timestamp):n.sortBy==="revenue_desc"?r=[...r].sort((s,o)=>{const a=Number(s.params?.value??s.params?.price??0);return Number(o.params?.value??o.params?.price??0)-a}):n.sortBy==="count_desc"&&(r=[...r].sort((s,o)=>(o.count||1)-(s.count||1))),r.slice(0,ce)},[ze,fe,n,ce]),Is=(0,react_1.useMemo)(()=>{let t=J;if(I.size>0&&!I.has("all")&&(t=t.filter(e=>!!(I.has("user-log")&&e.sourceMethod==="log"||I.has("info")&&(e.sourceMethod==="info"||e.type==="info"&&e.sourceMethod!=="log")||I.has("warn")&&(e.type==="warn"||e.sourceMethod==="warn")||I.has("error")&&(e.type==="error"||e.sourceMethod==="error")||I.has("analytics")&&e.message?.toLowerCase().includes("[analytics error]")))),T&&T.trim().length>0){const e=T.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(r=>{const s=[r.message||"",r.caller||"",r.type||"",r.sourceMethod||"",r.stack||""].join(" ").toLowerCase();return e.every(o=>o==="error"||o==="err"?r.type==="error"||s.includes(o):o==="warn"||o==="warning"?r.type==="warn"||s.includes(o):o==="info"&&r.type==="info"||s.includes(o))})}if(t=[...t].sort((e,r)=>We==="newest"?r.timestamp-e.timestamp:e.timestamp-r.timestamp),!X){const e=[];for(const r of t){const s=e[e.length-1];s&&s.type===r.type&&s.sourceMethod===r.sourceMethod&&s.message===r.message?e[e.length-1]={...s,duplicateCount:(s.duplicateCount||1)+1}:e.push({...r,duplicateCount:1})}t=e}return t},[J,I,T,We,X]),_s=(0,react_1.useMemo)(()=>{let t=J;if(T&&T.trim().length>0){const r=T.trim().toLowerCase().split(/\s+/).filter(Boolean);t=J.filter(s=>{const o=[s.message||"",s.caller||"",s.type||"",s.sourceMethod||"",s.stack||""].join(" ").toLowerCase();return r.every(a=>a==="error"||a==="err"?s.type==="error"||o.includes(a):a==="warn"||a==="warning"?s.type==="warn"||o.includes(a):a==="info"&&s.type==="info"||o.includes(a))})}const e=J.length;return{all:`${t.length}/${e}`,info:`${t.filter(r=>r.sourceMethod==="info"||r.type==="info"&&r.sourceMethod!=="log").length}/${e}`,warn:`${t.filter(r=>r.type==="warn"||r.sourceMethod==="warn").length}/${e}`,error:`${t.filter(r=>r.type==="error"||r.sourceMethod==="error").length}/${e}`,"user-log":`${t.filter(r=>r.sourceMethod==="log").length}/${e}`,analytics:`${t.filter(r=>r.message.toLowerCase().includes("[analytics error]")).length}/${e}`}},[J,T]),Fs=(0,react_1.useCallback)(()=>{q(!1),vt(!1),setTimeout(()=>{At(null),mt(null),Bt(null),kt(null),Nt(null),te(null),ue(null)},300)},[]);function Ro(){(0,networkLogger_1.clearNetworkLogs)(),K([]),be(new Set),Tt({}),Ge(new Map),Ve({}),Et(new Set),jt(new Set),ur(""),de.current=new Set,S.current=new Map,(0,analyticsLogger_1.clearAnalyticsEvents)(),ne([]),ps(""),Ae.current=new Set,(0,consoleLogger_1.clearConsoleLogs)(),ae([]),Wr(new Set(["all"])),Ur("")}function Ds(){if(l==="logs"){k({visible:!0,title:g("console.clearLogsTitle","Clear Console Logs"),message:g("console.clearLogsMsg","Are you sure you want to clear all console logs?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{k(t=>({...t,visible:!1})),(0,consoleLogger_1.clearConsoleLogs)(),ae([])}});return}if(l==="analytics"){k({visible:!0,title:g("analytics.clearEventsTitle","Clear Analytics"),message:g("analytics.clearEventsMsg","Are you sure you want to clear all analytics events?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{k(t=>({...t,visible:!1})),(0,analyticsLogger_1.clearAnalyticsEvents)(),ne([]),mt(null),Ae.current=new Set}});return}if(l==="redux"){k({visible:!0,title:g("redux.clearTimelineTitle","Clear Redux Timeline"),message:g("redux.clearTimelineMsg","Are you sure you want to clear the dispatched action history?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{k(t=>({...t,visible:!1})),(0,reduxLogger_1.clearActionHistory)(),De({})}});return}if(l==="crash"){k({visible:!0,title:g("crash.clearTitle","Clear Crash Records"),message:g("crash.clearMessage","Are you sure you want to clear all intercepted crash records?"),confirmText:g("crash.clearConfirm","Clear All"),cancelText:g("crash.clearCancel","Cancel"),onConfirm:()=>{k(t=>({...t,visible:!1})),(0,crashHandler_1.clearCrashRecords)(),G([]),te(null)}});return}He.size>0?(K(t=>t.filter(e=>!He.has(e.id))),be(new Set)):k({visible:!0,title:g("network.clearLogsTitle","Clear Network Logs"),message:g("network.clearLogsMsg","Are you sure you want to clear all network logs?"),confirmText:g("common.clearAll","Clear All"),cancelText:g("common.cancel","Cancel"),onConfirm:()=>{k(t=>({...t,visible:!1})),vo()}})}function vo(){(0,networkLogger_1.clearNetworkLogs)(),K([]),be(new Set),Tt({}),Ge(new Map),Ve({}),Et(new Set),jt(new Set),de.current=new Set,S.current=new Map}const Bs=(0,react_1.useMemo)(()=>{if(!h)return"";try{const e=new URL(h.url).pathname.split("/").filter(Boolean);return e.length>0?`/${e.slice(-2).join("/")}`:"/"}catch{const t=h.url.split("/").filter(Boolean);return t.length>0?`/${t.slice(-2).join("/")}`:h.url}},[h]),qs=(0,react_1.useMemo)(()=>h?(0,helpers_1.formatDisplayUrl)(h.url):"",[h]),Hs=(0,react_1.useCallback)(t=>{be(e=>{const r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},[]),Oo=(0,react_1.useMemo)(()=>({visible:m,setVisible:q,closeModal:Fs,isMinimized:rr,setIsMinimized:vt,minimizeInspector:Vs,isDismissed:Ot,setIsDismissed:sr,dismissInspector:Us,isReady:or,enabled:i,isEnabled:i,appIcon:x,environment:y,modalHeightPercent:Be,setModalHeightPercent:Lt,modalAnimationType:qe,setModalAnimationType:Rt,hasNavigationContext:ys,setNavState:Yt,activeTab:l,switchActiveTab:cs,tabVisibility:M,toggleTabVisibility:is,lastReadApisCount:wr,lastReadLogsCount:Ar,mediaCount:jr,refreshMediaCount:Je,selected:h,setSelected:At,selectedEvent:ls,setSelectedEvent:mt,selectedLog:Or,setSelectedLog:Bt,showHeaderInfo:xr,setShowHeaderInfo:eo,settingsPage:zr,setSettingsPage:po,isAboutOpen:Jr,setIsAboutOpen:fo,isSupportOpen:$r,setIsSupportOpen:go,updateAvailable:us,latestNpmVersion:Oe,clearAnim:Ee,activePulseAnim:we,unreadPulseAnim:ke,runClearAllWithAnimation:Ls,confirmModal:ar,setConfirmModal:k,useNativeFab:Q,fabPan:O,fabPanResponder:Ps,fabDraggedRef:ht,pulseAnim:Me,fabShineAnim:Ne,logs:P,filteredLogs:L,groupedData:ws,search:v,setSearch:ur,searchScope:xe,setSearchScope:Ws,isRegexSearch:he,setIsRegexSearch:zs,isCaseSensitive:ye,setIsCaseSensitive:Js,quickFilter:N,setQuickFilter:$s,statusFilters:Y,setStatusFilters:Et,methodFilters:Z,setMethodFilters:jt,latencyFilter:se,setLatencyFilter:Ks,protocolFilter:Se,setProtocolFilter:Ys,networkSortBy:oe,setNetworkSortBy:Zs,availableMethods:vs,sortOrder:Ue,setSortOrder:to,selectedLogs:He,toggleSelect:Hs,minStart:ks,totalRange:Ns,newLogIds:Ss,toggleSectionFilter:Os,toggleSectionCollapse:As,loadMoreSection:Ms,handleDelete:Ds,isGroupByPageEnabled:re,setIsGroupByPageEnabled:Mt,detailTitle:Bs,detailDisplayUrl:qs,apiDetailActiveTab:dr,setApiDetailActiveTab:gr,detailSearch:ir,setDetailSearch:wt,reqExpanded:hr,setReqExpanded:yr,resExpanded:Sr,setResExpanded:Cr,showReqDiff:Pr,setShowReqDiff:Lr,showResDiff:Rr,setShowResDiff:vr,prevRequestData:Es,prevResponseData:js,logRouteMapRef:S,consoleLogs:ee,visibleConsoleLogs:J,filteredConsoleLogs:Is,logSearch:T,setLogSearch:Ur,logFilters:I,setLogFilters:Wr,logCounts:_s,logSortOrder:We,setLogSortOrder:ro,analyticsEvents:ze,filteredAnalyticsEvents:Ts,analyticsSearch:fe,setAnalyticsSearch:ps,analyticsFilters:n,setAnalyticsFilters:fs,isAnalyticsFilterApplied:ds,resetAnalyticsFilters:gs,newEventIds:xs,isAnalyticsLayoutReady:ms,setIsAnalyticsLayoutReady:Co,analyticsHeaderExpanded:bs,setAnalyticsHeaderExpanded:Po,reduxState:er,setReduxState:Fe,reduxLastActionMap:tr,reduxSearch:cr,setReduxSearch:Xs,selectedReduxSlice:lr,setSelectedReduxSlice:kt,selectedReduxAction:pr,setSelectedReduxAction:Nt,reduxActiveSubTab:fr,setReduxActiveSubTab:Qs,crashRecords:Ce,setCrashRecords:G,selectedCrash:_r,setSelectedCrash:te,lastReadCrashesCount:Nr,maxCrashLogs:V,setMaxCrashLogs:$e,clearAllCrashes:()=>{(0,crashHandler_1.clearCrashRecords)(),G([]),te(null)},pushRecords:U,filteredPushRecords:Hr,selectedPush:Dr,setSelectedPush:Br,pushSearch:Le,setPushSearch:oo,pushQuickFilter:D,setPushQuickFilter:no,lastReadPushCount:Xe,unreadPushCount:qr,maxPushLogs:Qe,setMaxPushLogs:Ht,clearAllPushLogs:()=>{(0,pushNotificationLogger_1.clearPushRecords)(),Fr([]),Br(null)},simulatePush:(t,e)=>{(0,pushNotificationLogger_1.simulateTestPush)(t,e)},socketRecords:W,filteredSocketRecords:Vr,selectedSocket:Re,setSelectedSocket:ue,socketSearch:ve,setSocketSearch:uo,socketQuickFilter:j,setSocketQuickFilter:io,lastReadSocketCount:Ye,unreadSocketCount:Gr,maxSocketLogs:Ze,setMaxSocketLogs:lo,clearAllSocketLogs:()=>{(0,socketLogger_1.clearSocketRecords)(),Ke([]),ue(null)},deleteSocketRecord:t=>{(0,socketLogger_1.deleteSocketRecord)(t),Ke(e=>e.filter(r=>r.id!==t)),Re?.id===t&&ue(null)},deleteMultipleSocketRecords:t=>{(0,socketLogger_1.deleteMultipleSocketRecords)(t);const e=new Set(t);Ke(r=>r.filter(s=>!e.has(s.id))),Re&&e.has(Re.id)&&ue(null)},simulateSocket:(t,e)=>{(0,socketLogger_1.simulateTestSocket)(t,e)},settingsActiveSubTab:Xr,setSettingsActiveSubTab:mo,defaultTab:$,setDefaultTab:gt,isDark:_e,setIsDark:Pt,showDuplicateLogs:X,setShowDuplicateLogs:$t,showUpdateToast:Xt,setShowUpdateToast:Qt,showConsoleLevels:z,setShowConsoleLevels:Gt,resetToDefaults:yo,storage:c,maxNetworkLogs:E,setMaxNetworkLogs:rt,maxConsoleLogs:ie,setMaxConsoleLogs:et,maxAnalyticsEventsLimit:ce,setMaxAnalyticsEventsLimit:st,isAutoRamLimitEnabled:le,setIsAutoRamLimitEnabled:Vt,deviceFreeRamMb:Ut,reduxAutoRefresh:pe,setReduxAutoRefreshState:Wt,reduxExpandDepth:ot,setReduxExpandDepth:zt,captureFps:nt,setCaptureFps:Qr,captureScale:at,setCaptureScale:Kr,captureBitrate:ut,setCaptureBitrate:Yr,captureMaxDurationSeconds:it,setCaptureMaxDurationSeconds:Zr,captureImageFormat:ct,setCaptureImageFormat:es,captureAudioMode:lt,setCaptureAudioMode:ts,captureAutoHide:pt,setCaptureAutoHide:rs,captureAutoGif:ft,setCaptureAutoGif:ss,peekMode:os,setPeekMode:xo,peekOpacity:dt,setPeekOpacity:Jt,previewMediaItem:Ir,setPreviewMediaItem:so,isUpdatePopupVisible:ns,setIsUpdatePopupVisible:ho}),[m,Fs,or,i,x,y,Be,qe,ys,Yt,l,cs,M,is,wr,Ar,jr,Je,Ir,h,ls,Or,xr,zr,Jr,$r,us,Oe,Ee,we,ke,Ls,Q,O,Ps,Me,Ne,P,L,ws,v,xe,he,ye,N,Y,Z,vs,Ue,He,Hs,ks,Ns,Ss,Os,As,Ms,Ds,re,Mt,Bs,qs,dr,ir,hr,Sr,Pr,Rr,Es,js,ee,J,Is,T,I,_s,We,ze,Ts,fe,n,ds,gs,xs,ms,bs,er,tr,cr,lr,pr,fr,Ce,_r,Nr,V,U,Hr,Dr,Le,D,Xe,qr,Qe,W,Vr,Re,ve,j,Ye,Gr,Ze,Xr,$,_e,X,Xt,z,c,E,ie,ce,le,Ut,pe,ot,nt,at,ut,it,ct,lt,pt,ft,os,dt,rr,Ot,ar,ns]);return<InspectorContext_1.InspectorContext.Provider value={Oo}>
|
|
2
2
|
<MainScreen_1.default/>
|
|
3
3
|
<GlobalCrashScreenModal_1.default visible={!!qt}crash={qt}onDismiss={()=>Pe(null)}onOpenInspector={()=>{const t=qt;Pe(null),t&&te(t),H("crash"),q(!0)}}onRetry={()=>{Pe(null)}}/>
|
|
4
4
|
</InspectorContext_1.InspectorContext.Provider>},NetworkInspectorWrapper=i=>{const c=i?.enabled??!0,p=i?.telemetry??!0;return(0,react_1.useEffect)(()=>(c?p?(0,telemetry_1.trackActiveTelemetryHeartbeat)(!0,i?.environment):(0,telemetry_1.setTelemetryEnabled)(!1):((0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),(0,telemetry_1.setTelemetryEnabled)(!1)),()=>{(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{})}),[c,p,i?.environment]),c?<i18n_1.I18nextProvider i18n={i18n_1.i18n}>
|
|
@@ -221,6 +221,9 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
221
221
|
position: string;
|
|
222
222
|
bottom: number;
|
|
223
223
|
right: number;
|
|
224
|
+
width: number;
|
|
225
|
+
height: number;
|
|
226
|
+
borderRadius: number;
|
|
224
227
|
alignItems: string;
|
|
225
228
|
justifyContent: string;
|
|
226
229
|
zIndex: number;
|