react-native-inapp-inspector 2.2.5 → 2.2.6
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 +0 -10
- package/dist/commonjs/components/Inspector/InspectorHeader.js +0 -73
- package/dist/commonjs/components/Inspector/MainScreen.js +0 -4
- package/dist/commonjs/components/Inspector/SettingsPanel.js +2 -107
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/helpers/index.d.ts +0 -1
- package/dist/commonjs/helpers/index.js +0 -1
- package/dist/commonjs/index.d.ts +1 -1
- package/dist/commonjs/index.js +2 -19
- package/dist/esm/components/Inspector/InspectorHeader.js +0 -73
- package/dist/esm/components/Inspector/MainScreen.js +0 -4
- package/dist/esm/components/Inspector/SettingsPanel.js +2 -107
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/helpers/index.d.ts +0 -1
- package/dist/esm/helpers/index.js +0 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +2 -12
- package/package.json +2 -2
- package/src/components/Inspector/InspectorHeader.tsx +0 -93
- package/src/components/Inspector/MainScreen.tsx +0 -4
- package/src/components/Inspector/SettingsPanel.tsx +2 -128
- package/src/constants/version.ts +1 -1
- package/src/helpers/index.ts +0 -1
- package/src/index.tsx +2 -24
- package/dist/commonjs/components/Inspector/TelemetryConsentModal.d.ts +0 -3
- package/dist/commonjs/components/Inspector/TelemetryConsentModal.js +0 -353
- package/dist/commonjs/helpers/telemetry.d.ts +0 -99
- package/dist/commonjs/helpers/telemetry.js +0 -398
- package/dist/esm/components/Inspector/TelemetryConsentModal.d.ts +0 -3
- package/dist/esm/components/Inspector/TelemetryConsentModal.js +0 -316
- package/dist/esm/helpers/telemetry.d.ts +0 -99
- package/dist/esm/helpers/telemetry.js +0 -380
- package/src/components/Inspector/TelemetryConsentModal.tsx +0 -357
- package/src/helpers/telemetry.ts +0 -505
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.TelemetryConsentModal = void 0;
|
|
37
|
-
const react_1 = __importStar(require("react"));
|
|
38
|
-
const react_native_1 = require("react-native");
|
|
39
|
-
const BrandSquareIcon_1 = require("../BrandSquareIcon");
|
|
40
|
-
const NetworkIcons_1 = require("../NetworkIcons");
|
|
41
|
-
const telemetry_1 = require("../../helpers/telemetry");
|
|
42
|
-
const TelemetryConsentModal = () => {
|
|
43
|
-
const [visible, setVisible] = (0, react_1.useState)(false);
|
|
44
|
-
const fadeAnim = (0, react_1.useState)(new react_native_1.Animated.Value(0))[0];
|
|
45
|
-
const scaleAnim = (0, react_1.useState)(new react_native_1.Animated.Value(0.92))[0];
|
|
46
|
-
(0, react_1.useEffect)(() => {
|
|
47
|
-
let isMounted = true;
|
|
48
|
-
(0, telemetry_1.getTelemetryConsentStatus)().then(status => {
|
|
49
|
-
if (isMounted && status === 'undetermined') {
|
|
50
|
-
setVisible(true);
|
|
51
|
-
react_native_1.Animated.parallel([
|
|
52
|
-
react_native_1.Animated.timing(fadeAnim, {
|
|
53
|
-
toValue: 1,
|
|
54
|
-
duration: 250,
|
|
55
|
-
useNativeDriver: true,
|
|
56
|
-
}),
|
|
57
|
-
react_native_1.Animated.spring(scaleAnim, {
|
|
58
|
-
toValue: 1,
|
|
59
|
-
friction: 8,
|
|
60
|
-
tension: 45,
|
|
61
|
-
useNativeDriver: true,
|
|
62
|
-
}),
|
|
63
|
-
]).start();
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
return () => {
|
|
67
|
-
isMounted = false;
|
|
68
|
-
};
|
|
69
|
-
}, [fadeAnim, scaleAnim]);
|
|
70
|
-
const handleDecision = async (granted) => {
|
|
71
|
-
react_native_1.Animated.parallel([
|
|
72
|
-
react_native_1.Animated.timing(fadeAnim, {
|
|
73
|
-
toValue: 0,
|
|
74
|
-
duration: 180,
|
|
75
|
-
useNativeDriver: true,
|
|
76
|
-
}),
|
|
77
|
-
react_native_1.Animated.timing(scaleAnim, {
|
|
78
|
-
toValue: 0.92,
|
|
79
|
-
duration: 180,
|
|
80
|
-
useNativeDriver: true,
|
|
81
|
-
}),
|
|
82
|
-
]).start(async () => {
|
|
83
|
-
setVisible(false);
|
|
84
|
-
await (0, telemetry_1.setTelemetryConsent)(granted);
|
|
85
|
-
if (granted) {
|
|
86
|
-
// Immediately trigger the session initialization ping
|
|
87
|
-
(0, telemetry_1.sendSessionTelemetryPing)({ force: true });
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
if (!visible)
|
|
92
|
-
return null;
|
|
93
|
-
return (<react_native_1.Modal transparent visible={visible} animationType="none" statusBarTranslucent>
|
|
94
|
-
<react_native_1.View style={styles.overlay}>
|
|
95
|
-
<react_native_1.Animated.View style={[
|
|
96
|
-
styles.card,
|
|
97
|
-
{
|
|
98
|
-
opacity: fadeAnim,
|
|
99
|
-
transform: [{ scale: scaleAnim }],
|
|
100
|
-
},
|
|
101
|
-
]}>
|
|
102
|
-
{/* Top-Right Dismiss Icon Button */}
|
|
103
|
-
<react_native_1.TouchableOpacity style={styles.topCloseButton} onPress={() => handleDecision(false)} hitSlop={10} activeOpacity={0.7}>
|
|
104
|
-
<NetworkIcons_1.ClearIcon size={12} color="#64748B"/>
|
|
105
|
-
</react_native_1.TouchableOpacity>
|
|
106
|
-
|
|
107
|
-
{/* Centered Enlarged Square Brand Icon Header */}
|
|
108
|
-
<react_native_1.View style={styles.headerSection}>
|
|
109
|
-
<react_native_1.View style={styles.iconHaloRing}>
|
|
110
|
-
<BrandSquareIcon_1.BrandSquareIcon size={54}/>
|
|
111
|
-
</react_native_1.View>
|
|
112
|
-
|
|
113
|
-
<react_native_1.Text style={styles.title}>Help Improve In-App Inspector</react_native_1.Text>
|
|
114
|
-
<react_native_1.Text style={styles.subtitle}>Anonymous Diagnostic Insights</react_native_1.Text>
|
|
115
|
-
|
|
116
|
-
{/* Subheading instruction hint badge */}
|
|
117
|
-
<react_native_1.View style={styles.hintBadge}>
|
|
118
|
-
<NetworkIcons_1.SettingsIcon size={12} color="#6366F1"/>
|
|
119
|
-
<react_native_1.Text style={styles.hintBadgeText}>
|
|
120
|
-
You can enable or disable this anytime in Settings
|
|
121
|
-
</react_native_1.Text>
|
|
122
|
-
</react_native_1.View>
|
|
123
|
-
</react_native_1.View>
|
|
124
|
-
|
|
125
|
-
{/* Description */}
|
|
126
|
-
<react_native_1.Text style={styles.description}>
|
|
127
|
-
To help us continually enhance tooling performance and compatibility,
|
|
128
|
-
would you mind sharing anonymous diagnostics (such as React Native
|
|
129
|
-
version, JavaScript engine, and device architecture)?
|
|
130
|
-
</react_native_1.Text>
|
|
131
|
-
|
|
132
|
-
{/* Privacy Callout Box */}
|
|
133
|
-
<react_native_1.View style={styles.privacyBadge}>
|
|
134
|
-
<react_native_1.View style={styles.privacyShieldWrapper}>
|
|
135
|
-
<NetworkIcons_1.ShieldCheckIcon size={15} color="#7C3AED"/>
|
|
136
|
-
</react_native_1.View>
|
|
137
|
-
<react_native_1.Text style={styles.privacyText}>
|
|
138
|
-
<react_native_1.Text style={styles.privacyHighlight}>Privacy Guaranteed:</react_native_1.Text> We
|
|
139
|
-
strictly collect non-identifiable technical metrics. No user data,
|
|
140
|
-
passwords, tokens, or network payload bodies are ever captured.
|
|
141
|
-
</react_native_1.Text>
|
|
142
|
-
</react_native_1.View>
|
|
143
|
-
|
|
144
|
-
{/* Enhanced Action Buttons with Icons */}
|
|
145
|
-
<react_native_1.View style={styles.buttonRow}>
|
|
146
|
-
<react_native_1.TouchableOpacity style={styles.declineButton} onPress={() => handleDecision(false)} activeOpacity={0.7}>
|
|
147
|
-
<NetworkIcons_1.ClearIcon size={12} color="#64748B"/>
|
|
148
|
-
<react_native_1.Text style={styles.declineText}>Not Now</react_native_1.Text>
|
|
149
|
-
</react_native_1.TouchableOpacity>
|
|
150
|
-
|
|
151
|
-
<react_native_1.TouchableOpacity style={styles.allowButton} onPress={() => handleDecision(true)} activeOpacity={0.85}>
|
|
152
|
-
<NetworkIcons_1.CheckIcon size={13} color="#FFFFFF"/>
|
|
153
|
-
<react_native_1.Text style={styles.allowText}>Allow & Share</react_native_1.Text>
|
|
154
|
-
</react_native_1.TouchableOpacity>
|
|
155
|
-
</react_native_1.View>
|
|
156
|
-
</react_native_1.Animated.View>
|
|
157
|
-
</react_native_1.View>
|
|
158
|
-
</react_native_1.Modal>);
|
|
159
|
-
};
|
|
160
|
-
exports.TelemetryConsentModal = TelemetryConsentModal;
|
|
161
|
-
const fontStack = react_native_1.Platform.select({
|
|
162
|
-
ios: {
|
|
163
|
-
fontFamily: 'System',
|
|
164
|
-
},
|
|
165
|
-
android: {
|
|
166
|
-
fontFamily: 'sans-serif',
|
|
167
|
-
},
|
|
168
|
-
default: {},
|
|
169
|
-
});
|
|
170
|
-
const styles = react_native_1.StyleSheet.create({
|
|
171
|
-
overlay: {
|
|
172
|
-
flex: 1,
|
|
173
|
-
backgroundColor: 'rgba(15, 23, 42, 0.56)',
|
|
174
|
-
justifyContent: 'center',
|
|
175
|
-
alignItems: 'center',
|
|
176
|
-
paddingHorizontal: 20,
|
|
177
|
-
zIndex: 999999,
|
|
178
|
-
},
|
|
179
|
-
card: {
|
|
180
|
-
width: '100%',
|
|
181
|
-
maxWidth: 356,
|
|
182
|
-
backgroundColor: '#FFFFFF',
|
|
183
|
-
borderRadius: 24,
|
|
184
|
-
borderWidth: 1,
|
|
185
|
-
borderColor: '#E2E8F0',
|
|
186
|
-
paddingHorizontal: 20,
|
|
187
|
-
paddingTop: 22,
|
|
188
|
-
paddingBottom: 20,
|
|
189
|
-
alignItems: 'center',
|
|
190
|
-
shadowColor: '#0F172A',
|
|
191
|
-
shadowOffset: { width: 0, height: 16 },
|
|
192
|
-
shadowOpacity: 0.22,
|
|
193
|
-
shadowRadius: 32,
|
|
194
|
-
elevation: 24,
|
|
195
|
-
},
|
|
196
|
-
topCloseButton: {
|
|
197
|
-
position: 'absolute',
|
|
198
|
-
top: 14,
|
|
199
|
-
right: 14,
|
|
200
|
-
width: 28,
|
|
201
|
-
height: 28,
|
|
202
|
-
borderRadius: 14,
|
|
203
|
-
backgroundColor: '#F8FAFC',
|
|
204
|
-
justifyContent: 'center',
|
|
205
|
-
alignItems: 'center',
|
|
206
|
-
borderWidth: 1,
|
|
207
|
-
borderColor: '#E2E8F0',
|
|
208
|
-
zIndex: 10,
|
|
209
|
-
},
|
|
210
|
-
headerSection: {
|
|
211
|
-
alignItems: 'center',
|
|
212
|
-
width: '100%',
|
|
213
|
-
marginBottom: 4,
|
|
214
|
-
},
|
|
215
|
-
iconHaloRing: {
|
|
216
|
-
width: 66,
|
|
217
|
-
height: 66,
|
|
218
|
-
borderRadius: 20,
|
|
219
|
-
backgroundColor: '#FAF5FF',
|
|
220
|
-
justifyContent: 'center',
|
|
221
|
-
alignItems: 'center',
|
|
222
|
-
borderWidth: 1.5,
|
|
223
|
-
borderColor: '#F3E8FF',
|
|
224
|
-
marginBottom: 8,
|
|
225
|
-
shadowColor: '#7C3AED',
|
|
226
|
-
shadowOffset: { width: 0, height: 4 },
|
|
227
|
-
shadowOpacity: 0.16,
|
|
228
|
-
shadowRadius: 10,
|
|
229
|
-
elevation: 4,
|
|
230
|
-
},
|
|
231
|
-
title: {
|
|
232
|
-
fontSize: 17,
|
|
233
|
-
fontWeight: '800',
|
|
234
|
-
color: '#0F172A',
|
|
235
|
-
letterSpacing: -0.4,
|
|
236
|
-
textAlign: 'center',
|
|
237
|
-
lineHeight: 22,
|
|
238
|
-
marginBottom: 2,
|
|
239
|
-
...fontStack,
|
|
240
|
-
},
|
|
241
|
-
subtitle: {
|
|
242
|
-
fontSize: 11.5,
|
|
243
|
-
fontWeight: '600',
|
|
244
|
-
color: '#7C3AED',
|
|
245
|
-
textAlign: 'center',
|
|
246
|
-
letterSpacing: 0.2,
|
|
247
|
-
marginBottom: 6,
|
|
248
|
-
...fontStack,
|
|
249
|
-
},
|
|
250
|
-
hintBadge: {
|
|
251
|
-
flexDirection: 'row',
|
|
252
|
-
alignItems: 'center',
|
|
253
|
-
justifyContent: 'center',
|
|
254
|
-
gap: 5,
|
|
255
|
-
backgroundColor: '#EDE9FE80',
|
|
256
|
-
borderWidth: 1,
|
|
257
|
-
borderColor: '#DDD6FE',
|
|
258
|
-
borderRadius: 7,
|
|
259
|
-
paddingHorizontal: 8,
|
|
260
|
-
paddingVertical: 3,
|
|
261
|
-
marginBottom: 8,
|
|
262
|
-
},
|
|
263
|
-
hintBadgeText: {
|
|
264
|
-
fontSize: 10,
|
|
265
|
-
fontWeight: '600',
|
|
266
|
-
color: '#6D28D9',
|
|
267
|
-
textAlign: 'center',
|
|
268
|
-
...fontStack,
|
|
269
|
-
},
|
|
270
|
-
description: {
|
|
271
|
-
fontSize: 12,
|
|
272
|
-
lineHeight: 17.5,
|
|
273
|
-
color: '#475569',
|
|
274
|
-
textAlign: 'center',
|
|
275
|
-
marginBottom: 12,
|
|
276
|
-
paddingHorizontal: 2,
|
|
277
|
-
...fontStack,
|
|
278
|
-
},
|
|
279
|
-
privacyBadge: {
|
|
280
|
-
flexDirection: 'row',
|
|
281
|
-
alignItems: 'flex-start',
|
|
282
|
-
backgroundColor: '#F8FAFC',
|
|
283
|
-
borderRadius: 12,
|
|
284
|
-
paddingVertical: 8,
|
|
285
|
-
paddingHorizontal: 10,
|
|
286
|
-
borderWidth: 1,
|
|
287
|
-
borderColor: '#E2E8F0',
|
|
288
|
-
marginBottom: 14,
|
|
289
|
-
width: '100%',
|
|
290
|
-
},
|
|
291
|
-
privacyShieldWrapper: {
|
|
292
|
-
marginRight: 7,
|
|
293
|
-
marginTop: 1,
|
|
294
|
-
},
|
|
295
|
-
privacyText: {
|
|
296
|
-
flex: 1,
|
|
297
|
-
fontSize: 10.8,
|
|
298
|
-
lineHeight: 15,
|
|
299
|
-
color: '#475569',
|
|
300
|
-
...fontStack,
|
|
301
|
-
},
|
|
302
|
-
privacyHighlight: {
|
|
303
|
-
fontWeight: '700',
|
|
304
|
-
color: '#1E293B',
|
|
305
|
-
},
|
|
306
|
-
buttonRow: {
|
|
307
|
-
flexDirection: 'row',
|
|
308
|
-
justifyContent: 'space-between',
|
|
309
|
-
alignItems: 'center',
|
|
310
|
-
gap: 10,
|
|
311
|
-
width: '100%',
|
|
312
|
-
},
|
|
313
|
-
declineButton: {
|
|
314
|
-
flex: 1,
|
|
315
|
-
flexDirection: 'row',
|
|
316
|
-
alignItems: 'center',
|
|
317
|
-
justifyContent: 'center',
|
|
318
|
-
gap: 5,
|
|
319
|
-
paddingVertical: 11,
|
|
320
|
-
borderRadius: 12,
|
|
321
|
-
backgroundColor: '#F1F5F9',
|
|
322
|
-
borderWidth: 1,
|
|
323
|
-
borderColor: '#E2E8F0',
|
|
324
|
-
},
|
|
325
|
-
declineText: {
|
|
326
|
-
fontSize: 13,
|
|
327
|
-
fontWeight: '600',
|
|
328
|
-
color: '#475569',
|
|
329
|
-
...fontStack,
|
|
330
|
-
},
|
|
331
|
-
allowButton: {
|
|
332
|
-
flex: 1,
|
|
333
|
-
flexDirection: 'row',
|
|
334
|
-
alignItems: 'center',
|
|
335
|
-
justifyContent: 'center',
|
|
336
|
-
gap: 5,
|
|
337
|
-
paddingVertical: 11,
|
|
338
|
-
borderRadius: 12,
|
|
339
|
-
backgroundColor: '#7C3AED',
|
|
340
|
-
shadowColor: '#7C3AED',
|
|
341
|
-
shadowOffset: { width: 0, height: 3 },
|
|
342
|
-
shadowOpacity: 0.28,
|
|
343
|
-
shadowRadius: 6,
|
|
344
|
-
elevation: 4,
|
|
345
|
-
},
|
|
346
|
-
allowText: {
|
|
347
|
-
fontSize: 13,
|
|
348
|
-
fontWeight: '700',
|
|
349
|
-
color: '#FFFFFF',
|
|
350
|
-
...fontStack,
|
|
351
|
-
},
|
|
352
|
-
});
|
|
353
|
-
exports.default = exports.TelemetryConsentModal;
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
export declare const GA4_MEASUREMENT_ID = "G-XXXXXXXXXX";
|
|
2
|
-
export declare const GA4_API_SECRET = "YOUR_GA4_API_SECRET";
|
|
3
|
-
/**
|
|
4
|
-
* Asynchronously loads host application and device metadata (strictly non-PII/technical).
|
|
5
|
-
*/
|
|
6
|
-
export declare function loadAppDiagnosticsAsync(): Promise<Record<string, any>>;
|
|
7
|
-
/**
|
|
8
|
-
* Returns the developer's telemetry consent status.
|
|
9
|
-
*/
|
|
10
|
-
export declare function getTelemetryConsentStatus(): Promise<'granted' | 'declined' | 'undetermined'>;
|
|
11
|
-
/**
|
|
12
|
-
* Saves the developer's telemetry consent choice.
|
|
13
|
-
*/
|
|
14
|
-
export declare function setTelemetryConsent(granted: boolean): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Checks if the user or environment has opted out of telemetry.
|
|
17
|
-
*/
|
|
18
|
-
export declare function isTelemetryOptedOut(explicitSetting?: boolean): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Track an anonymous event via GA4 Measurement Protocol.
|
|
21
|
-
*/
|
|
22
|
-
export declare function trackTelemetryEvent(eventName: string, params?: Record<string, any>, options?: {
|
|
23
|
-
telemetry?: boolean;
|
|
24
|
-
force?: boolean;
|
|
25
|
-
}): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* 1. Session initialization heartbeat ping.
|
|
28
|
-
*/
|
|
29
|
-
export declare function sendSessionTelemetryPing(options?: {
|
|
30
|
-
telemetry?: boolean;
|
|
31
|
-
environment?: string;
|
|
32
|
-
hasNavigation?: boolean;
|
|
33
|
-
hasAppIcon?: boolean;
|
|
34
|
-
force?: boolean;
|
|
35
|
-
}): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* 2. Track when the inspector modal is opened.
|
|
38
|
-
*/
|
|
39
|
-
export declare function trackInspectorOpen(options?: {
|
|
40
|
-
activeTab?: string;
|
|
41
|
-
openSource?: 'fab' | 'shake' | 'programmatic';
|
|
42
|
-
telemetry?: boolean;
|
|
43
|
-
}): void;
|
|
44
|
-
/**
|
|
45
|
-
* 3. Track when the inspector modal is closed.
|
|
46
|
-
*/
|
|
47
|
-
export declare function trackInspectorClose(options?: {
|
|
48
|
-
telemetry?: boolean;
|
|
49
|
-
}): void;
|
|
50
|
-
/**
|
|
51
|
-
* 4. Track tab / page view navigation inside the inspector.
|
|
52
|
-
*/
|
|
53
|
-
export declare function trackTabSwitch(tabName: string, options?: {
|
|
54
|
-
telemetry?: boolean;
|
|
55
|
-
fromTab?: string;
|
|
56
|
-
}): void;
|
|
57
|
-
/**
|
|
58
|
-
* 5. Track network API interaction (inspect details, copy cURL, retry).
|
|
59
|
-
*/
|
|
60
|
-
export declare function trackNetworkInteraction(action: 'view_detail' | 'copy_curl' | 'retry_request' | 'copy_url' | 'clear_logs' | 'export_har', options?: {
|
|
61
|
-
method?: string;
|
|
62
|
-
statusCode?: number;
|
|
63
|
-
durationMs?: number;
|
|
64
|
-
telemetry?: boolean;
|
|
65
|
-
}): void;
|
|
66
|
-
/**
|
|
67
|
-
* 6. Track Redux / State management interaction.
|
|
68
|
-
*/
|
|
69
|
-
export declare function trackReduxInteraction(action: 'view_diff' | 'view_state' | 'view_action' | 'filter_reducer', options?: {
|
|
70
|
-
reducerName?: string;
|
|
71
|
-
telemetry?: boolean;
|
|
72
|
-
}): void;
|
|
73
|
-
/**
|
|
74
|
-
* 7. Track Crash & Exception interaction.
|
|
75
|
-
*/
|
|
76
|
-
export declare function trackCrashInteraction(action: 'view_crash_detail' | 'share_crash_report' | 'copy_stacktrace' | 'clear_crashes', options?: {
|
|
77
|
-
crashType?: string;
|
|
78
|
-
telemetry?: boolean;
|
|
79
|
-
}): void;
|
|
80
|
-
/**
|
|
81
|
-
* 8. Track Performance monitoring tab interaction.
|
|
82
|
-
*/
|
|
83
|
-
export declare function trackPerformanceInteraction(subTab: 'fps' | 'memory' | 'rerenders' | 'bundles', options?: {
|
|
84
|
-
telemetry?: boolean;
|
|
85
|
-
}): void;
|
|
86
|
-
/**
|
|
87
|
-
* 9. Track search queries and filter applications.
|
|
88
|
-
*/
|
|
89
|
-
export declare function trackSearchOrFilter(target: 'apis' | 'console' | 'redux' | 'crashes' | 'analytics', actionType: 'search_query' | 'status_filter' | 'method_filter' | 'tag_filter', options?: {
|
|
90
|
-
filterValue?: string;
|
|
91
|
-
telemetry?: boolean;
|
|
92
|
-
}): void;
|
|
93
|
-
/**
|
|
94
|
-
* 10. Track when logs / reports are exported or shared.
|
|
95
|
-
*/
|
|
96
|
-
export declare function trackLogExport(exportType: 'logs_json' | 'logs_har' | 'curl' | 'crash_report', options?: {
|
|
97
|
-
telemetry?: boolean;
|
|
98
|
-
count?: number;
|
|
99
|
-
}): void;
|