react-native-inapp-inspector 2.4.2 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/.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/src/main/java/com/inappinspector/NetworkInspectorModule.kt +523 -2
- package/dist/commonjs/capture.d.ts +2 -0
- package/dist/commonjs/capture.js +1 -1
- package/dist/commonjs/components/AnalyticsDetail.js +23 -23
- package/dist/commonjs/components/AnalyticsEventCard.js +1 -1
- package/dist/commonjs/components/AnalyticsGraph.js +44 -44
- package/dist/commonjs/components/AnimatedBrandOwl.js +32 -32
- package/dist/commonjs/components/AppHeaderLogo.js +6 -6
- package/dist/commonjs/components/BrandCircleIcon.js +28 -28
- package/dist/commonjs/components/BrandSquareIcon.js +33 -33
- package/dist/commonjs/components/ConsoleLogCard.js +1 -1
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +2 -2
- package/dist/commonjs/components/Inspector/ConfirmationModal.js +23 -25
- package/dist/commonjs/components/Inspector/ConsoleTab.js +5 -5
- package/dist/commonjs/components/Inspector/CrashTab.js +44 -11
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +1 -1
- package/dist/commonjs/components/Inspector/FabLauncher.js +30 -25
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +54 -0
- package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
- package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +234 -0
- package/dist/commonjs/components/Inspector/InspectorHeader.js +137 -127
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +1 -1
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +114 -32
- package/dist/commonjs/components/Inspector/MainScreen.js +26 -19
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +38 -35
- package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +36 -0
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +345 -123
- package/dist/commonjs/components/Inspector/NetworkTab.js +14 -14
- package/dist/commonjs/components/Inspector/PushCard.js +1 -1
- package/dist/commonjs/components/Inspector/PushDetail.js +9 -9
- package/dist/commonjs/components/Inspector/PushTab.js +3 -3
- package/dist/commonjs/components/Inspector/ReduxTab.js +9 -7
- package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
- package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +43 -0
- package/dist/commonjs/components/Inspector/SettingsPanel.js +102 -73
- package/dist/commonjs/components/Inspector/SocketCard.js +1 -1
- package/dist/commonjs/components/Inspector/SocketDetail.js +73 -63
- package/dist/commonjs/components/Inspector/SocketTab.js +4 -4
- package/dist/commonjs/components/Inspector/StorageTab.js +10 -10
- package/dist/commonjs/components/Inspector/SupportModal.js +2 -2
- package/dist/commonjs/components/Inspector/SupportPage.js +1 -1
- package/dist/commonjs/components/JsonViewer.js +47 -45
- package/dist/commonjs/components/LogCard.js +22 -20
- package/dist/commonjs/components/ModuleErrorBoundary.js +5 -5
- package/dist/commonjs/components/NetworkIcons.d.ts +27 -0
- package/dist/commonjs/components/NetworkIcons.js +103 -5
- 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/crash.d.ts +1 -1
- package/dist/commonjs/crash.js +1 -1
- package/dist/commonjs/customHooks/crashHandler.d.ts +2 -1
- package/dist/commonjs/customHooks/crashHandler.js +7 -7
- package/dist/commonjs/editor.d.ts +13 -0
- package/dist/commonjs/editor.js +1 -0
- package/dist/commonjs/helpers/index.d.ts +1 -0
- package/dist/commonjs/helpers/index.js +1 -1
- package/dist/commonjs/helpers/settingsStore.js +1 -1
- package/dist/commonjs/helpers/telemetry.js +1 -1
- package/dist/commonjs/i18n/index.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -1
- package/dist/commonjs/i18n/locales/de.json +1 -1
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -1
- package/dist/commonjs/i18n/locales/fr.json +1 -1
- package/dist/commonjs/i18n/locales/gu.json +1 -1
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -1
- package/dist/commonjs/i18n/locales/it.json +1 -1
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -1
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -1
- package/dist/commonjs/i18n/locales/mr.json +1 -1
- package/dist/commonjs/i18n/locales/nl.json +1 -1
- package/dist/commonjs/i18n/locales/pa.json +1 -1
- package/dist/commonjs/i18n/locales/pl.json +1 -1
- package/dist/commonjs/i18n/locales/pt.json +1 -1
- package/dist/commonjs/i18n/locales/ru.json +1 -1
- package/dist/commonjs/i18n/locales/ta.json +1 -1
- package/dist/commonjs/i18n/locales/te.json +1 -1
- package/dist/commonjs/i18n/locales/tr.json +1 -1
- package/dist/commonjs/i18n/locales/vi.json +1 -1
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.d.ts +4 -1
- package/dist/commonjs/index.js +3 -3
- package/dist/commonjs/native/NativeInspector.d.ts +3 -0
- package/dist/commonjs/native/NativeInspector.js +1 -1
- package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
- package/dist/commonjs/styles/AppColors.d.ts +42 -2
- package/dist/commonjs/styles/AppColors.js +1 -1
- package/dist/commonjs/styles/common.js +1 -1
- package/dist/commonjs/styles/index.d.ts +7 -0
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/editor.d.ts +96 -0
- package/dist/commonjs/types/editor.js +1 -0
- package/dist/commonjs/types/interfaces.d.ts +21 -0
- package/dist/esm/capture.d.ts +2 -0
- package/dist/esm/capture.js +1 -1
- package/dist/esm/components/AnalyticsDetail.js +31 -31
- package/dist/esm/components/AnalyticsEventCard.js +1 -1
- package/dist/esm/components/AnalyticsGraph.js +74 -74
- package/dist/esm/components/AnimatedBrandOwl.js +114 -114
- package/dist/esm/components/AppHeaderLogo.js +7 -7
- package/dist/esm/components/BrandCircleIcon.js +70 -70
- package/dist/esm/components/BrandSquareIcon.js +61 -61
- package/dist/esm/components/ConsoleLogCard.js +1 -1
- package/dist/esm/components/Inspector/AnalyticsTab.js +14 -14
- package/dist/esm/components/Inspector/ConfirmationModal.js +23 -25
- package/dist/esm/components/Inspector/ConsoleTab.js +17 -17
- package/dist/esm/components/Inspector/CrashTab.js +202 -169
- package/dist/esm/components/Inspector/DeviceInfoTab.js +75 -75
- package/dist/esm/components/Inspector/FabLauncher.js +56 -51
- package/dist/esm/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
- package/dist/esm/components/Inspector/FloatingCaptureWidget.js +54 -0
- package/dist/esm/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
- package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +234 -0
- package/dist/esm/components/Inspector/InspectorHeader.js +162 -152
- package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +1 -1
- package/dist/esm/components/Inspector/LanguageSelectorModal.js +140 -58
- package/dist/esm/components/Inspector/MainScreen.js +61 -54
- package/dist/esm/components/Inspector/MediaGalleryTab.js +55 -52
- package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +36 -0
- package/dist/esm/components/Inspector/MediaPreviewModal.js +345 -123
- package/dist/esm/components/Inspector/NetworkTab.js +74 -74
- package/dist/esm/components/Inspector/PushCard.js +1 -1
- package/dist/esm/components/Inspector/PushDetail.js +18 -18
- package/dist/esm/components/Inspector/PushTab.js +1 -1
- package/dist/esm/components/Inspector/ReduxTab.js +18 -16
- package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
- package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +43 -0
- package/dist/esm/components/Inspector/SettingsPanel.js +224 -195
- package/dist/esm/components/Inspector/SocketCard.js +8 -8
- package/dist/esm/components/Inspector/SocketDetail.js +106 -96
- package/dist/esm/components/Inspector/SocketTab.js +18 -18
- package/dist/esm/components/Inspector/StorageTab.js +47 -47
- package/dist/esm/components/Inspector/SupportModal.js +64 -64
- package/dist/esm/components/Inspector/SupportPage.js +5 -5
- package/dist/esm/components/JsonViewer.js +51 -49
- package/dist/esm/components/LogCard.js +41 -39
- package/dist/esm/components/ModuleErrorBoundary.js +10 -10
- package/dist/esm/components/NetworkIcons.d.ts +27 -0
- package/dist/esm/components/NetworkIcons.js +101 -3
- 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/crash.d.ts +1 -1
- package/dist/esm/crash.js +1 -1
- package/dist/esm/customHooks/crashHandler.d.ts +2 -1
- package/dist/esm/customHooks/crashHandler.js +7 -7
- package/dist/esm/editor.d.ts +13 -0
- package/dist/esm/editor.js +1 -0
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +4 -4
- package/dist/esm/helpers/settingsStore.js +1 -1
- package/dist/esm/helpers/telemetry.js +1 -1
- package/dist/esm/i18n/index.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -1
- package/dist/esm/i18n/locales/de.json +1 -1
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -1
- package/dist/esm/i18n/locales/fr.json +1 -1
- package/dist/esm/i18n/locales/gu.json +1 -1
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -1
- package/dist/esm/i18n/locales/it.json +1 -1
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -1
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -1
- package/dist/esm/i18n/locales/mr.json +1 -1
- package/dist/esm/i18n/locales/nl.json +1 -1
- package/dist/esm/i18n/locales/pa.json +1 -1
- package/dist/esm/i18n/locales/pl.json +1 -1
- package/dist/esm/i18n/locales/pt.json +1 -1
- package/dist/esm/i18n/locales/ru.json +1 -1
- package/dist/esm/i18n/locales/ta.json +1 -1
- package/dist/esm/i18n/locales/te.json +1 -1
- package/dist/esm/i18n/locales/tr.json +1 -1
- package/dist/esm/i18n/locales/vi.json +1 -1
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.d.ts +4 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/native/NativeInspector.d.ts +3 -0
- package/dist/esm/native/NativeInspector.js +1 -1
- package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
- package/dist/esm/styles/AppColors.d.ts +42 -2
- package/dist/esm/styles/AppColors.js +1 -1
- package/dist/esm/styles/common.js +1 -1
- package/dist/esm/styles/index.d.ts +7 -0
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/editor.d.ts +96 -0
- package/dist/esm/types/editor.js +1 -0
- package/dist/esm/types/interfaces.d.ts +21 -0
- package/editor.d.ts +1 -0
- package/editor.js +1 -0
- package/ios/NetworkInspectorModule.mm +429 -0
- package/package.json +10 -1
- package/react-native-inapp-inspector.podspec +1 -1
- package/src/native/NativeInspector.ts +57 -4
- package/src/native/NativeNetworkInspector.ts +4 -0
|
@@ -113,4 +113,4 @@ ${i}`,[{text:d("common.cancel","Cancel"),style:"cancel"},{text:d("common.open","
|
|
|
113
113
|
</react_native_1.View>
|
|
114
114
|
</react_native_1.View>
|
|
115
115
|
</TouchableScale_1.default>
|
|
116
|
-
</react_native_1.View>}const styles=react_native_1.StyleSheet.create({container:{marginHorizontal:4,marginBottom:6},card:{borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:2,elevation:1,overflow:"hidden"},cardNew:{borderColor:`${AppColors_1.AppColors.brandPurple}66`,backgroundColor:`${AppColors_1.AppColors.brandPurple}05`},cardBody:{
|
|
116
|
+
</react_native_1.View>}const styles=react_native_1.StyleSheet.create({container:{marginHorizontal:4,marginBottom:6},card:{borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:2,elevation:1,overflow:"hidden"},cardNew:{borderColor:`${AppColors_1.AppColors.brandPurple}66`,backgroundColor:`${AppColors_1.AppColors.brandPurple}05`},cardBody:{paddingHorizontal:8,paddingVertical:8},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:5},cardHeaderLeft:{flexDirection:"row",alignItems:"center",gap:4.5,flex:1,minWidth:0},smallCheckbox:{width:15,height:15,borderRadius:3.5,borderWidth:1.2,borderColor:AppColors_1.AppColors.grayTextWeak,alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.white,marginRight:2},smallCheckboxChecked:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},serialNumber:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:10.5,color:AppColors_1.AppColors.grayTextWeak},protocolBadge:{paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:5,borderWidth:1},protocolBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,letterSpacing:.3},chip:{paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,letterSpacing:.2},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:6},statusPill:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:6,paddingVertical:2,borderRadius:5,borderWidth:1},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,letterSpacing:.3},pulsingDot:{width:6,height:6,borderRadius:3,backgroundColor:AppColors_1.AppColors.greenColor},globeBtn:{padding:3,borderRadius:4,backgroundColor:`${AppColors_1.AppColors.grayTextWeak}12`},urlBox:{marginBottom:8},urlMainRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:6,marginBottom:3},pathText:{flex:1,fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,color:AppColors_1.AppColors.grayTextStrong,lineHeight:17},highlight:{backgroundColor:"rgba(250, 204, 21, 0.40)",color:AppColors_1.AppColors.grayTextStrong,borderRadius:2},hostRow:{flexDirection:"row",alignItems:"center",gap:5},protoBadge:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:4.5,paddingVertical:1,borderRadius:4,borderWidth:1},protoBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,letterSpacing:.2},hostText:{flex:1,fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingTop:6,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor},footerLeft:{flexDirection:"row",alignItems:"center",flex:1,minWidth:0,marginRight:6},cardDateRow:{flexDirection:"row",alignItems:"center",gap:4},cardDateText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},footerRight:{flexDirection:"row",alignItems:"center",gap:4},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:5,paddingVertical:2,borderRadius:4,borderWidth:1},metaStatText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:9.5}});function areSocketPropsEqual(e,o){return e.item===o.item&&e.isSelected===o.isSelected&&e.isNew===o.isNew&&e.searchStr===o.searchStr&&e.serialNumber===o.serialNumber&&e.onPress===o.onPress&&e.onToggleSelect===o.onToggleSelect}exports.default=react_1.default.memo(SocketCard,areSocketPropsEqual);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(a,o,l,i){i===void 0&&(i=l);var e=Object.getOwnPropertyDescriptor(o,l);(!e||("get"in e?!o.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return o[l]}}),Object.defineProperty(a,i,e)}):(function(a,o,l,i){i===void 0&&(i=l),a[i]=o[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(a,o){Object.defineProperty(a,"default",{enumerable:!0,value:o})}):function(a,o){a.default=o}),__importStar=this&&this.__importStar||(function(){var a=function(o){return a=Object.getOwnPropertyNames||function(l){var i=[];for(var e in l)Object.prototype.hasOwnProperty.call(l,e)&&(i[i.length]=e);return i},a(o)};return function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var i=a(o),e=0;e<i.length;e++)i[e]!=="default"&&__createBinding(l,o,i[e]);return __setModuleDefault(l,o),l}})(),__importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),SourcePageCard_1=__importDefault(require("../SourcePageCard")),HeadersSection_1=__importDefault(require("../HeadersSection")),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),JsonViewer_1=__importDefault(require("../JsonViewer")),CopyButton_1=__importDefault(require("../CopyButton")),ShareButton_1=__importDefault(require("../ShareButton")),CodeSnippet_1=__importDefault(require("../CodeSnippet")),HighlightText_1=__importDefault(require("../HighlightText")),TouchableScale_1=__importDefault(require("../TouchableScale")),helpers_1=require("../../helpers"),shareFormatter_1=require("../../helpers/shareFormatter"),NetworkIcons_1=require("../NetworkIcons"),SocketDetail=({item:a})=>{const{t:o}=(0,i18n_1.useTranslation)(),{selectedSocket:l,logRouteMapRef:i}=(0,InspectorContext_1.useInspector)(),e=a||l,[d,h]=(0,react_1.useState)("messages"),[c,g]=(0,react_1.useState)(""),[s,_]=(0,react_1.useState)("all"),[S,f]=(0,react_1.useState)(new Set);if(!e)return null;const m=e.url.startsWith("wss://")||e.url.startsWith("https://"),p=e.client==="socket.io"||e.url.includes("/socket.io"),y=(0,react_1.useMemo)(()=>{const t=(e.status||"open").toLowerCase();return t==="open"?AppColors_1.AppColors.greenColor:t==="connecting"?AppColors_1.AppColors.amber600:t==="error"?AppColors_1.AppColors.errorColor:AppColors_1.AppColors.slate500},[e.status]),x=()=>{const t=e.url.replace(/^wss:\/\//,"https://").replace(/^ws:\/\//,"http://");react_native_1.Alert.alert(o("common.openInBrowser")||"Open in Browser",`${o("common.openInBrowserPrompt")||"Open URL in browser?"}
|
|
2
2
|
|
|
3
|
-
${t}`,[{text:o("common.cancel")||"Cancel",style:"cancel"},{text:o("common.open")||"Open",onPress:()=>{react_native_1.Linking.canOpenURL(t).then(
|
|
3
|
+
${t}`,[{text:o("common.cancel")||"Cancel",style:"cancel"},{text:o("common.open")||"Open",onPress:()=>{react_native_1.Linking.canOpenURL(t).then(n=>{n&&react_native_1.Linking.openURL(t).catch(()=>{})})}}])},V=async()=>{await(0,shareFormatter_1.shareSocketReport)(e)},k=t=>{f(n=>{const r=new Set(n);return r.has(t)?r.delete(t):r.add(t),r})},F=()=>{const t=new Set((e.frames||[]).map(n=>n.id));f(t)},B=()=>{f(new Set)},w=(0,react_1.useMemo)(()=>{let t=e.frames||[];if(s!=="all"&&(t=t.filter(n=>n.direction===s)),c.trim()){const n=c.trim().toLowerCase();t=t.filter(r=>!!(r.eventName&&r.eventName.toLowerCase().includes(n)||r.type&&r.type.toLowerCase().includes(n)||typeof r.data=="string"&&r.data.toLowerCase().includes(n)||r.data&&typeof r.data=="object"&&JSON.stringify(r.data).toLowerCase().includes(n)))}return t},[e.frames,s,c]),z=(e.totalBytesSent||0)+(e.totalBytesReceived||0),T=(0,react_1.useMemo)(()=>p?`import { io } from 'socket.io-client';
|
|
4
4
|
|
|
5
5
|
const socket = io('${e.url}', {
|
|
6
6
|
transports: ['websocket'],
|
|
@@ -31,7 +31,7 @@ ws.onerror = (error) => {
|
|
|
31
31
|
|
|
32
32
|
ws.onclose = (event) => {
|
|
33
33
|
console.log('WebSocket closed:', event.code, event.reason);
|
|
34
|
-
};`,[e.url,e.protocols,e.query,
|
|
34
|
+
};`,[e.url,e.protocols,e.query,p]),v=`wscat -c "${e.url}"`,A=e.url.indexOf("://"),u=A!==-1?e.url.substring(0,A+3):"";return<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.contentBg}}>
|
|
35
35
|
|
|
36
36
|
<react_native_1.View style={{paddingHorizontal:8,paddingTop:4}}>
|
|
37
37
|
<react_native_1.View style={styles_1.default.detailInfoBar}>
|
|
@@ -39,23 +39,23 @@ ws.onclose = (event) => {
|
|
|
39
39
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:6,paddingBottom:8,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
|
|
40
40
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:5,flexWrap:"wrap",flex:1}}>
|
|
41
41
|
|
|
42
|
-
<react_native_1.View style={[styles_1.default.methodBadge,{backgroundColor:
|
|
42
|
+
<react_native_1.View style={[styles_1.default.methodBadge,{backgroundColor:p?AppColors_1.AppColors.violet600:m?AppColors_1.AppColors.emerald600:AppColors_1.AppColors.blue600,paddingHorizontal:8,paddingVertical:3.5,borderRadius:6}]}>
|
|
43
43
|
<react_native_1.Text style={[styles_1.default.methodBadgeText,{color:AppColors_1.AppColors.white,fontSize:10.5,fontFamily:AppFonts_1.AppFonts.interBold}]}>
|
|
44
|
-
{
|
|
44
|
+
{p?"SIO":m?"WSS":"WS"}
|
|
45
45
|
</react_native_1.Text>
|
|
46
46
|
</react_native_1.View>
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
<react_native_1.View style={[styles_1.default.chip,{backgroundColor:
|
|
50
|
-
<react_native_1.Text style={[styles_1.default.chipText,{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:
|
|
49
|
+
<react_native_1.View style={[styles_1.default.chip,{backgroundColor:p?`${AppColors_1.AppColors.violet600}14`:`${AppColors_1.AppColors.sky500}14`,borderColor:p?`${AppColors_1.AppColors.violet600}30`:`${AppColors_1.AppColors.sky500}30`,paddingHorizontal:6,paddingVertical:3,borderRadius:6}]}>
|
|
50
|
+
<react_native_1.Text style={[styles_1.default.chipText,{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:p?AppColors_1.AppColors.violet600:AppColors_1.AppColors.sky600}]}>
|
|
51
51
|
{(e.client||"WEBSOCKET").toUpperCase()}
|
|
52
52
|
</react_native_1.Text>
|
|
53
53
|
</react_native_1.View>
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
<react_native_1.View style={[styles_1.default.chip,{backgroundColor:`${
|
|
57
|
-
{e.status==="error"?<NetworkIcons_1.FailIcon size={8}color={AppColors_1.AppColors.errorColor}/>:<react_native_1.View style={{width:6,height:6,borderRadius:3,backgroundColor:
|
|
58
|
-
<react_native_1.Text style={[styles_1.default.chipText,{color:
|
|
56
|
+
<react_native_1.View style={[styles_1.default.chip,{backgroundColor:`${y}18`,borderColor:`${y}40`,paddingHorizontal:7,paddingVertical:3,borderRadius:6}]}>
|
|
57
|
+
{e.status==="error"?<NetworkIcons_1.FailIcon size={8}color={AppColors_1.AppColors.errorColor}/>:<react_native_1.View style={{width:6,height:6,borderRadius:3,backgroundColor:y}}/>}
|
|
58
|
+
<react_native_1.Text style={[styles_1.default.chipText,{color:y,fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5}]}>
|
|
59
59
|
{(e.status||"open").toUpperCase()}
|
|
60
60
|
</react_native_1.Text>
|
|
61
61
|
</react_native_1.View>
|
|
@@ -80,7 +80,7 @@ ws.onclose = (event) => {
|
|
|
80
80
|
<react_native_1.View style={[styles_1.default.chip,{backgroundColor:`${AppColors_1.AppColors.sky600}14`,borderColor:`${AppColors_1.AppColors.sky600}30`,paddingHorizontal:7,paddingVertical:3,borderRadius:6,gap:4}]}>
|
|
81
81
|
<NetworkIcons_1.SizeIcon color={AppColors_1.AppColors.sky600}size={10}/>
|
|
82
82
|
<react_native_1.Text style={[styles_1.default.chipText,{color:AppColors_1.AppColors.sky600,fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5}]}>
|
|
83
|
-
{formatByteSize(
|
|
83
|
+
{(0,helpers_1.formatByteSize)(z)}
|
|
84
84
|
</react_native_1.Text>
|
|
85
85
|
</react_native_1.View>
|
|
86
86
|
</react_native_1.View>
|
|
@@ -91,9 +91,9 @@ ws.onclose = (event) => {
|
|
|
91
91
|
|
|
92
92
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",flexWrap:"nowrap",gap:6}}>
|
|
93
93
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flexShrink:1,minWidth:0}}>
|
|
94
|
-
{
|
|
95
|
-
<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:
|
|
96
|
-
{
|
|
94
|
+
{u?<react_native_1.View style={{backgroundColor:u.startsWith("wss")||u.startsWith("https")?`${AppColors_1.AppColors.green600}18`:`${AppColors_1.AppColors.amber500}18`,paddingHorizontal:6,paddingVertical:2,borderRadius:4}}>
|
|
95
|
+
<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:u.startsWith("wss")||u.startsWith("https")?AppColors_1.AppColors.green600:AppColors_1.AppColors.amber500}}>
|
|
96
|
+
{u.replace("://","").toUpperCase()}
|
|
97
97
|
</react_native_1.Text>
|
|
98
98
|
</react_native_1.View>:null}
|
|
99
99
|
|
|
@@ -104,18 +104,18 @@ ws.onclose = (event) => {
|
|
|
104
104
|
|
|
105
105
|
|
|
106
106
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0}}>
|
|
107
|
-
<CopyButton_1.default value={
|
|
108
|
-
<ShareButton_1.default onShare={
|
|
109
|
-
<CopyButton_1.default value={
|
|
107
|
+
<CopyButton_1.default value={v}label="wscat"iconType="terminal"/>
|
|
108
|
+
<ShareButton_1.default onShare={V}/>
|
|
109
|
+
<CopyButton_1.default value={T}label="JS"iconType="fetch"/>
|
|
110
110
|
<CopyButton_1.default value={e.url}label="URL"iconType="copy"/>
|
|
111
|
-
<TouchableScale_1.default style={[styles_1.default.iconSquareBtn,{backgroundColor:`${AppColors_1.AppColors.sky600}15`,borderColor:`${AppColors_1.AppColors.sky600}35`}]}onPress={
|
|
111
|
+
<TouchableScale_1.default style={[styles_1.default.iconSquareBtn,{backgroundColor:`${AppColors_1.AppColors.sky600}15`,borderColor:`${AppColors_1.AppColors.sky600}35`}]}onPress={x}hitSlop={10}accessibilityLabel="Open in Browser">
|
|
112
112
|
<NetworkIcons_1.ExternalLinkIcon color={AppColors_1.AppColors.sky600}size={13}/>
|
|
113
113
|
</TouchableScale_1.default>
|
|
114
114
|
</react_native_1.View>
|
|
115
115
|
</react_native_1.View>
|
|
116
116
|
|
|
117
117
|
|
|
118
|
-
<react_native_1.Pressable onPress={
|
|
118
|
+
<react_native_1.Pressable onPress={x}>
|
|
119
119
|
<react_native_1.Text selectable={!0}style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12.5,color:AppColors_1.AppColors.skyBlue,textDecorationLine:"underline",lineHeight:18}}>
|
|
120
120
|
{e.url}
|
|
121
121
|
</react_native_1.Text>
|
|
@@ -125,16 +125,16 @@ ws.onclose = (event) => {
|
|
|
125
125
|
</react_native_1.View>
|
|
126
126
|
|
|
127
127
|
|
|
128
|
-
<SegmentedTabs_1.default tabs={[{key:"messages",label:`${o("socket.messages","Messages")} (${e.frames?.length||0})`,themeColor:AppColors_1.AppColors.violet600,icon:t=><NetworkIcons_1.SendFrameIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"overview",label:o("socket.overview","Overview"),themeColor:AppColors_1.AppColors.sky600,icon:t=><NetworkIcons_1.GlobeIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"params",label:`${o("socket.params","Params")} (${Object.keys(e.query||{}).length})`,themeColor:AppColors_1.AppColors.teal600,icon:t=><NetworkIcons_1.LayersIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"raw",label:o("socket.rawAndCode","Raw & Code"),themeColor:AppColors_1.AppColors.amber600,icon:t=><NetworkIcons_1.TerminalIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>}]}activeKey={
|
|
128
|
+
<SegmentedTabs_1.default tabs={[{key:"messages",label:`${o("socket.messages","Messages")} (${e.frames?.length||0})`,themeColor:AppColors_1.AppColors.violet600,icon:t=><NetworkIcons_1.SendFrameIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"overview",label:o("socket.overview","Overview"),themeColor:AppColors_1.AppColors.sky600,icon:t=><NetworkIcons_1.GlobeIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},...e.headers&&Object.keys(e.headers).length>0?[{key:"headers",label:`${o("network.detailTabs.headers","Headers")} (${Object.keys(e.headers).length})`,themeColor:AppColors_1.AppColors.purple,icon:t=><NetworkIcons_1.HeadersIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>}]:[],{key:"params",label:`${o("socket.params","Params")} (${Object.keys(e.query||{}).length})`,themeColor:AppColors_1.AppColors.teal600,icon:t=><NetworkIcons_1.LayersIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"raw",label:o("socket.rawAndCode","Raw & Code"),themeColor:AppColors_1.AppColors.amber600,icon:t=><NetworkIcons_1.TerminalIcon size={12}color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>}]}activeKey={d}onChange={t=>{(0,InspectorContext_1.animateNextLayout)(),h(t)}}style={{marginHorizontal:6,marginBottom:10,marginTop:6}}/>
|
|
129
129
|
|
|
130
130
|
|
|
131
|
-
{
|
|
131
|
+
{d==="messages"&&<react_native_1.View style={{flex:1}}>
|
|
132
132
|
|
|
133
133
|
<react_native_1.View style={socketDetailStyles.frameControlBar}>
|
|
134
134
|
<react_native_1.View style={socketDetailStyles.frameSearchBar}>
|
|
135
135
|
<NetworkIcons_1.SearchIcon size={13}color={AppColors_1.AppColors.grayTextWeak}/>
|
|
136
|
-
<react_native_1.TextInput style={socketDetailStyles.frameSearchInput}placeholder={o("socket.searchFramesPlaceholder","Search frame payloads or event names...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={
|
|
137
|
-
{
|
|
136
|
+
<react_native_1.TextInput style={socketDetailStyles.frameSearchInput}placeholder={o("socket.searchFramesPlaceholder","Search frame payloads or event names...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={c}onChangeText={g}clearButtonMode="while-editing"/>
|
|
137
|
+
{c.length>0&&<react_native_1.Pressable onPress={()=>g("")}>
|
|
138
138
|
<NetworkIcons_1.ClearIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
|
|
139
139
|
</react_native_1.Pressable>}
|
|
140
140
|
</react_native_1.View>
|
|
@@ -142,20 +142,20 @@ ws.onclose = (event) => {
|
|
|
142
142
|
|
|
143
143
|
<react_native_1.View style={socketDetailStyles.frameFilterRow}>
|
|
144
144
|
<react_native_1.View style={socketDetailStyles.dirPillGroup}>
|
|
145
|
-
<react_native_1.TouchableOpacity onPress={()=>
|
|
145
|
+
<react_native_1.TouchableOpacity onPress={()=>_("all")}style={[socketDetailStyles.dirPill,s==="all"&&socketDetailStyles.dirPillActive]}>
|
|
146
146
|
<react_native_1.Text style={[socketDetailStyles.dirPillText,s==="all"&&socketDetailStyles.dirPillTextActive]}>
|
|
147
147
|
{o("common.all","All")}
|
|
148
148
|
</react_native_1.Text>
|
|
149
149
|
</react_native_1.TouchableOpacity>
|
|
150
150
|
|
|
151
|
-
<react_native_1.TouchableOpacity onPress={()=>
|
|
151
|
+
<react_native_1.TouchableOpacity onPress={()=>_("send")}style={[socketDetailStyles.dirPill,s==="send"&&socketDetailStyles.dirPillActive,{flexDirection:"row",alignItems:"center",gap:4}]}>
|
|
152
152
|
<NetworkIcons_1.SendFrameIcon size={10}color={s==="send"?AppColors_1.AppColors.white:AppColors_1.AppColors.emerald600}/>
|
|
153
153
|
<react_native_1.Text style={[socketDetailStyles.dirPillText,s==="send"&&socketDetailStyles.dirPillTextActive]}>
|
|
154
154
|
{o("socket.sent","Sent")}
|
|
155
155
|
</react_native_1.Text>
|
|
156
156
|
</react_native_1.TouchableOpacity>
|
|
157
157
|
|
|
158
|
-
<react_native_1.TouchableOpacity onPress={()=>
|
|
158
|
+
<react_native_1.TouchableOpacity onPress={()=>_("receive")}style={[socketDetailStyles.dirPill,s==="receive"&&socketDetailStyles.dirPillActive,{flexDirection:"row",alignItems:"center",gap:4}]}>
|
|
159
159
|
<NetworkIcons_1.ReceiveFrameIcon size={10}color={s==="receive"?AppColors_1.AppColors.white:AppColors_1.AppColors.sky600}/>
|
|
160
160
|
<react_native_1.Text style={[socketDetailStyles.dirPillText,s==="receive"&&socketDetailStyles.dirPillTextActive]}>
|
|
161
161
|
{o("socket.recv","Recv")}
|
|
@@ -164,11 +164,11 @@ ws.onclose = (event) => {
|
|
|
164
164
|
</react_native_1.View>
|
|
165
165
|
|
|
166
166
|
<react_native_1.View style={socketDetailStyles.expandGroup}>
|
|
167
|
-
<react_native_1.TouchableOpacity onPress={
|
|
167
|
+
<react_native_1.TouchableOpacity onPress={F}style={socketDetailStyles.textBtn}>
|
|
168
168
|
<react_native_1.Text style={socketDetailStyles.textBtnLabel}>{o("common.expandAll","Expand All")}</react_native_1.Text>
|
|
169
169
|
</react_native_1.TouchableOpacity>
|
|
170
170
|
<react_native_1.Text style={socketDetailStyles.textBtnSep}>•</react_native_1.Text>
|
|
171
|
-
<react_native_1.TouchableOpacity onPress={
|
|
171
|
+
<react_native_1.TouchableOpacity onPress={B}style={socketDetailStyles.textBtn}>
|
|
172
172
|
<react_native_1.Text style={socketDetailStyles.textBtnLabel}>{o("common.collapseAll","Collapse All")}</react_native_1.Text>
|
|
173
173
|
</react_native_1.TouchableOpacity>
|
|
174
174
|
</react_native_1.View>
|
|
@@ -177,18 +177,18 @@ ws.onclose = (event) => {
|
|
|
177
177
|
|
|
178
178
|
|
|
179
179
|
<react_native_1.ScrollView style={socketDetailStyles.framesScrollView}contentContainerStyle={{padding:12}}>
|
|
180
|
-
{
|
|
180
|
+
{w.length===0?<react_native_1.View style={socketDetailStyles.emptyFrames}>
|
|
181
181
|
<react_native_1.Text style={socketDetailStyles.emptyFramesText}>
|
|
182
182
|
{e.frames?.length===0?"No messages transferred on this connection yet":"No frames match the active search or direction filter"}
|
|
183
183
|
</react_native_1.Text>
|
|
184
|
-
</react_native_1.View>:
|
|
184
|
+
</react_native_1.View>:w.map((t,n)=>{const r=t.direction==="send",b=S.has(t.id),C=r?AppColors_1.AppColors.blue600:AppColors_1.AppColors.emerald600,R=r?`${AppColors_1.AppColors.blue600}12`:`${AppColors_1.AppColors.emerald600}12`,P=t.timestamp-e.startTime;return<react_native_1.View key={t.id}style={socketDetailStyles.frameCard}>
|
|
185
185
|
|
|
186
|
-
<react_native_1.Pressable onPress={()=>
|
|
186
|
+
<react_native_1.Pressable onPress={()=>k(t.id)}style={socketDetailStyles.frameCardHeader}>
|
|
187
187
|
<react_native_1.View style={socketDetailStyles.frameHeaderLeft}>
|
|
188
|
-
<react_native_1.View style={[socketDetailStyles.dirBadge,{backgroundColor:
|
|
189
|
-
{
|
|
190
|
-
<react_native_1.Text style={[socketDetailStyles.dirBadgeText,{color:
|
|
191
|
-
{
|
|
188
|
+
<react_native_1.View style={[socketDetailStyles.dirBadge,{backgroundColor:R}]}>
|
|
189
|
+
{r?<NetworkIcons_1.SendFrameIcon size={10}color={C}/>:<NetworkIcons_1.ReceiveFrameIcon size={10}color={C}/>}
|
|
190
|
+
<react_native_1.Text style={[socketDetailStyles.dirBadgeText,{color:C}]}>
|
|
191
|
+
{r?"SENT":"RECV"}
|
|
192
192
|
</react_native_1.Text>
|
|
193
193
|
</react_native_1.View>
|
|
194
194
|
|
|
@@ -198,27 +198,27 @@ ws.onclose = (event) => {
|
|
|
198
198
|
</react_native_1.Text>
|
|
199
199
|
</react_native_1.View>}
|
|
200
200
|
|
|
201
|
-
<react_native_1.Text style={socketDetailStyles.frameIndexText}>#{
|
|
201
|
+
<react_native_1.Text style={socketDetailStyles.frameIndexText}>#{n+1}</react_native_1.Text>
|
|
202
202
|
</react_native_1.View>
|
|
203
203
|
|
|
204
204
|
<react_native_1.View style={socketDetailStyles.frameHeaderRight}>
|
|
205
205
|
<react_native_1.Text style={socketDetailStyles.frameOffsetTime}>
|
|
206
|
-
+{
|
|
206
|
+
+{P}ms
|
|
207
207
|
</react_native_1.Text>
|
|
208
208
|
<react_native_1.View style={socketDetailStyles.frameSizePill}>
|
|
209
209
|
<react_native_1.Text style={socketDetailStyles.frameSizeText}>
|
|
210
|
-
{formatByteSize(t.size||0)}
|
|
210
|
+
{(0,helpers_1.formatByteSize)(t.size||0)}
|
|
211
211
|
</react_native_1.Text>
|
|
212
212
|
</react_native_1.View>
|
|
213
213
|
<CopyButton_1.default value={t.raw??t.data}label="Frame"/>
|
|
214
|
-
<NetworkIcons_1.ChevronIcon direction={
|
|
214
|
+
<NetworkIcons_1.ChevronIcon direction={b?"up":"down"}size={12}color={AppColors_1.AppColors.grayTextWeak}/>
|
|
215
215
|
</react_native_1.View>
|
|
216
216
|
</react_native_1.Pressable>
|
|
217
217
|
|
|
218
218
|
|
|
219
219
|
<react_native_1.View style={socketDetailStyles.frameBody}>
|
|
220
|
-
{typeof t.data=="object"&&t.data!==null?<JsonViewer_1.default data={t.data}search={
|
|
221
|
-
<HighlightText_1.default text={String(t.data)}search={
|
|
220
|
+
{typeof t.data=="object"&&t.data!==null?<JsonViewer_1.default data={t.data}search={c}forceOpen={b}/>:<react_native_1.Text style={socketDetailStyles.frameRawText}>
|
|
221
|
+
<HighlightText_1.default text={String(t.data)}search={c}/>
|
|
222
222
|
</react_native_1.Text>}
|
|
223
223
|
</react_native_1.View>
|
|
224
224
|
</react_native_1.View>})}
|
|
@@ -226,91 +226,101 @@ ws.onclose = (event) => {
|
|
|
226
226
|
</react_native_1.View>}
|
|
227
227
|
|
|
228
228
|
|
|
229
|
-
{
|
|
229
|
+
{d==="overview"&&<react_native_1.ScrollView style={socketDetailStyles.tabContentScroll}contentContainerStyle={{padding:12}}>
|
|
230
230
|
<react_native_1.View style={socketDetailStyles.sectionCard}>
|
|
231
|
-
<react_native_1.Text style={socketDetailStyles.sectionHeading}>CONNECTION DETAILS</react_native_1.Text>
|
|
231
|
+
<react_native_1.Text style={socketDetailStyles.sectionHeading}>{o("socket.connectionDetails","CONNECTION DETAILS")}</react_native_1.Text>
|
|
232
232
|
|
|
233
233
|
<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
234
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>URL</react_native_1.Text>
|
|
234
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.url","URL")}</react_native_1.Text>
|
|
235
235
|
<react_native_1.Text style={socketDetailStyles.infoVal}selectable>{e.url}</react_native_1.Text>
|
|
236
236
|
</react_native_1.View>
|
|
237
237
|
|
|
238
238
|
<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
239
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Client Engine</react_native_1.Text>
|
|
239
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.clientEngine","Client Engine")}</react_native_1.Text>
|
|
240
240
|
<react_native_1.Text style={socketDetailStyles.infoVal}>{e.client?.toUpperCase()||"WEBSOCKET"}</react_native_1.Text>
|
|
241
241
|
</react_native_1.View>
|
|
242
242
|
|
|
243
243
|
<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
244
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Ready State</react_native_1.Text>
|
|
244
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.readyState","Ready State")}</react_native_1.Text>
|
|
245
245
|
<react_native_1.Text style={socketDetailStyles.infoVal}>
|
|
246
246
|
{e.readyState===1?"1 (OPEN)":e.readyState===0?"0 (CONNECTING)":e.readyState===2?"2 (CLOSING)":"3 (CLOSED)"}
|
|
247
247
|
</react_native_1.Text>
|
|
248
248
|
</react_native_1.View>
|
|
249
249
|
|
|
250
250
|
<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
251
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Connected At</react_native_1.Text>
|
|
251
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.connectedAt","Connected At")}</react_native_1.Text>
|
|
252
252
|
<react_native_1.Text style={socketDetailStyles.infoVal}>{(0,helpers_1.formatDateTime)(e.startTime)}</react_native_1.Text>
|
|
253
253
|
</react_native_1.View>
|
|
254
254
|
|
|
255
255
|
{e.endTime&&<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
256
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Closed At</react_native_1.Text>
|
|
256
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.closedAt","Closed At")}</react_native_1.Text>
|
|
257
257
|
<react_native_1.Text style={socketDetailStyles.infoVal}>{(0,helpers_1.formatDateTime)(e.endTime)}</react_native_1.Text>
|
|
258
258
|
</react_native_1.View>}
|
|
259
259
|
|
|
260
260
|
{e.closeCode!=null&&<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
261
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Close Code & Reason</react_native_1.Text>
|
|
261
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.closeCodeReason","Close Code & Reason")}</react_native_1.Text>
|
|
262
262
|
<react_native_1.Text style={socketDetailStyles.infoVal}>{e.closeCode} ({e.closeReason||"N/A"})</react_native_1.Text>
|
|
263
263
|
</react_native_1.View>}
|
|
264
264
|
|
|
265
265
|
{e.protocols&&<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
266
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Subprotocols</react_native_1.Text>
|
|
266
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.subprotocols","Subprotocols")}</react_native_1.Text>
|
|
267
267
|
<react_native_1.Text style={socketDetailStyles.infoVal}>
|
|
268
268
|
{Array.isArray(e.protocols)?e.protocols.join(", "):e.protocols}
|
|
269
269
|
</react_native_1.Text>
|
|
270
270
|
</react_native_1.View>}
|
|
271
271
|
|
|
272
272
|
{e.caller&&<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
273
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Caller Stack</react_native_1.Text>
|
|
273
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.callerStack","Caller Stack")}</react_native_1.Text>
|
|
274
274
|
<react_native_1.Text style={[socketDetailStyles.infoVal,{fontFamily:AppFonts_1.AppFonts.interMedium,color:AppColors_1.AppColors.brandPurple}]}selectable>
|
|
275
275
|
{e.caller}
|
|
276
276
|
</react_native_1.Text>
|
|
277
277
|
</react_native_1.View>}
|
|
278
278
|
|
|
279
279
|
{e.error&&<react_native_1.View style={socketDetailStyles.infoRow}>
|
|
280
|
-
<react_native_1.Text style={socketDetailStyles.infoKey}>Error</react_native_1.Text>
|
|
280
|
+
<react_native_1.Text style={socketDetailStyles.infoKey}>{o("socket.error","Error")}</react_native_1.Text>
|
|
281
281
|
<react_native_1.Text style={[socketDetailStyles.infoVal,{color:AppColors_1.AppColors.errorColor}]}selectable>
|
|
282
282
|
{e.error}
|
|
283
283
|
</react_native_1.Text>
|
|
284
284
|
</react_native_1.View>}
|
|
285
285
|
</react_native_1.View>
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
{(()=>{const t=e.routeInfo||i?.current&&i.current.get(e.id);return!t||!t.path||t.path==="Navigators"?null:<react_native_1.View style={{marginTop:12}}>
|
|
289
|
+
<SourcePageCard_1.default routeInfo={t}/>
|
|
290
|
+
</react_native_1.View>})()}
|
|
286
291
|
</react_native_1.ScrollView>}
|
|
287
292
|
|
|
288
293
|
|
|
289
|
-
{
|
|
294
|
+
{d==="headers"&&e.headers&&<react_native_1.ScrollView style={socketDetailStyles.tabContentScroll}contentContainerStyle={{padding:12}}>
|
|
295
|
+
<HeadersSection_1.default title={o("socket.handshakeHeaders","Handshake Headers")}headers={e.headers}search=""resetKey={e.id}/>
|
|
296
|
+
</react_native_1.ScrollView>}
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
{d==="params"&&<react_native_1.ScrollView style={socketDetailStyles.tabContentScroll}contentContainerStyle={{padding:12}}>
|
|
290
300
|
<react_native_1.View style={socketDetailStyles.sectionCard}>
|
|
291
|
-
<react_native_1.Text style={socketDetailStyles.sectionHeading}>HANDSHAKE QUERY PARAMETERS</react_native_1.Text>
|
|
292
|
-
{!e.query||Object.keys(e.query).length===0?<react_native_1.Text style={socketDetailStyles.emptySectionText}>No query parameters passed in connection URL</react_native_1.Text>:Object.entries(e.query).map(([t,
|
|
301
|
+
<react_native_1.Text style={socketDetailStyles.sectionHeading}>{o("socket.handshakeParams","HANDSHAKE QUERY PARAMETERS")}</react_native_1.Text>
|
|
302
|
+
{!e.query||Object.keys(e.query).length===0?<react_native_1.Text style={socketDetailStyles.emptySectionText}>{o("socket.noQueryParams","No query parameters passed in connection URL")}</react_native_1.Text>:Object.entries(e.query).map(([t,n])=><react_native_1.View key={t}style={socketDetailStyles.paramRow}>
|
|
293
303
|
<react_native_1.Text style={socketDetailStyles.paramKey}selectable>{t}</react_native_1.Text>
|
|
294
|
-
<react_native_1.Text style={socketDetailStyles.paramVal}selectable>{
|
|
295
|
-
<CopyButton_1.default value={
|
|
304
|
+
<react_native_1.Text style={socketDetailStyles.paramVal}selectable>{n}</react_native_1.Text>
|
|
305
|
+
<CopyButton_1.default value={n}label={t}/>
|
|
296
306
|
</react_native_1.View>)}
|
|
297
307
|
</react_native_1.View>
|
|
298
308
|
</react_native_1.ScrollView>}
|
|
299
309
|
|
|
300
310
|
|
|
301
|
-
{
|
|
311
|
+
{d==="raw"&&<react_native_1.ScrollView style={socketDetailStyles.tabContentScroll}contentContainerStyle={{padding:12}}>
|
|
302
312
|
<react_native_1.View style={socketDetailStyles.sectionCard}>
|
|
303
|
-
<react_native_1.Text style={socketDetailStyles.sectionHeading}>JAVASCRIPT CLIENT CODE</react_native_1.Text>
|
|
304
|
-
<CodeSnippet_1.default code={
|
|
313
|
+
<react_native_1.Text style={socketDetailStyles.sectionHeading}>{o("socket.jsClientCode","JAVASCRIPT CLIENT CODE")}</react_native_1.Text>
|
|
314
|
+
<CodeSnippet_1.default code={T}language="javascript"/>
|
|
305
315
|
</react_native_1.View>
|
|
306
316
|
|
|
307
317
|
<react_native_1.View style={[socketDetailStyles.sectionCard,{marginTop:14}]}>
|
|
308
|
-
<react_native_1.Text style={socketDetailStyles.sectionHeading}>TERMINAL WSCAT COMMAND</react_native_1.Text>
|
|
309
|
-
<CodeSnippet_1.default code={
|
|
318
|
+
<react_native_1.Text style={socketDetailStyles.sectionHeading}>{o("socket.terminalWscat","TERMINAL WSCAT COMMAND")}</react_native_1.Text>
|
|
319
|
+
<CodeSnippet_1.default code={v}language="javascript"/>
|
|
310
320
|
</react_native_1.View>
|
|
311
321
|
|
|
312
322
|
<react_native_1.View style={[socketDetailStyles.sectionCard,{marginTop:14}]}>
|
|
313
|
-
<react_native_1.Text style={socketDetailStyles.sectionHeading}>RAW CONNECTION JSON DUMP</react_native_1.Text>
|
|
323
|
+
<react_native_1.Text style={socketDetailStyles.sectionHeading}>{o("socket.rawDump","RAW CONNECTION JSON DUMP")}</react_native_1.Text>
|
|
314
324
|
<JsonViewer_1.default data={e}/>
|
|
315
325
|
</react_native_1.View>
|
|
316
326
|
</react_native_1.ScrollView>}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,r,i,l){l===void 0&&(l=i);var a=Object.getOwnPropertyDescriptor(r,i);(!a||("get"in a?!r.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return r[i]}}),Object.defineProperty(t,l,a)}):(function(t,r,i,l){l===void 0&&(l=i),t[l]=r[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,r){Object.defineProperty(t,"default",{enumerable:!0,value:r})}):function(t,r){t.default=r}),__importStar=this&&this.__importStar||(function(){var t=function(r){return t=Object.getOwnPropertyNames||function(i){var l=[];for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(l[l.length]=a);return l},t(r)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var l=t(r),a=0;a<l.length;a++)l[a]!=="default"&&__createBinding(i,r,l[a]);return __setModuleDefault(i,r),i}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),SocketCard_1=__importDefault(require("./SocketCard")),SocketFilterModal_1=__importStar(require("./SocketFilterModal")),ConfirmationModal_1=require("./ConfirmationModal"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,SocketTab=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{socketRecords:r,filteredSocketRecords:i,socketSearch:l,setSocketSearch:a,socketQuickFilter:p,setSocketQuickFilter:_,setSelectedSocket:T,clearAllSocketLogs:w,deleteMultipleSocketRecords:k,simulateSocket:A,maxSocketLogs:m}=(0,InspectorContext_1.useInspector)(),L=m||50,x=(0,react_1.useRef)(null),[v,E]=(0,react_1.useState)(0),[
|
|
2
|
-
`);(0,helpers_1.copyToClipboard)(o,`${e.length} WebSocket URLs`),(0,toast_1.showToast)(`${e.length} URLs copied to clipboard`)},[n,c]),N=(0,react_1.useCallback)(async()=>{const e=n.filter(o=>c.has(o.id));if(e.length!==0)try{const o=JSON.stringify(e.map(s=>({url:s.url,status:s.status,startTime:new Date(s.startTime).toISOString(),duration:s.duration,framesCount:s.frames?.length||0,totalBytesSent:s.totalBytesSent,totalBytesReceived:s.totalBytesReceived})),null,2);await react_native_1.Share.share({message:o,title:`WebSocket Traffic (${e.length} connections)`})}catch{}},[n,c]),U=(0,react_1.useCallback)(()=>{c.size!==0&&h({visible:!0,title:t("socket.deleteSelectedTitle","Delete Selected WebSockets"),message:t("socket.deleteSelectedMsg",{count:c.size,defaultValue:`Are you sure you want to delete ${c.size} selected WebSocket logs?`}),confirmText:t("common.delete","Delete"),cancelText:t("common.cancel","Cancel"),onConfirm:()=>{h(o=>({...o,visible:!1}));const e=Array.from(c);k?.(e),C(new Set),(0,toast_1.showToast)(`Deleted ${e.length} WebSocket logs`)}})},[c,k,t]),K=(0,react_1.useCallback)(()=>{h({visible:!0,title:t("socket.clearTitle","Clear All WebSocket Logs"),message:t("socket.clearMessage","Are you sure you want to delete all recorded WebSocket sessions?"),confirmText:t("common.clear","Clear All"),cancelText:t("common.cancel","Cancel"),onConfirm:()=>{h(e=>({...e,visible:!1})),w(),C(new Set),(0,toast_1.showToast)(t("socket.cleared","All WebSocket logs cleared"))}})},[w,t]),Q=(0,react_1.useMemo)(()=>[{id:"all",label:"All",count:u.all,color:AppColors_1.AppColors.purple,icon:e=><NetworkIcons_1.WebsocketIcon size={12}color={e}/>},{id:"open",label:"Open",count:u.open,color:AppColors_1.AppColors.greenColor,icon:e=><react_native_1.View style={{width:6,height:6,borderRadius:3,backgroundColor:e}}/>},{id:"closed",label:"Closed",count:u.closed,color:AppColors_1.AppColors.slate500,icon:e=><NetworkIcons_1.ClockIcon size={11}color={e}/>},{id:"error",label:"Error",count:u.error,color:AppColors_1.AppColors.errorColor,icon:e=><NetworkIcons_1.FailIcon size={9}color={e}/>},{id:"sio",label:"Socket.IO",count:u.sio,color:AppColors_1.AppColors.violet600,icon:e=><NetworkIcons_1.BoltIcon size={11}color={e}/>},{id:"wss",label:"WSS",count:u.wss,color:AppColors_1.AppColors.emerald600,icon:e=><NetworkIcons_1.LockIcon size={11}color={e}/>},{id:"ws",label:"WS",count:u.ws,color:AppColors_1.AppColors.blue600,icon:e=><NetworkIcons_1.GlobeIcon size={11}color={e}/>}],[u]),G=(0,react_1.useCallback)(()=>{
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,r,i,l){l===void 0&&(l=i);var a=Object.getOwnPropertyDescriptor(r,i);(!a||("get"in a?!r.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return r[i]}}),Object.defineProperty(t,l,a)}):(function(t,r,i,l){l===void 0&&(l=i),t[l]=r[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,r){Object.defineProperty(t,"default",{enumerable:!0,value:r})}):function(t,r){t.default=r}),__importStar=this&&this.__importStar||(function(){var t=function(r){return t=Object.getOwnPropertyNames||function(i){var l=[];for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(l[l.length]=a);return l},t(r)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var l=t(r),a=0;a<l.length;a++)l[a]!=="default"&&__createBinding(i,r,l[a]);return __setModuleDefault(i,r),i}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),SocketCard_1=__importDefault(require("./SocketCard")),SocketFilterModal_1=__importStar(require("./SocketFilterModal")),ConfirmationModal_1=require("./ConfirmationModal"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,SocketTab=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{socketRecords:r,filteredSocketRecords:i,socketSearch:l,setSocketSearch:a,socketQuickFilter:p,setSocketQuickFilter:_,setSelectedSocket:T,clearAllSocketLogs:w,deleteMultipleSocketRecords:k,simulateSocket:A,maxSocketLogs:m}=(0,InspectorContext_1.useInspector)(),L=m||50,x=(0,react_1.useRef)(null),[v,E]=(0,react_1.useState)(0),[g,B]=(0,react_1.useState)(L),[q,I]=(0,react_1.useState)(!1),[d,$]=(0,react_1.useState)(SocketFilterModal_1.DEFAULT_SOCKET_FILTERS),[c,C]=(0,react_1.useState)(new Set),[F,V]=(0,react_1.useState)(!1),[f,h]=(0,react_1.useState)({visible:!1,title:"",message:"",onConfirm:()=>{}});react_1.default.useEffect(()=>{B(m||50),x.current?.scrollToOffset({offset:0,animated:!1})},[l,p,m]);const z=["chat","crypto","socketio","echo"],O=(0,react_1.useCallback)(()=>{const e=z[v%z.length];A(e),E(o=>o+1),(0,toast_1.showToast)(`Simulated ${e.toUpperCase()} WebSocket`)},[v,A]),u=(0,react_1.useMemo)(()=>{let e=0,o=0,s=0,D=0,M=0,P=0;return r.forEach(S=>{const y=(S.status||"open").toLowerCase();y==="open"?e++:y==="closed"?o++:y==="error"&&s++,S.client==="socket.io"||S.url.includes("/socket.io")?P++:S.url.startsWith("wss://")?D++:M++}),{all:r.length,open:e,closed:o,error:s,wss:D,ws:M,sio:P}},[r]),n=(0,react_1.useMemo)(()=>{let e=i;return(0,SocketFilterModal_1.isSocketFiltersDefault)(d)||(d.status.has("all")||(e=e.filter(o=>d.status.has(o.status||"open"))),d.types.has("all")||(e=e.filter(o=>!!(d.types.has("sio")&&(o.client==="socket.io"||o.url.includes("/socket.io"))||d.types.has("wss")&&o.url.startsWith("wss://")||d.types.has("ws")&&o.url.startsWith("ws://")))),d.sortBy==="time_asc"?e=[...e].sort((o,s)=>o.startTime-s.startTime):d.sortBy==="frames_desc"?e=[...e].sort((o,s)=>(s.frames?.length||0)-(o.frames?.length||0)):d.sortBy==="duration_desc"&&(e=[...e].sort((o,s)=>(s.duration||0)-(o.duration||0)))),e},[i,d]),b=(0,react_1.useMemo)(()=>n.slice(0,g),[n,g]),R=(0,react_1.useCallback)(e=>{C(o=>{const s=new Set(o);return s.has(e)?s.delete(e):s.add(e),s})},[]),j=(0,react_1.useCallback)(()=>{c.size===n.length?C(new Set):C(new Set(n.map(e=>e.id)))},[c.size,n]),H=(0,react_1.useCallback)(()=>{const e=n.filter(s=>c.has(s.id));if(e.length===0)return;const o=e.map(s=>s.url).join(`
|
|
2
|
+
`);(0,helpers_1.copyToClipboard)(o,`${e.length} WebSocket URLs`),(0,toast_1.showToast)(`${e.length} URLs copied to clipboard`)},[n,c]),N=(0,react_1.useCallback)(async()=>{const e=n.filter(o=>c.has(o.id));if(e.length!==0)try{const o=JSON.stringify(e.map(s=>({url:s.url,status:s.status,startTime:new Date(s.startTime).toISOString(),duration:s.duration,framesCount:s.frames?.length||0,totalBytesSent:s.totalBytesSent,totalBytesReceived:s.totalBytesReceived})),null,2);await react_native_1.Share.share({message:o,title:`WebSocket Traffic (${e.length} connections)`})}catch{}},[n,c]),U=(0,react_1.useCallback)(()=>{c.size!==0&&h({visible:!0,title:t("socket.deleteSelectedTitle","Delete Selected WebSockets"),message:t("socket.deleteSelectedMsg",{count:c.size,defaultValue:`Are you sure you want to delete ${c.size} selected WebSocket logs?`}),confirmText:t("common.delete","Delete"),cancelText:t("common.cancel","Cancel"),onConfirm:()=>{h(o=>({...o,visible:!1}));const e=Array.from(c);k?.(e),C(new Set),(0,toast_1.showToast)(`Deleted ${e.length} WebSocket logs`)}})},[c,k,t]),K=(0,react_1.useCallback)(()=>{h({visible:!0,title:t("socket.clearTitle","Clear All WebSocket Logs"),message:t("socket.clearMessage","Are you sure you want to delete all recorded WebSocket sessions?"),confirmText:t("common.clear","Clear All"),cancelText:t("common.cancel","Cancel"),onConfirm:()=>{h(e=>({...e,visible:!1})),w(),C(new Set),(0,toast_1.showToast)(t("socket.cleared","All WebSocket logs cleared"))}})},[w,t]),Q=(0,react_1.useMemo)(()=>[{id:"all",label:"All",count:u.all,color:AppColors_1.AppColors.purple,icon:e=><NetworkIcons_1.WebsocketIcon size={12}color={e}/>},{id:"open",label:"Open",count:u.open,color:AppColors_1.AppColors.greenColor,icon:e=><react_native_1.View style={{width:6,height:6,borderRadius:3,backgroundColor:e}}/>},{id:"closed",label:"Closed",count:u.closed,color:AppColors_1.AppColors.slate500,icon:e=><NetworkIcons_1.ClockIcon size={11}color={e}/>},{id:"error",label:"Error",count:u.error,color:AppColors_1.AppColors.errorColor,icon:e=><NetworkIcons_1.FailIcon size={9}color={e}/>},{id:"sio",label:"Socket.IO",count:u.sio,color:AppColors_1.AppColors.violet600,icon:e=><NetworkIcons_1.BoltIcon size={11}color={e}/>},{id:"wss",label:"WSS",count:u.wss,color:AppColors_1.AppColors.emerald600,icon:e=><NetworkIcons_1.LockIcon size={11}color={e}/>},{id:"ws",label:"WS",count:u.ws,color:AppColors_1.AppColors.blue600,icon:e=><NetworkIcons_1.GlobeIcon size={11}color={e}/>}],[u]),G=(0,react_1.useCallback)(()=>{g<n.length&&B(e=>Math.min(e+LOAD_MORE_STEP,n.length))},[g,n.length]),W=(0,react_1.useCallback)(e=>{T(e)},[T]),J=(0,react_1.useCallback)(e=>e?.id?String(e.id):"",[]),X=(0,react_1.useCallback)(({item:e,index:o})=><AnimatedEntrance_1.default index={o}distance={8}>
|
|
3
3
|
<SocketCard_1.default item={e}onPress={()=>W(e)}searchStr={l}isSelected={c.has(e.id)}onToggleSelect={R}serialNumber={o+1}/>
|
|
4
4
|
</AnimatedEntrance_1.default>,[l,c,R,W]);return<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.primaryLight}}>
|
|
5
5
|
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
</react_native_1.View>}
|
|
96
96
|
|
|
97
97
|
|
|
98
|
-
<react_native_1.FlatList ref={x}data={
|
|
98
|
+
<react_native_1.FlatList ref={x}data={b}keyExtractor={J}renderItem={X}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}style={{flex:1}}contentContainerStyle={[socketTabStyles.listContent,{flexGrow:1}]}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}keyboardShouldPersistTaps="handled"ListEmptyComponent={<react_native_1.View style={socketTabStyles.emptyWrapper}>
|
|
99
99
|
<EmptyState_1.default isSearch={!!(l||p!=="all")}searchQuery={l}customTitle={l||p!=="all"?t("socket.noMatching","No matching WebSockets"):t("socket.noSockets","No WebSockets recorded yet")}customSub={l||p!=="all"?t("socket.adjustSearchFilter","Try adjusting your search query or filter chips."):t("socket.noSocketsDesc","WebSocket connections and Socket.IO messages will appear here in real-time.")}onClearSearch={()=>{a(""),_("all")}}showReload={!1}/>
|
|
100
100
|
{!l&&p==="all"&&<TouchableScale_1.default onPress={O}style={socketTabStyles.simulateEmptyBtn}>
|
|
101
101
|
<NetworkIcons_1.BoltIcon color={AppColors_1.AppColors.white}size={14}/>
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
{t("socket.simulateTraffic","Simulate Demo WebSocket Traffic")}
|
|
104
104
|
</react_native_1.Text>
|
|
105
105
|
</TouchableScale_1.default>}
|
|
106
|
-
</react_native_1.View>}ListFooterComponent={
|
|
106
|
+
</react_native_1.View>}ListFooterComponent={b.length>0?<EndOfListFooter_1.default totalCount={n.length}count={b.length}hasMore={b.length<n.length}onLoadMore={G}/>:null}/>
|
|
107
107
|
|
|
108
108
|
|
|
109
109
|
<SocketFilterModal_1.default visible={q}onClose={()=>I(!1)}filters={d}onApply={$}records={r}/>
|