@cxpinsight/react-native 0.19.1 → 0.21.0
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/CHANGELOG.md +42 -0
- package/android/src/main/java/com/cxpinsight/reactnative/CXPVitalsModule.java +170 -0
- package/android/src/main/java/com/cxpinsight/reactnative/CXPinsightPackage.java +2 -1
- package/ios/CXPVitals.m +143 -0
- package/lib/CXPinsight.d.ts +8 -1
- package/lib/CXPinsight.d.ts.map +1 -1
- package/lib/CXPinsight.js +26 -1
- package/lib/CXPinsight.js.map +1 -1
- package/lib/CXPinsightProvider.d.ts.map +1 -1
- package/lib/CXPinsightProvider.js +7 -1
- package/lib/CXPinsightProvider.js.map +1 -1
- package/lib/core/autoTapCapture.d.ts.map +1 -1
- package/lib/core/autoTapCapture.js +12 -2
- package/lib/core/autoTapCapture.js.map +1 -1
- package/lib/core/captureStatus.d.ts +4 -0
- package/lib/core/captureStatus.d.ts.map +1 -1
- package/lib/core/captureStatus.js +2 -0
- package/lib/core/captureStatus.js.map +1 -1
- package/lib/core/network.d.ts +3 -1
- package/lib/core/network.d.ts.map +1 -1
- package/lib/core/network.js +9 -3
- package/lib/core/network.js.map +1 -1
- package/lib/core/triggerEngine.d.ts.map +1 -1
- package/lib/core/triggerEngine.js +72 -10
- package/lib/core/triggerEngine.js.map +1 -1
- package/lib/core/vitals.d.ts +50 -0
- package/lib/core/vitals.d.ts.map +1 -0
- package/lib/core/vitals.js +343 -0
- package/lib/core/vitals.js.map +1 -0
- package/lib/instrumented/Pressable.d.ts.map +1 -1
- package/lib/instrumented/Pressable.js +5 -0
- package/lib/instrumented/Pressable.js.map +1 -1
- package/lib/instrumented/TouchableOpacity.d.ts.map +1 -1
- package/lib/instrumented/TouchableOpacity.js +5 -0
- package/lib/instrumented/TouchableOpacity.js.map +1 -1
- package/lib/survey/SurveyModal.d.ts.map +1 -1
- package/lib/survey/SurveyModal.js +8 -0
- package/lib/survey/SurveyModal.js.map +1 -1
- package/lib/types.d.ts +6 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
package/lib/core/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/core/network.ts"],"names":[],"mappings":";;;;;;AAEA,IAAI,MAAM,GAA4B,IAAI,CAAC;AAC3C,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,0BAAiC,GAAqB;IACpD,MAAM,GAAG,GAAG,CAAC;IACb,SAAS,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;AACjC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAe;IAC7B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,mBACV,MAAyC,EACzC,IAAY,EACZ,IAAc;
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/core/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggerEngine.d.ts","sourceRoot":"","sources":["../../src/core/triggerEngine.ts"],"names":[],"mappings":"AAGA,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAGF,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAOvE,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IAIF,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAM3B,QAAQ,CAAC,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,IAAI,GAAG,eAAe,GAAG,aAAa,CAAC;QAC7C,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,aAAa,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"triggerEngine.d.ts","sourceRoot":"","sources":["../../src/core/triggerEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,59 @@ exports.clearTriggerState = clearTriggerState;
|
|
|
45
45
|
const network_1 = require("./network");
|
|
46
46
|
const storage = __importStar(require("./storage"));
|
|
47
47
|
const STORAGE_KEY = '@cxpinsight:triggerConfigs';
|
|
48
|
+
// ── The stored copy, in pieces ──────────────────────────────────────────────
|
|
49
|
+
//
|
|
50
|
+
// The whole config used to be ONE AsyncStorage value. Android's AsyncStorage is
|
|
51
|
+
// SQLite, and a single value over ~2 MB cannot be read back ("Row too big to
|
|
52
|
+
// fit into CursorWindow"); at ~4,000+ interactions the config is past that
|
|
53
|
+
// (3.8 MB at 5,000 in the load test), so the offline copy silently stopped
|
|
54
|
+
// working on Android. It is now stored as pieces under PART_BYTES each, with a
|
|
55
|
+
// small index carrying the ETag the server sent with it.
|
|
56
|
+
const META_KEY = `${STORAGE_KEY}:meta`;
|
|
57
|
+
const partKey = (i) => `${STORAGE_KEY}:part:${i}`;
|
|
58
|
+
const PART_BYTES = 900 * 1024;
|
|
59
|
+
async function saveConfigs(list, etag) {
|
|
60
|
+
const parts = [];
|
|
61
|
+
let cur = [];
|
|
62
|
+
let bytes = 0;
|
|
63
|
+
for (const c of list) {
|
|
64
|
+
const n = JSON.stringify(c).length;
|
|
65
|
+
if (cur.length && bytes + n > PART_BYTES) {
|
|
66
|
+
parts.push(cur);
|
|
67
|
+
cur = [];
|
|
68
|
+
bytes = 0;
|
|
69
|
+
}
|
|
70
|
+
cur.push(c);
|
|
71
|
+
bytes += n;
|
|
72
|
+
}
|
|
73
|
+
if (cur.length)
|
|
74
|
+
parts.push(cur);
|
|
75
|
+
const old = await storage.get(META_KEY);
|
|
76
|
+
for (let i = 0; i < parts.length; i++)
|
|
77
|
+
await storage.set(partKey(i), parts[i]);
|
|
78
|
+
await storage.set(META_KEY, { etag: etag || null, parts: parts.length });
|
|
79
|
+
// Pieces left over from a larger previous config, and the old single value.
|
|
80
|
+
const stale = [STORAGE_KEY];
|
|
81
|
+
for (let i = parts.length; i < (old?.parts ?? 0); i++)
|
|
82
|
+
stale.push(partKey(i));
|
|
83
|
+
await storage.multiRemove(stale);
|
|
84
|
+
}
|
|
85
|
+
async function readStoredConfigs() {
|
|
86
|
+
const meta = await storage.get(META_KEY);
|
|
87
|
+
if (meta && typeof meta.parts === 'number') {
|
|
88
|
+
const out = [];
|
|
89
|
+
for (let i = 0; i < meta.parts; i++) {
|
|
90
|
+
const part = await storage.get(partKey(i));
|
|
91
|
+
if (!Array.isArray(part))
|
|
92
|
+
return null; // a piece is missing: the copy is not whole
|
|
93
|
+
out.push(...part);
|
|
94
|
+
}
|
|
95
|
+
return { configs: out, etag: meta.etag ?? null };
|
|
96
|
+
}
|
|
97
|
+
// A copy stored by an earlier SDK, in one value; replaced on the next save.
|
|
98
|
+
const legacy = await storage.get(STORAGE_KEY);
|
|
99
|
+
return Array.isArray(legacy) ? { configs: legacy, etag: null } : null;
|
|
100
|
+
}
|
|
48
101
|
const FIRED_KEY = '@cxpinsight:triggersFired';
|
|
49
102
|
let configs = [];
|
|
50
103
|
let configsLoaded = false;
|
|
@@ -77,14 +130,23 @@ async function loadTriggerConfigs(applicationId, debug) {
|
|
|
77
130
|
const savedCount = await storage.get('@cxpinsight:appOpenCount');
|
|
78
131
|
appOpenCount = (savedCount ?? 0) + 1;
|
|
79
132
|
await storage.set('@cxpinsight:appOpenCount', appOpenCount);
|
|
133
|
+
// Revalidate rather than re-download: with the ETag of the stored copy the
|
|
134
|
+
// server answers 304 when nothing changed — at 5,000 interactions that saves
|
|
135
|
+
// ~300 KB (gzipped; ~4 MB parsed) on every app start.
|
|
136
|
+
const stored = await readStoredConfigs();
|
|
80
137
|
try {
|
|
81
138
|
const scopeQs = `applicationId=${encodeURIComponent(applicationId)}`;
|
|
82
|
-
const result = await (0, network_1.sdkFetch)('GET', `/api/engagement/setup/mobile-configs/sdk?${scopeQs}
|
|
83
|
-
if (result.success && result.
|
|
139
|
+
const result = await (0, network_1.sdkFetch)('GET', `/api/engagement/setup/mobile-configs/sdk?${scopeQs}`, undefined, stored?.etag ? { headers: { 'If-None-Match': stored.etag } } : undefined);
|
|
140
|
+
if (result.success && result.notModified && stored) {
|
|
141
|
+
configs = stored.configs;
|
|
142
|
+
loadSource = 'server';
|
|
143
|
+
log(`Trigger configs unchanged (304); using the stored ${configs.length}`);
|
|
144
|
+
}
|
|
145
|
+
else if (result.success && result.data) {
|
|
84
146
|
const data = result.data.data ?? result.data;
|
|
85
147
|
configs = Array.isArray(data) ? data : [];
|
|
86
148
|
// Replace cache with fresh server data (removes stale/deactivated configs)
|
|
87
|
-
await
|
|
149
|
+
await saveConfigs(configs, result.etag);
|
|
88
150
|
// Also clear fired state for configs that no longer exist
|
|
89
151
|
const activeIds = new Set(configs.map(c => c.configId));
|
|
90
152
|
const allFired = (await storage.get(FIRED_KEY)) ?? {};
|
|
@@ -103,17 +165,15 @@ async function loadTriggerConfigs(applicationId, debug) {
|
|
|
103
165
|
else {
|
|
104
166
|
// Fall back to cached configs
|
|
105
167
|
log('Failed to load configs from server:', result.error || 'no data');
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
loadSource = cached ? 'cache' : 'none';
|
|
168
|
+
configs = stored?.configs ?? [];
|
|
169
|
+
loadSource = stored ? 'cache' : 'none';
|
|
109
170
|
log(`Using ${configs.length} cached trigger configs`);
|
|
110
171
|
}
|
|
111
172
|
}
|
|
112
173
|
catch (err) {
|
|
113
174
|
console.warn('[CXPinsight:Triggers] Network error loading configs:', err);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
loadSource = cached ? 'cache' : 'none';
|
|
175
|
+
configs = stored?.configs ?? [];
|
|
176
|
+
loadSource = stored ? 'cache' : 'none';
|
|
117
177
|
log('Network error, using cached configs');
|
|
118
178
|
}
|
|
119
179
|
configsLoaded = true;
|
|
@@ -608,6 +668,8 @@ async function clearTriggerState() {
|
|
|
608
668
|
configsLoaded = false;
|
|
609
669
|
pendingScreenViews = [];
|
|
610
670
|
pendingEvents = [];
|
|
611
|
-
await storage.
|
|
671
|
+
const meta = await storage.get(META_KEY);
|
|
672
|
+
const pieces = Array.from({ length: meta?.parts ?? 0 }, (_, i) => partKey(i));
|
|
673
|
+
await storage.multiRemove([STORAGE_KEY, META_KEY, ...pieces, FIRED_KEY, '@cxpinsight:appOpenCount']);
|
|
612
674
|
}
|
|
613
675
|
//# sourceMappingURL=triggerEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggerEngine.js","sourceRoot":"","sources":["../../src/core/triggerEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"triggerEngine.js","sourceRoot":"","sources":["../../src/core/triggerEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export type VitalName = 'SCREEN_LOAD' | 'INP' | 'JS_STALL' | 'APP_START_COLD' | 'APP_START_WARM' | 'APP_START_HOT' | 'SLOW_FRAMES' | 'FROZEN_FRAMES';
|
|
2
|
+
export interface VitalReport {
|
|
3
|
+
name: VitalName;
|
|
4
|
+
value: number;
|
|
5
|
+
rating: 'good' | 'needs_improvement' | 'poor';
|
|
6
|
+
screen: string;
|
|
7
|
+
visitId: string;
|
|
8
|
+
navigationType: 'screen' | 'resume' | 'cold' | 'warm' | 'hot';
|
|
9
|
+
attribution: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
type Emit = (report: VitalReport) => void;
|
|
12
|
+
interface FrameStats {
|
|
13
|
+
total: number;
|
|
14
|
+
slow: number;
|
|
15
|
+
frozen: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function rate(name: VitalName, value: number): VitalReport['rating'];
|
|
18
|
+
interface Visit {
|
|
19
|
+
id: string;
|
|
20
|
+
screen: string;
|
|
21
|
+
navigationType: VitalReport['navigationType'];
|
|
22
|
+
worstInp: number;
|
|
23
|
+
worstInpAttr: Record<string, unknown> | null;
|
|
24
|
+
maxStall: number;
|
|
25
|
+
stallAt: number;
|
|
26
|
+
startedAt: number;
|
|
27
|
+
frames0: FrameStats | null;
|
|
28
|
+
}
|
|
29
|
+
export declare function startVitals(cb: Emit): void;
|
|
30
|
+
export declare function stopVitals(): void;
|
|
31
|
+
/**
|
|
32
|
+
* A screen became current: the previous visit ends, this one starts, and its load is timed.
|
|
33
|
+
*
|
|
34
|
+
* Accepted before startVitals: the provider reports the screen the app opens on as it mounts,
|
|
35
|
+
* which is before the SDK has initialised. Dropping it there meant the first screen — the one most
|
|
36
|
+
* sessions never leave — had no visit at all. Sending waits for `emit`; recording does not.
|
|
37
|
+
*/
|
|
38
|
+
export declare function onScreen(screen: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* An input happened (a finger down, a press). `nativeTimestamp` is the event's own
|
|
41
|
+
* nativeEvent.timestamp when the caller has it.
|
|
42
|
+
*/
|
|
43
|
+
export declare function onInput(kind: string, nativeTimestamp?: unknown, target?: string): void;
|
|
44
|
+
/** Test seam. */
|
|
45
|
+
export declare function _state(): {
|
|
46
|
+
visit: Visit | null;
|
|
47
|
+
currentScreen: string | null;
|
|
48
|
+
};
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=vitals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitals.d.ts","sourceRoot":"","sources":["../../src/core/vitals.ts"],"names":[],"mappings":"AAoCA,MAAM,MAAM,SAAS,GACjB,aAAa,GAAG,KAAK,GAAG,UAAU,GAElC,gBAAgB,GAAG,gBAAgB,GAAG,eAAe,GAAG,aAAa,GAAG,eAAe,CAAC;AAE5F,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,MAAM,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC9D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;AAqB1C,UAAU,UAAU;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAwBpE,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAG1E;AA2BD,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAsHD,wBAAgB,WAAW,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CA0B1C;AAED,wBAAgB,UAAU,IAAI,IAAI,CAWjC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAsB7C;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBtF;AAED,iBAAiB;AACjB,wBAAgB,MAAM,IAAI;IAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAE9E"}
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rate = rate;
|
|
4
|
+
exports.startVitals = startVitals;
|
|
5
|
+
exports.stopVitals = stopVitals;
|
|
6
|
+
exports.onScreen = onScreen;
|
|
7
|
+
exports.onInput = onInput;
|
|
8
|
+
exports._state = _state;
|
|
9
|
+
/**
|
|
10
|
+
* Mobile vitals — the mobile half of the Performance tab's model
|
|
11
|
+
* (docs/architecture/performance-vitals-web-and-mobile.md).
|
|
12
|
+
*
|
|
13
|
+
* Web vitals are measured by Google's web-vitals library; mobile has no such library, so these are
|
|
14
|
+
* measured here, to the same three questions and to published thresholds:
|
|
15
|
+
*
|
|
16
|
+
* SCREEN_LOAD Loading navigation started (the tap that caused it, or the route change)
|
|
17
|
+
* → the first frame of the new screen. LCP's thresholds.
|
|
18
|
+
* INP Responsiveness an input → the next frame after its handlers ran, the WORST in a
|
|
19
|
+
* screen visit. The same name and thresholds as web INP.
|
|
20
|
+
* JS_STALL Smoothness the longest time the JS thread was blocked in a screen visit.
|
|
21
|
+
* Apple's hang thresholds (250 ms micro hang, 500 ms hang).
|
|
22
|
+
*
|
|
23
|
+
* APP_START and SLOW/FROZEN_FRAMES need native code (process start time, UI-thread frames) and come
|
|
24
|
+
* later.
|
|
25
|
+
*
|
|
26
|
+
* Each is reported as a `web_vitals` event in the web shape (metric_name, metric_value,
|
|
27
|
+
* metric_rating, page_type, page_load_id, navigation_type, vitals_source, attribution), so the
|
|
28
|
+
* dashboard reads both platforms the same way. A "page load" here is a screen visit.
|
|
29
|
+
*
|
|
30
|
+
* ── Timing ──────────────────────────────────────────────────────────────────────────────────────
|
|
31
|
+
* "The next frame" is the frame that SHOWS the result — three requestAnimationFrame callbacks after
|
|
32
|
+
* the work: the first runs at the next vsync once the JS task (handlers, React's commit) is done, the
|
|
33
|
+
* UI thread mounts it, and iOS presents it a frame or two after that. Measured on the iOS simulator
|
|
34
|
+
* against a 60 fps screen recording (2026-10-06): two callbacks ended a median 25 ms BEFORE the new
|
|
35
|
+
* screen was on the display; three end a median 7 ms after it (−32…+17 ms) — within a frame, which
|
|
36
|
+
* is what web INP measures too (up to the frame's presentation).
|
|
37
|
+
*
|
|
38
|
+
* An input's start is the touch's own native timestamp when it is on this clock — so the time the
|
|
39
|
+
* event waited for a busy JS thread counts, as it does on web — and the moment JS received it
|
|
40
|
+
* otherwise. Which one was used is recorded (`input_clock`), because only measurement can say
|
|
41
|
+
* which a given platform gives us.
|
|
42
|
+
*/
|
|
43
|
+
const react_native_1 = require("react-native");
|
|
44
|
+
// Published thresholds — see the architecture doc. [good, poor]: good ≤ g, poor > p.
|
|
45
|
+
const THRESHOLDS = {
|
|
46
|
+
SCREEN_LOAD: [2500, 4000], // web.dev LCP
|
|
47
|
+
INP: [200, 500], // web.dev INP
|
|
48
|
+
JS_STALL: [249, 500], // Apple: ≥ 250 ms is a (micro) hang, > 500 ms a hang
|
|
49
|
+
// Android vitals — pass/fail, so good and poor meet: excessive at ≥ 5 s / 2 s / 1.5 s.
|
|
50
|
+
APP_START_COLD: [4999, 4999],
|
|
51
|
+
APP_START_WARM: [1999, 1999],
|
|
52
|
+
APP_START_HOT: [1499, 1499],
|
|
53
|
+
// Share of frames × 100 (10000 = all of them). Android vitals: > 50 % slow, > 0.1 % frozen.
|
|
54
|
+
SLOW_FRAMES: [5000, 5000],
|
|
55
|
+
FROZEN_FRAMES: [10, 10],
|
|
56
|
+
};
|
|
57
|
+
// Platforms whose native vitals (app start, frames) have been measured against the platform's own
|
|
58
|
+
// numbers. iOS is off until ios/CXPVitals.m is checked against a real launch and a screen recording
|
|
59
|
+
// (it needs an Xcode 26 build); its JS vitals — screen load, INP, JS stall — are unaffected.
|
|
60
|
+
const NATIVE_VITALS_ON = ['android'];
|
|
61
|
+
function nativeVitals() {
|
|
62
|
+
try {
|
|
63
|
+
const m = react_native_1.TurboModuleRegistry?.get?.('CXPVitals')
|
|
64
|
+
?? react_native_1.NativeModules?.CXPVitals;
|
|
65
|
+
return m || null;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Frames in a visit below this are too few for a share to mean anything.
|
|
72
|
+
const MIN_FRAMES = 30;
|
|
73
|
+
// A launch longer than this is not a launch (a debugger pause, a JS reload in an old process).
|
|
74
|
+
const MAX_START_MS = 120000;
|
|
75
|
+
function rate(name, value) {
|
|
76
|
+
const [good, poor] = THRESHOLDS[name];
|
|
77
|
+
return value <= good ? 'good' : value <= poor ? 'needs_improvement' : 'poor';
|
|
78
|
+
}
|
|
79
|
+
const now = () => (typeof performance !== 'undefined' && typeof performance.now === 'function') ? performance.now() : Date.now();
|
|
80
|
+
const afterNextFrame = (cb) => {
|
|
81
|
+
try {
|
|
82
|
+
requestAnimationFrame(() => requestAnimationFrame(() => requestAnimationFrame(cb)));
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
setTimeout(cb, 48);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
/** A touch's start time on our clock, and which clock it came from. */
|
|
89
|
+
function inputStart(nativeTimestamp) {
|
|
90
|
+
const t = now();
|
|
91
|
+
const ts = typeof nativeTimestamp === 'number' ? nativeTimestamp : NaN;
|
|
92
|
+
// Plausibly the same clock: in the past, and not long ago. Anything else (another epoch, another
|
|
93
|
+
// origin) would turn the delay into nonsense, so the receipt time is used instead.
|
|
94
|
+
if (Number.isFinite(ts) && t - ts >= 0 && t - ts < 5000)
|
|
95
|
+
return { at: ts, clock: 'native' };
|
|
96
|
+
return { at: t, clock: 'js' };
|
|
97
|
+
}
|
|
98
|
+
const STALL_TICK_MS = 50;
|
|
99
|
+
// An input this recent started the navigation that followed it.
|
|
100
|
+
const NAV_INPUT_WINDOW_MS = 1500;
|
|
101
|
+
let emit = null;
|
|
102
|
+
let visit = null;
|
|
103
|
+
let lastInput = null;
|
|
104
|
+
let stallTimer = null;
|
|
105
|
+
let lastTick = 0;
|
|
106
|
+
let appStateSub = null;
|
|
107
|
+
let seq = 0;
|
|
108
|
+
let native = null;
|
|
109
|
+
let frameSource = '';
|
|
110
|
+
// Cold start: the launch's start (from native) and the first screen's first frame (from JS); reported
|
|
111
|
+
// once both are known, in whichever order they arrive.
|
|
112
|
+
let coldStartWall = 0;
|
|
113
|
+
let firstFrameWall = 0;
|
|
114
|
+
let coldReported = false;
|
|
115
|
+
let backgroundAtWall = 0;
|
|
116
|
+
const newId = () => 'sv_' + Date.now().toString(36) + '_' + (seq++).toString(36) + Math.random().toString(36).slice(2, 6);
|
|
117
|
+
// Reports made before startVitals (the opening screen's load) wait here for the SDK.
|
|
118
|
+
let held = [];
|
|
119
|
+
function report(name, value, v, attribution) {
|
|
120
|
+
const rounded = Math.max(0, Math.round(value));
|
|
121
|
+
const r = { name, value: rounded, rating: rate(name, rounded), screen: v.screen, visitId: v.id, navigationType: v.navigationType, attribution };
|
|
122
|
+
if (!emit) {
|
|
123
|
+
if (held.length < 20)
|
|
124
|
+
held.push(r);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
emit(r);
|
|
129
|
+
}
|
|
130
|
+
catch { /* reporting must never break the app */ }
|
|
131
|
+
}
|
|
132
|
+
/** End the current visit: its worst interaction and longest stall. */
|
|
133
|
+
function endVisit() {
|
|
134
|
+
const v = visit;
|
|
135
|
+
visit = null;
|
|
136
|
+
if (!v)
|
|
137
|
+
return;
|
|
138
|
+
if (v.worstInpAttr)
|
|
139
|
+
report('INP', v.worstInp, v, v.worstInpAttr);
|
|
140
|
+
report('JS_STALL', v.maxStall, v, {
|
|
141
|
+
longest_stall_at_ms: Math.round(v.stallAt - v.startedAt),
|
|
142
|
+
visit_duration_ms: Math.round(now() - v.startedAt),
|
|
143
|
+
});
|
|
144
|
+
const f0 = v.frames0;
|
|
145
|
+
if (native && f0) {
|
|
146
|
+
native.getFrameStats().then((f) => {
|
|
147
|
+
const total = f.total - f0.total;
|
|
148
|
+
if (total < MIN_FRAMES)
|
|
149
|
+
return;
|
|
150
|
+
const attr = { frames: total, slow: f.slow - f0.slow, frozen: f.frozen - f0.frozen, frame_source: frameSource };
|
|
151
|
+
report('SLOW_FRAMES', ((f.slow - f0.slow) / total) * 10000, v, attr);
|
|
152
|
+
report('FROZEN_FRAMES', ((f.frozen - f0.frozen) / total) * 10000, v, attr);
|
|
153
|
+
}, () => { });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
function beginVisit(screen, navigationType) {
|
|
157
|
+
visit = {
|
|
158
|
+
id: newId(), screen, navigationType, worstInp: 0, worstInpAttr: null,
|
|
159
|
+
maxStall: 0, stallAt: 0, startedAt: now(), frames0: null,
|
|
160
|
+
};
|
|
161
|
+
lastTick = now();
|
|
162
|
+
const v = visit;
|
|
163
|
+
native?.getFrameStats().then((f) => { v.frames0 = f; }, () => { });
|
|
164
|
+
return v;
|
|
165
|
+
}
|
|
166
|
+
function tick() {
|
|
167
|
+
const t = now();
|
|
168
|
+
const gap = t - lastTick - STALL_TICK_MS; // how late this tick ran = how long JS was blocked
|
|
169
|
+
lastTick = t;
|
|
170
|
+
if (visit && gap > visit.maxStall) {
|
|
171
|
+
visit.maxStall = gap;
|
|
172
|
+
visit.stallAt = t;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function onAppState(state) {
|
|
176
|
+
if (state === 'active') {
|
|
177
|
+
// Timers do not run in the background; restart the stall clock so the time away is not a stall.
|
|
178
|
+
lastTick = now();
|
|
179
|
+
if (!visit && currentScreen)
|
|
180
|
+
beginVisit(currentScreen, 'resume');
|
|
181
|
+
if (backgroundAtWall && native)
|
|
182
|
+
reportReturn(backgroundAtWall);
|
|
183
|
+
backgroundAtWall = 0;
|
|
184
|
+
}
|
|
185
|
+
else if (state === 'background' || state === 'inactive') {
|
|
186
|
+
if (state === 'background')
|
|
187
|
+
backgroundAtWall = Date.now();
|
|
188
|
+
endVisit();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* The app came back from the background: a WARM start when Android re-created its activity while
|
|
193
|
+
* the process lived on, a HOT start otherwise — from the native moment it started coming back to
|
|
194
|
+
* the first frame JS sees.
|
|
195
|
+
*/
|
|
196
|
+
function reportReturn(sinceWall) {
|
|
197
|
+
const v = visit;
|
|
198
|
+
afterNextFrame(() => {
|
|
199
|
+
const endWall = Date.now();
|
|
200
|
+
native?.getLaunchInfo().then((info) => {
|
|
201
|
+
if (!v)
|
|
202
|
+
return;
|
|
203
|
+
const warm = info.activityCreatedMs > sinceWall;
|
|
204
|
+
const start = warm ? info.activityCreatedMs : info.foregroundMs;
|
|
205
|
+
if (!(start >= sinceWall) || endWall - start <= 0 || endWall - start > MAX_START_MS)
|
|
206
|
+
return;
|
|
207
|
+
v.navigationType = warm ? 'warm' : 'hot';
|
|
208
|
+
report(warm ? 'APP_START_WARM' : 'APP_START_HOT', endWall - start, v, {
|
|
209
|
+
start_source: warm ? 'activity_created' : 'foreground', frame_source: info.frameSource,
|
|
210
|
+
});
|
|
211
|
+
}, () => { });
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
function maybeReportCold() {
|
|
215
|
+
if (coldReported || !coldStartWall || !firstFrameWall)
|
|
216
|
+
return;
|
|
217
|
+
coldReported = true;
|
|
218
|
+
const value = firstFrameWall - coldStartWall;
|
|
219
|
+
const v = visit;
|
|
220
|
+
if (!v || value <= 0 || value > MAX_START_MS)
|
|
221
|
+
return;
|
|
222
|
+
report('APP_START_COLD', value, { ...v, navigationType: 'cold' }, { start_source: coldStartSource });
|
|
223
|
+
}
|
|
224
|
+
let coldStartSource = '';
|
|
225
|
+
let currentScreen = null;
|
|
226
|
+
function startVitals(cb) {
|
|
227
|
+
emit = cb;
|
|
228
|
+
const waiting = held;
|
|
229
|
+
held = [];
|
|
230
|
+
waiting.forEach((r) => { try {
|
|
231
|
+
cb(r);
|
|
232
|
+
}
|
|
233
|
+
catch { /* noop */ } });
|
|
234
|
+
if (stallTimer)
|
|
235
|
+
return;
|
|
236
|
+
lastTick = now();
|
|
237
|
+
stallTimer = setInterval(tick, STALL_TICK_MS);
|
|
238
|
+
native = NATIVE_VITALS_ON.includes(react_native_1.Platform.OS) ? nativeVitals() : null;
|
|
239
|
+
if (native) {
|
|
240
|
+
try {
|
|
241
|
+
native.startFrameMonitor();
|
|
242
|
+
}
|
|
243
|
+
catch { /* frames unavailable */ }
|
|
244
|
+
if (visit && !visit.frames0) {
|
|
245
|
+
const v = visit;
|
|
246
|
+
native.getFrameStats().then((f) => { v.frames0 = f; }, () => { });
|
|
247
|
+
}
|
|
248
|
+
native.getLaunchInfo().then((info) => {
|
|
249
|
+
frameSource = info.frameSource;
|
|
250
|
+
if (!info.firstInProcess) {
|
|
251
|
+
coldReported = true;
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
// A prewarmed iOS process started before anyone opened the app; the launch is from when it
|
|
255
|
+
// finished launching (Apple's advice).
|
|
256
|
+
coldStartWall = info.prewarmed && info.finishedLaunchingMs ? info.finishedLaunchingMs : info.processStartMs;
|
|
257
|
+
coldStartSource = info.prewarmed ? 'finished_launching' : 'process_start';
|
|
258
|
+
maybeReportCold();
|
|
259
|
+
}, () => { });
|
|
260
|
+
}
|
|
261
|
+
try {
|
|
262
|
+
appStateSub = react_native_1.AppState.addEventListener('change', onAppState);
|
|
263
|
+
}
|
|
264
|
+
catch { /* no AppState */ }
|
|
265
|
+
}
|
|
266
|
+
function stopVitals() {
|
|
267
|
+
endVisit();
|
|
268
|
+
if (stallTimer)
|
|
269
|
+
clearInterval(stallTimer);
|
|
270
|
+
stallTimer = null;
|
|
271
|
+
appStateSub?.remove();
|
|
272
|
+
appStateSub = null;
|
|
273
|
+
emit = null;
|
|
274
|
+
currentScreen = null;
|
|
275
|
+
lastInput = null;
|
|
276
|
+
held = [];
|
|
277
|
+
native = null;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* A screen became current: the previous visit ends, this one starts, and its load is timed.
|
|
281
|
+
*
|
|
282
|
+
* Accepted before startVitals: the provider reports the screen the app opens on as it mounts,
|
|
283
|
+
* which is before the SDK has initialised. Dropping it there meant the first screen — the one most
|
|
284
|
+
* sessions never leave — had no visit at all. Sending waits for `emit`; recording does not.
|
|
285
|
+
*/
|
|
286
|
+
function onScreen(screen) {
|
|
287
|
+
if (!screen || screen === currentScreen)
|
|
288
|
+
return;
|
|
289
|
+
currentScreen = screen;
|
|
290
|
+
endVisit();
|
|
291
|
+
const v = beginVisit(screen, 'screen');
|
|
292
|
+
// Started by the input that led here, when there was one; otherwise by the route change itself.
|
|
293
|
+
const t = now();
|
|
294
|
+
const byInput = lastInput && t - lastInput.at < NAV_INPUT_WINDOW_MS ? lastInput : null;
|
|
295
|
+
const start = byInput ? byInput.at : t;
|
|
296
|
+
afterNextFrame(() => {
|
|
297
|
+
if (!firstFrameWall) {
|
|
298
|
+
firstFrameWall = Date.now();
|
|
299
|
+
try {
|
|
300
|
+
native?.reportFullyDrawn?.();
|
|
301
|
+
}
|
|
302
|
+
catch { /* not on this platform */ }
|
|
303
|
+
maybeReportCold();
|
|
304
|
+
}
|
|
305
|
+
report('SCREEN_LOAD', now() - start, v, {
|
|
306
|
+
trigger: byInput ? byInput.kind : 'route_change',
|
|
307
|
+
target_selector: byInput?.target ?? '',
|
|
308
|
+
input_clock: byInput ? byInput.clock : 'js',
|
|
309
|
+
route_change_after_input_ms: byInput ? Math.round(t - byInput.at) : 0,
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* An input happened (a finger down, a press). `nativeTimestamp` is the event's own
|
|
315
|
+
* nativeEvent.timestamp when the caller has it.
|
|
316
|
+
*/
|
|
317
|
+
function onInput(kind, nativeTimestamp, target) {
|
|
318
|
+
if (!emit)
|
|
319
|
+
return;
|
|
320
|
+
const start = inputStart(nativeTimestamp);
|
|
321
|
+
lastInput = { ...start, kind, target };
|
|
322
|
+
const handledAt = now();
|
|
323
|
+
const v = visit;
|
|
324
|
+
afterNextFrame(() => {
|
|
325
|
+
if (!v || v !== visit)
|
|
326
|
+
return; // the screen changed: that is a SCREEN_LOAD, not this visit's INP
|
|
327
|
+
const duration = now() - start.at;
|
|
328
|
+
if (duration > v.worstInp || !v.worstInpAttr) {
|
|
329
|
+
v.worstInp = duration;
|
|
330
|
+
v.worstInpAttr = {
|
|
331
|
+
event_type: kind,
|
|
332
|
+
target_selector: target ?? '',
|
|
333
|
+
input_delay: Math.round(Math.max(0, handledAt - start.at)),
|
|
334
|
+
input_clock: start.clock,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
/** Test seam. */
|
|
340
|
+
function _state() {
|
|
341
|
+
return { visit, currentScreen };
|
|
342
|
+
}
|
|
343
|
+
//# sourceMappingURL=vitals.js.map
|