react-native-inapp-inspector 2.3.15 → 2.3.16
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 +1 -0
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +0 -22
- package/dist/commonjs/components/Inspector/ConsoleTab.js +0 -22
- package/dist/commonjs/components/Inspector/CrashTab.js +0 -23
- package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +7 -0
- package/dist/commonjs/components/Inspector/FeedbackModal.js +552 -0
- package/dist/commonjs/components/Inspector/InspectorHeader.js +56 -4
- package/dist/commonjs/components/Inspector/MainScreen.js +45 -3
- package/dist/commonjs/components/Inspector/NetworkTab.js +27 -38
- package/dist/commonjs/components/Inspector/NpmStarPrompt.d.ts +3 -0
- package/dist/commonjs/components/Inspector/NpmStarPrompt.js +494 -0
- package/dist/commonjs/components/Inspector/PerformanceTab.js +8 -1
- package/dist/commonjs/components/Inspector/ReduxTab.js +0 -22
- package/dist/commonjs/components/Inspector/SettingsPanel.js +1035 -173
- package/dist/commonjs/components/Inspector/StorageTab.js +0 -23
- package/dist/commonjs/components/Inspector/TabBar.js +50 -15
- package/dist/commonjs/components/NetworkIcons.d.ts +5 -0
- package/dist/commonjs/components/NetworkIcons.js +33 -2
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/helpers/index.d.ts +1 -0
- package/dist/commonjs/helpers/index.js +1 -0
- package/dist/commonjs/helpers/remoteConfig.d.ts +4 -0
- package/dist/commonjs/helpers/remoteConfig.js +165 -0
- package/dist/commonjs/helpers/searchQueryParser.js +2 -0
- package/dist/commonjs/helpers/telemetry.d.ts +5 -0
- package/dist/commonjs/helpers/telemetry.js +339 -8
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.js +32 -2
- package/dist/commonjs/styles/AppFonts.d.ts +2 -0
- package/dist/commonjs/styles/AppFonts.js +1 -0
- package/dist/commonjs/styles/index.d.ts +22 -0
- package/dist/commonjs/styles/index.js +19 -0
- package/dist/commonjs/types/enums.d.ts +1 -0
- package/dist/commonjs/types/enums.js +1 -0
- package/dist/commonjs/types/interfaces.d.ts +12 -0
- package/dist/esm/components/Inspector/AnalyticsTab.js +1 -23
- package/dist/esm/components/Inspector/ConsoleTab.js +1 -23
- package/dist/esm/components/Inspector/CrashTab.js +1 -24
- package/dist/esm/components/Inspector/FeedbackModal.d.ts +7 -0
- package/dist/esm/components/Inspector/FeedbackModal.js +515 -0
- package/dist/esm/components/Inspector/InspectorHeader.js +57 -5
- package/dist/esm/components/Inspector/MainScreen.js +46 -4
- package/dist/esm/components/Inspector/NetworkTab.js +28 -39
- package/dist/esm/components/Inspector/NpmStarPrompt.d.ts +3 -0
- package/dist/esm/components/Inspector/NpmStarPrompt.js +454 -0
- package/dist/esm/components/Inspector/PerformanceTab.js +8 -1
- package/dist/esm/components/Inspector/ReduxTab.js +1 -23
- package/dist/esm/components/Inspector/SettingsPanel.js +1038 -176
- package/dist/esm/components/Inspector/StorageTab.js +0 -23
- package/dist/esm/components/Inspector/TabBar.js +50 -15
- package/dist/esm/components/NetworkIcons.d.ts +5 -0
- package/dist/esm/components/NetworkIcons.js +26 -0
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +1 -0
- package/dist/esm/helpers/remoteConfig.d.ts +4 -0
- package/dist/esm/helpers/remoteConfig.js +160 -0
- package/dist/esm/helpers/searchQueryParser.js +2 -0
- package/dist/esm/helpers/telemetry.d.ts +5 -0
- package/dist/esm/helpers/telemetry.js +332 -9
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +30 -2
- package/dist/esm/styles/AppFonts.d.ts +2 -0
- package/dist/esm/styles/AppFonts.js +1 -0
- package/dist/esm/styles/index.d.ts +22 -0
- package/dist/esm/styles/index.js +19 -0
- package/dist/esm/types/enums.d.ts +1 -0
- package/dist/esm/types/enums.js +1 -0
- package/dist/esm/types/interfaces.d.ts +12 -0
- package/package.json +1 -1
- package/src/components/Inspector/AnalyticsTab.tsx +0 -23
- package/src/components/Inspector/ConsoleTab.tsx +0 -23
- package/src/components/Inspector/CrashTab.tsx +0 -23
- package/src/components/Inspector/FeedbackModal.tsx +626 -0
- package/src/components/Inspector/InspectorHeader.tsx +78 -2
- package/src/components/Inspector/MainScreen.tsx +59 -3
- package/src/components/Inspector/NetworkTab.tsx +69 -78
- package/src/components/Inspector/NpmStarPrompt.tsx +532 -0
- package/src/components/Inspector/PerformanceTab.tsx +8 -1
- package/src/components/Inspector/ReduxTab.tsx +0 -23
- package/src/components/Inspector/SettingsPanel.tsx +1162 -197
- package/src/components/Inspector/StorageTab.tsx +0 -23
- package/src/components/Inspector/TabBar.tsx +57 -20
- package/src/components/NetworkIcons.tsx +92 -0
- package/src/constants/version.ts +1 -1
- package/src/helpers/index.ts +1 -0
- package/src/helpers/remoteConfig.ts +212 -0
- package/src/helpers/searchQueryParser.ts +3 -0
- package/src/helpers/telemetry.ts +381 -10
- package/src/index.tsx +42 -0
- package/src/styles/AppFonts.ts +2 -0
- package/src/styles/index.ts +20 -1
- package/src/types/enums.ts +1 -0
- package/src/types/interfaces.ts +12 -0
|
@@ -40,7 +40,6 @@ exports.StorageTab = void 0;
|
|
|
40
40
|
const react_1 = __importStar(require("react"));
|
|
41
41
|
const react_native_1 = require("react-native");
|
|
42
42
|
const TouchableScale_1 = __importDefault(require("../TouchableScale"));
|
|
43
|
-
const styles_1 = __importDefault(require("../../styles"));
|
|
44
43
|
const AppColors_1 = require("../../styles/AppColors");
|
|
45
44
|
const AppFonts_1 = require("../../styles/AppFonts");
|
|
46
45
|
const i18n_1 = require("../../i18n");
|
|
@@ -436,28 +435,6 @@ exports.StorageTab = react_1.default.memo(() => {
|
|
|
436
435
|
</react_native_1.Text>
|
|
437
436
|
</TouchableScale_1.default>)}
|
|
438
437
|
</react_native_1.View>} ListFooterComponent={<react_native_1.View style={{ height: 60 }}/>}/>
|
|
439
|
-
|
|
440
|
-
<TouchableScale_1.default onPress={() => {
|
|
441
|
-
try {
|
|
442
|
-
listRef.current?.scrollToOffset({
|
|
443
|
-
offset: 0,
|
|
444
|
-
animated: true,
|
|
445
|
-
});
|
|
446
|
-
}
|
|
447
|
-
catch {
|
|
448
|
-
try {
|
|
449
|
-
listRef.current?.scrollToIndex({
|
|
450
|
-
index: 0,
|
|
451
|
-
animated: true,
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
catch { }
|
|
455
|
-
}
|
|
456
|
-
}} hitSlop={12} style={styles_1.default.scrollTopBtn}>
|
|
457
|
-
<react_native_1.View style={{ transform: [{ rotate: '180deg' }] }}>
|
|
458
|
-
<NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.white} size={18}/>
|
|
459
|
-
</react_native_1.View>
|
|
460
|
-
</TouchableScale_1.default>
|
|
461
438
|
</>)}
|
|
462
439
|
|
|
463
440
|
|
|
@@ -8,6 +8,7 @@ const react_native_1 = require("react-native");
|
|
|
8
8
|
const InspectorContext_1 = require("./InspectorContext");
|
|
9
9
|
const styles_1 = __importDefault(require("../../styles"));
|
|
10
10
|
const AppColors_1 = require("../../styles/AppColors");
|
|
11
|
+
const AppFonts_1 = require("../../styles/AppFonts");
|
|
11
12
|
const TouchableScale_1 = __importDefault(require("../TouchableScale"));
|
|
12
13
|
const NetworkIcons_1 = require("../NetworkIcons");
|
|
13
14
|
const reduxLogger_1 = require("../../customHooks/reduxLogger");
|
|
@@ -21,60 +22,70 @@ const TabBar = react_1.default.memo(() => {
|
|
|
21
22
|
<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{ paddingRight: 16 }}>
|
|
22
23
|
{[
|
|
23
24
|
{
|
|
25
|
+
id: 1,
|
|
24
26
|
key: 'apis',
|
|
25
27
|
label: 'APIs',
|
|
26
28
|
count: logs.length,
|
|
27
29
|
icon: 'apis',
|
|
28
30
|
},
|
|
29
31
|
{
|
|
32
|
+
id: 2,
|
|
30
33
|
key: 'logs',
|
|
31
34
|
label: 'Logs',
|
|
32
35
|
count: consoleLogs.length,
|
|
33
36
|
icon: 'logs',
|
|
34
37
|
},
|
|
35
38
|
{
|
|
39
|
+
id: 3,
|
|
36
40
|
key: 'analytics',
|
|
37
41
|
label: 'Analytics',
|
|
38
42
|
count: analyticsEvents.length,
|
|
39
43
|
icon: 'analytics',
|
|
40
44
|
},
|
|
41
45
|
{
|
|
46
|
+
id: 4,
|
|
42
47
|
key: 'redux',
|
|
43
48
|
label: 'Redux',
|
|
44
49
|
count: 0,
|
|
45
50
|
icon: 'redux',
|
|
46
51
|
},
|
|
47
52
|
{
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
id: 5,
|
|
54
|
+
key: 'storage',
|
|
55
|
+
label: 'Storage',
|
|
50
56
|
count: 0,
|
|
51
|
-
icon: '
|
|
57
|
+
icon: 'storage',
|
|
52
58
|
},
|
|
53
59
|
{
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
id: 6,
|
|
61
|
+
key: 'device',
|
|
62
|
+
label: 'Device',
|
|
56
63
|
count: 0,
|
|
57
|
-
icon: '
|
|
64
|
+
icon: 'device',
|
|
58
65
|
},
|
|
59
66
|
{
|
|
67
|
+
id: 7,
|
|
60
68
|
key: 'crash',
|
|
61
69
|
label: 'Crash',
|
|
62
70
|
count: crashRecords?.length || 0,
|
|
63
71
|
icon: 'crash',
|
|
64
72
|
},
|
|
65
73
|
{
|
|
66
|
-
|
|
67
|
-
|
|
74
|
+
id: 8,
|
|
75
|
+
key: 'bundle',
|
|
76
|
+
label: 'Bundle',
|
|
68
77
|
count: 0,
|
|
69
|
-
icon: '
|
|
78
|
+
icon: 'bundle',
|
|
70
79
|
},
|
|
71
80
|
{
|
|
72
|
-
|
|
73
|
-
|
|
81
|
+
id: 9,
|
|
82
|
+
key: 'performance',
|
|
83
|
+
label: 'Performance',
|
|
74
84
|
count: 0,
|
|
75
|
-
icon: '
|
|
85
|
+
icon: 'performance',
|
|
76
86
|
},
|
|
77
87
|
{
|
|
88
|
+
id: 10,
|
|
78
89
|
key: 'debugging',
|
|
79
90
|
label: 'Debugging',
|
|
80
91
|
count: 0,
|
|
@@ -124,12 +135,36 @@ const TabBar = react_1.default.memo(() => {
|
|
|
124
135
|
{tab.icon === 'logs' && (<NetworkIcons_1.TerminalIcon color={iconColor} size={14}/>)}
|
|
125
136
|
{tab.icon === 'analytics' && (<NetworkIcons_1.AnalyticsIcon color={iconColor} size={14}/>)}
|
|
126
137
|
{tab.icon === 'redux' && (<NetworkIcons_1.ReduxIcon color={iconColor} size={14}/>)}
|
|
138
|
+
{tab.icon === 'storage' && (<NetworkIcons_1.DatabaseIcon color={iconColor} size={14}/>)}
|
|
139
|
+
{tab.icon === 'device' && (<NetworkIcons_1.SmartphoneIcon color={iconColor} size={14}/>)}
|
|
140
|
+
{tab.icon === 'crash' && (<NetworkIcons_1.CrashIcon color={iconColor} size={14}/>)}
|
|
127
141
|
{tab.icon === 'bundle' && (<NetworkIcons_1.PackageIcon color={iconColor} size={14}/>)}
|
|
128
142
|
{tab.icon === 'performance' && (<NetworkIcons_1.PerformanceIcon color={iconColor} size={14}/>)}
|
|
129
|
-
{tab.icon === 'crash' && (<NetworkIcons_1.CrashIcon color={iconColor} size={14}/>)}
|
|
130
|
-
{tab.icon === 'device' && (<NetworkIcons_1.SmartphoneIcon color={iconColor} size={14}/>)}
|
|
131
|
-
{tab.icon === 'storage' && (<NetworkIcons_1.DatabaseIcon color={iconColor} size={14}/>)}
|
|
132
143
|
{tab.icon === 'debugging' && (<NetworkIcons_1.QrCodeIcon color={iconColor} size={14}/>)}
|
|
144
|
+
<react_native_1.View style={{
|
|
145
|
+
minWidth: 20,
|
|
146
|
+
height: 20,
|
|
147
|
+
paddingHorizontal: 4,
|
|
148
|
+
borderRadius: 10,
|
|
149
|
+
backgroundColor: isActive
|
|
150
|
+
? `${AppColors_1.AppColors.white}33`
|
|
151
|
+
: `${AppColors_1.AppColors.purple}1F`,
|
|
152
|
+
borderWidth: 1,
|
|
153
|
+
borderColor: isActive
|
|
154
|
+
? `${AppColors_1.AppColors.white}66`
|
|
155
|
+
: `${AppColors_1.AppColors.purple}40`,
|
|
156
|
+
alignItems: 'center',
|
|
157
|
+
justifyContent: 'center',
|
|
158
|
+
}}>
|
|
159
|
+
<react_native_1.Text style={{
|
|
160
|
+
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
161
|
+
fontSize: 9.5,
|
|
162
|
+
lineHeight: 12,
|
|
163
|
+
color: isActive ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple,
|
|
164
|
+
}}>
|
|
165
|
+
#{tab.id}
|
|
166
|
+
</react_native_1.Text>
|
|
167
|
+
</react_native_1.View>
|
|
133
168
|
<react_native_1.Text numberOfLines={1} ellipsizeMode="tail" style={[
|
|
134
169
|
styles_1.default.contentTabButtonText,
|
|
135
170
|
isActive &&
|
|
@@ -91,6 +91,7 @@ export declare const CartIcon: ({ color, size }: IconProps) => React.JSX.Element
|
|
|
91
91
|
export declare const MoneyIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
92
92
|
export declare const ExternalLinkIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
93
93
|
export declare const PackageBoxIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
94
|
+
export declare const StarIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
94
95
|
export declare const GitHubIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
95
96
|
export declare const LinkChainIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
96
97
|
export declare const AppleIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
@@ -138,3 +139,7 @@ export declare const QrCodeIcon: ({ color, size, }: IconProps) => React.JSX.Elem
|
|
|
138
139
|
export declare const UnlockIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
139
140
|
export declare const RocketIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
140
141
|
export declare const TurtleIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
142
|
+
export declare const HeadphonesIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
143
|
+
export declare const HelpCircleIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
144
|
+
export declare const SendIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
145
|
+
export declare const LifeBuoyIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
@@ -37,8 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.InfoCircleIcon = exports.UserIcon = exports.LayersIcon = exports.WipeIcon = exports.FolderIcon = exports.SettingsIcon = exports.EyeIcon = exports.JsIcon = exports.CssIcon = exports.HtmlIcon = exports.BrandSquareIcon = exports.BrandCircleIcon = exports.MoonIcon = exports.SunIcon = exports.DebugIcon = exports.InsightsIcon = exports.AnalyticsIcon = exports.WhiteBackNavigation = exports.CloseWhite = exports.DownloadIcon = exports.FilterIcon = exports.ChevronIcon = exports.SortArrowIcon = exports.GlobeIcon = exports.DiffIcon = exports.SignalIcon = exports.ExportIcon = exports.HeaderPauseIcon = exports.TrashIcon = exports.FailIcon = exports.CircleAlertIcon = exports.CircleXIcon = exports.CircleCheckIcon = exports.CheckIcon = exports.TerminalIcon = exports.FetchIcon = exports.CopyIcon = exports.HeadersIcon = exports.ResponseIcon = exports.RequestIcon = exports.SizeIcon = exports.StatusIcon = exports.CalendarIcon = exports.ClockIcon = exports.ClearIcon = exports.SearchIcon = exports.ExpandCollapseIcon = exports.ScreenIcon = exports.MapPinIcon = exports.EmptyRadarIcon = void 0;
|
|
40
|
-
exports.
|
|
41
|
-
exports.TurtleIcon = exports.RocketIcon = exports.UnlockIcon = exports.QrCodeIcon = exports.LockIcon = exports.PlusIcon = exports.PencilIcon = exports.DatabaseIcon = exports.ShieldCheckIcon = exports.WifiIcon = exports.CpuIcon = exports.ChevronDownIcon = exports.ResetIcon = exports.NpmIcon = exports.TagIcon = exports.BugIcon = exports.AlertTriangleIcon = exports.SmartphoneIcon = exports.KeyIcon = exports.BarChartIcon = exports.DiceIcon = exports.ZapIcon = exports.FlaskIcon = exports.LoadingSpinnerIcon = exports.ListenerIcon = exports.AllFramesIcon = exports.AppFramesIcon = exports.RawJsonIcon = exports.TrailIcon = void 0;
|
|
40
|
+
exports.StackTraceIcon = exports.LayoutIcon = exports.ChipIcon = exports.SkullIcon = exports.ShieldAlertIcon = exports.CrashIcon = exports.UserCheckIcon = exports.TargetGoalIcon = exports.RepeatIcon = exports.PinIcon = exports.HourglassIcon = exports.FlameIcon = exports.CodeBracketsIcon = exports.AndroidIcon = exports.AppleIcon = exports.LinkChainIcon = exports.GitHubIcon = exports.StarIcon = exports.PackageBoxIcon = exports.ExternalLinkIcon = exports.MoneyIcon = exports.CartIcon = exports.TextAaIcon = exports.BrainIcon = exports.AtomIcon = exports.MapIcon = exports.SparkleIcon = exports.LightbulbIcon = exports.DocIcon = exports.FolderOpenIcon = exports.BanIcon = exports.BoltIcon = exports.PerformanceIcon = exports.ReduxIcon = exports.MetadataIcon = exports.StorageIcon = exports.RefreshCcwIcon = exports.TimelineIcon = exports.LiveStateIcon = exports.BundleIcon = exports.ForwardChevronIcon = exports.PackageIcon = exports.TableIcon = exports.RawIcon = exports.PrettyIcon = exports.SortIcon = exports.MotionIcon = exports.TrendingUpIcon = exports.ErrorCircleIcon = exports.WarningTriangleIcon = void 0;
|
|
41
|
+
exports.LifeBuoyIcon = exports.SendIcon = exports.HelpCircleIcon = exports.HeadphonesIcon = exports.TurtleIcon = exports.RocketIcon = exports.UnlockIcon = exports.QrCodeIcon = exports.LockIcon = exports.PlusIcon = exports.PencilIcon = exports.DatabaseIcon = exports.ShieldCheckIcon = exports.WifiIcon = exports.CpuIcon = exports.ChevronDownIcon = exports.ResetIcon = exports.NpmIcon = exports.TagIcon = exports.BugIcon = exports.AlertTriangleIcon = exports.SmartphoneIcon = exports.KeyIcon = exports.BarChartIcon = exports.DiceIcon = exports.ZapIcon = exports.FlaskIcon = exports.LoadingSpinnerIcon = exports.ListenerIcon = exports.AllFramesIcon = exports.AppFramesIcon = exports.RawJsonIcon = exports.TrailIcon = exports.DiagnosticsIcon = void 0;
|
|
42
42
|
const react_1 = __importDefault(require("react"));
|
|
43
43
|
const react_native_svg_1 = __importStar(require("react-native-svg"));
|
|
44
44
|
const AppColors_1 = require("../styles/AppColors");
|
|
@@ -632,6 +632,12 @@ const PackageBoxIcon = ({ color = AppColors_1.AppColors.grayTextWeak, size = 14,
|
|
|
632
632
|
</react_native_svg_1.default>);
|
|
633
633
|
};
|
|
634
634
|
exports.PackageBoxIcon = PackageBoxIcon;
|
|
635
|
+
const StarIcon = ({ color = '#F59E0B', size = 14, }) => {
|
|
636
|
+
return (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill={color}>
|
|
637
|
+
<react_native_svg_1.Path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round"/>
|
|
638
|
+
</react_native_svg_1.default>);
|
|
639
|
+
};
|
|
640
|
+
exports.StarIcon = StarIcon;
|
|
635
641
|
const GitHubIcon = ({ color = AppColors_1.AppColors.grayTextWeak, size = 14, }) => {
|
|
636
642
|
return (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill="none">
|
|
637
643
|
<react_native_svg_1.Path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22" stroke={color} strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"/>
|
|
@@ -929,3 +935,28 @@ const TurtleIcon = ({ color = AppColors_1.AppColors.grayTextWeak, size = 14, })
|
|
|
929
935
|
<react_native_svg_1.Path d="M5 12l-2-2M19 12l2-2M6 18l-2 2M18 18l2 2" stroke={color} strokeWidth="2" strokeLinecap="round"/>
|
|
930
936
|
</react_native_svg_1.default>);
|
|
931
937
|
exports.TurtleIcon = TurtleIcon;
|
|
938
|
+
const HeadphonesIcon = ({ color = AppColors_1.AppColors.white, size = 20, }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill="none">
|
|
939
|
+
<react_native_svg_1.Path d="M3 18v-6a9 9 0 0 1 18 0v6" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
940
|
+
<react_native_svg_1.Path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3v5zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3v5z" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
941
|
+
</react_native_svg_1.default>);
|
|
942
|
+
exports.HeadphonesIcon = HeadphonesIcon;
|
|
943
|
+
const HelpCircleIcon = ({ color = AppColors_1.AppColors.white, size = 20, }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill="none">
|
|
944
|
+
<react_native_svg_1.Circle cx="12" cy="12" r="10" stroke={color} strokeWidth="2"/>
|
|
945
|
+
<react_native_svg_1.Path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
946
|
+
<react_native_svg_1.Line x1="12" y1="17" x2="12.01" y2="17" stroke={color} strokeWidth="2" strokeLinecap="round"/>
|
|
947
|
+
</react_native_svg_1.default>);
|
|
948
|
+
exports.HelpCircleIcon = HelpCircleIcon;
|
|
949
|
+
const SendIcon = ({ color = AppColors_1.AppColors.white, size = 18, }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill="none">
|
|
950
|
+
<react_native_svg_1.Path d="M22 2L11 13" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
951
|
+
<react_native_svg_1.Path d="M22 2L15 22L11 13L2 9L22 2Z" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
952
|
+
</react_native_svg_1.default>);
|
|
953
|
+
exports.SendIcon = SendIcon;
|
|
954
|
+
const LifeBuoyIcon = ({ color = AppColors_1.AppColors.white, size = 20, }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill="none">
|
|
955
|
+
<react_native_svg_1.Circle cx="12" cy="12" r="10" stroke={color} strokeWidth="2"/>
|
|
956
|
+
<react_native_svg_1.Circle cx="12" cy="12" r="4" stroke={color} strokeWidth="2"/>
|
|
957
|
+
<react_native_svg_1.Line x1="4.93" y1="4.93" x2="9.17" y2="9.17" stroke={color} strokeWidth="2" strokeLinecap="round"/>
|
|
958
|
+
<react_native_svg_1.Line x1="14.83" y1="9.17" x2="19.07" y2="4.93" stroke={color} strokeWidth="2" strokeLinecap="round"/>
|
|
959
|
+
<react_native_svg_1.Line x1="14.83" y1="14.83" x2="19.07" y2="19.07" stroke={color} strokeWidth="2" strokeLinecap="round"/>
|
|
960
|
+
<react_native_svg_1.Line x1="4.93" y1="19.07" x2="9.17" y2="14.83" stroke={color} strokeWidth="2" strokeLinecap="round"/>
|
|
961
|
+
</react_native_svg_1.default>);
|
|
962
|
+
exports.LifeBuoyIcon = LifeBuoyIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "2.3.
|
|
1
|
+
export declare const LIB_VERSION = "2.3.16";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NetworkLog, RouteInfo, DiffResult, JsonContent, StackFrameType } from '../types';
|
|
2
2
|
export * from './searchQueryParser';
|
|
3
3
|
export * from './memoryManager';
|
|
4
|
+
export * from './toast';
|
|
4
5
|
export declare const isLocalDebugEnvironment: () => boolean;
|
|
5
6
|
export declare const getDomainColor: (domain: string) => string;
|
|
6
7
|
export declare const formatDateTime: (timestamp: number) => string;
|
|
@@ -25,6 +25,7 @@ const AppColors_1 = require("../styles/AppColors");
|
|
|
25
25
|
const constants_1 = require("../constants");
|
|
26
26
|
__exportStar(require("./searchQueryParser"), exports);
|
|
27
27
|
__exportStar(require("./memoryManager"), exports);
|
|
28
|
+
__exportStar(require("./toast"), exports);
|
|
28
29
|
const isLocalDebugEnvironment = () => {
|
|
29
30
|
const isDev = typeof __DEV__ !== 'undefined' && Boolean(__DEV__);
|
|
30
31
|
const scriptURL = react_native_1.NativeModules.SourceCode?.scriptURL || '';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ActiveTab } from '../types';
|
|
2
|
+
export declare function getFirebaseRemoteConfig(customInstance?: any): any;
|
|
3
|
+
export declare function isFirebaseRemoteConfigAvailable(customInstance?: any): boolean;
|
|
4
|
+
export declare function fetchRemoteConfigModuleStatus(customInstance?: any, fetchTimeoutMs?: number): Promise<Partial<Record<ActiveTab, boolean>> | null>;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFirebaseRemoteConfig = getFirebaseRemoteConfig;
|
|
4
|
+
exports.isFirebaseRemoteConfigAvailable = isFirebaseRemoteConfigAvailable;
|
|
5
|
+
exports.fetchRemoteConfigModuleStatus = fetchRemoteConfigModuleStatus;
|
|
6
|
+
const MODULE_KEYS = [
|
|
7
|
+
'apis',
|
|
8
|
+
'logs',
|
|
9
|
+
'analytics',
|
|
10
|
+
'redux',
|
|
11
|
+
'storage',
|
|
12
|
+
'device',
|
|
13
|
+
'crash',
|
|
14
|
+
'bundle',
|
|
15
|
+
'performance',
|
|
16
|
+
'debugging',
|
|
17
|
+
];
|
|
18
|
+
let cachedRemoteConfigInstance = null;
|
|
19
|
+
function getFirebaseRemoteConfig(customInstance) {
|
|
20
|
+
if (customInstance && typeof customInstance === 'object') {
|
|
21
|
+
cachedRemoteConfigInstance = customInstance;
|
|
22
|
+
return customInstance;
|
|
23
|
+
}
|
|
24
|
+
if (cachedRemoteConfigInstance) {
|
|
25
|
+
return cachedRemoteConfigInstance;
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const rcModule = require('@react-native-firebase/remote-config');
|
|
29
|
+
const instance = typeof rcModule.default === 'function'
|
|
30
|
+
? rcModule.default()
|
|
31
|
+
: typeof rcModule === 'function'
|
|
32
|
+
? rcModule()
|
|
33
|
+
: rcModule;
|
|
34
|
+
cachedRemoteConfigInstance = instance;
|
|
35
|
+
return instance;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function isFirebaseRemoteConfigAvailable(customInstance) {
|
|
42
|
+
return Boolean(getFirebaseRemoteConfig(customInstance));
|
|
43
|
+
}
|
|
44
|
+
function extractValue(val) {
|
|
45
|
+
if (val === null || val === undefined)
|
|
46
|
+
return undefined;
|
|
47
|
+
if (typeof val === 'boolean')
|
|
48
|
+
return val;
|
|
49
|
+
if (typeof val === 'number')
|
|
50
|
+
return val !== 0;
|
|
51
|
+
if (typeof val === 'string') {
|
|
52
|
+
const lower = val.trim().toLowerCase();
|
|
53
|
+
if (lower === 'true' || lower === '1' || lower === 'enabled' || lower === 'on')
|
|
54
|
+
return true;
|
|
55
|
+
if (lower === 'false' || lower === '0' || lower === 'disabled' || lower === 'off')
|
|
56
|
+
return false;
|
|
57
|
+
try {
|
|
58
|
+
return JSON.parse(val);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (typeof val.asBoolean === 'function') {
|
|
65
|
+
return val.asBoolean();
|
|
66
|
+
}
|
|
67
|
+
if (typeof val.asString === 'function') {
|
|
68
|
+
const str = val.asString();
|
|
69
|
+
const lower = str.trim().toLowerCase();
|
|
70
|
+
if (lower === 'true' || lower === '1' || lower === 'enabled' || lower === 'on')
|
|
71
|
+
return true;
|
|
72
|
+
if (lower === 'false' || lower === '0' || lower === 'disabled' || lower === 'off')
|
|
73
|
+
return false;
|
|
74
|
+
try {
|
|
75
|
+
return JSON.parse(str);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
async function fetchRemoteConfigModuleStatus(customInstance, fetchTimeoutMs = 8000) {
|
|
84
|
+
const rc = getFirebaseRemoteConfig(customInstance);
|
|
85
|
+
if (!rc) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
const fetchPromise = (async () => {
|
|
90
|
+
if (typeof rc.fetchAndActivate === 'function') {
|
|
91
|
+
await rc.fetchAndActivate();
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
if (typeof rc.fetch === 'function') {
|
|
95
|
+
await rc.fetch();
|
|
96
|
+
}
|
|
97
|
+
if (typeof rc.activate === 'function') {
|
|
98
|
+
await rc.activate();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
})();
|
|
102
|
+
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Remote Config fetch timeout')), fetchTimeoutMs));
|
|
103
|
+
await Promise.race([fetchPromise, timeoutPromise]).catch(() => {
|
|
104
|
+
});
|
|
105
|
+
const result = {};
|
|
106
|
+
const jsonKeys = [
|
|
107
|
+
'inspector_modules',
|
|
108
|
+
'inapp_inspector_modules',
|
|
109
|
+
'react_native_inapp_inspector_modules',
|
|
110
|
+
];
|
|
111
|
+
for (const jKey of jsonKeys) {
|
|
112
|
+
let rawVal;
|
|
113
|
+
if (typeof rc.getValue === 'function') {
|
|
114
|
+
try {
|
|
115
|
+
rawVal = rc.getValue(jKey);
|
|
116
|
+
}
|
|
117
|
+
catch { }
|
|
118
|
+
}
|
|
119
|
+
else if (rc[jKey] !== undefined) {
|
|
120
|
+
rawVal = rc[jKey];
|
|
121
|
+
}
|
|
122
|
+
const parsed = extractValue(rawVal);
|
|
123
|
+
if (parsed && typeof parsed === 'object') {
|
|
124
|
+
for (const modKey of MODULE_KEYS) {
|
|
125
|
+
if (typeof parsed[modKey] === 'boolean') {
|
|
126
|
+
result[modKey] = parsed[modKey];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
for (const modKey of MODULE_KEYS) {
|
|
132
|
+
const paramKeys = [
|
|
133
|
+
`inspector_module_${modKey}`,
|
|
134
|
+
`inapp_inspector_${modKey}`,
|
|
135
|
+
`inspector_${modKey}`,
|
|
136
|
+
`inapp_inspector_module_${modKey}`,
|
|
137
|
+
`rn_inspector_${modKey}`,
|
|
138
|
+
];
|
|
139
|
+
for (const pKey of paramKeys) {
|
|
140
|
+
let rawVal;
|
|
141
|
+
if (typeof rc.getValue === 'function') {
|
|
142
|
+
try {
|
|
143
|
+
rawVal = rc.getValue(pKey);
|
|
144
|
+
}
|
|
145
|
+
catch { }
|
|
146
|
+
}
|
|
147
|
+
else if (rc[pKey] !== undefined) {
|
|
148
|
+
rawVal = rc[pKey];
|
|
149
|
+
}
|
|
150
|
+
const boolVal = extractValue(rawVal);
|
|
151
|
+
if (typeof boolVal === 'boolean') {
|
|
152
|
+
result[modKey] = boolVal;
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (result.apis === undefined) {
|
|
158
|
+
result.apis = true;
|
|
159
|
+
}
|
|
160
|
+
return Object.keys(result).length > 0 ? result : null;
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.matchNetworkLogQuery = matchNetworkLogQuery;
|
|
4
|
+
const telemetry_1 = require("./telemetry");
|
|
4
5
|
function matchNetworkLogQuery(log, searchQuery, routePath, _options) {
|
|
5
6
|
if (!searchQuery || searchQuery.trim().length === 0)
|
|
6
7
|
return true;
|
|
8
|
+
(0, telemetry_1.markSearchFilterUsed)();
|
|
7
9
|
const rawTokens = searchQuery.trim().toLowerCase().split(/\s+/).filter(Boolean);
|
|
8
10
|
if (rawTokens.length === 0)
|
|
9
11
|
return true;
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
export declare function setTelemetryEnabled(enabled: boolean): void;
|
|
2
|
+
export declare function markSearchFilterUsed(): void;
|
|
2
3
|
export declare function trackActiveTelemetryHeartbeat(telemetryEnabled?: boolean, environment?: string): Promise<void>;
|
|
4
|
+
export declare function trackTelemetryEvent(eventName: string, eventParams?: Record<string, any>): Promise<void>;
|
|
5
|
+
export declare function trackInspectorTabView(tabName: string): void;
|
|
6
|
+
export declare function trackInspectorScreenView(screenName: string): void;
|
|
7
|
+
export declare function trackInspectorScreenRecord(action: 'start' | 'stop' | 'toggle', recordingType?: string): void;
|