@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.
Files changed (44) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/android/src/main/java/com/cxpinsight/reactnative/CXPVitalsModule.java +170 -0
  3. package/android/src/main/java/com/cxpinsight/reactnative/CXPinsightPackage.java +2 -1
  4. package/ios/CXPVitals.m +143 -0
  5. package/lib/CXPinsight.d.ts +8 -1
  6. package/lib/CXPinsight.d.ts.map +1 -1
  7. package/lib/CXPinsight.js +26 -1
  8. package/lib/CXPinsight.js.map +1 -1
  9. package/lib/CXPinsightProvider.d.ts.map +1 -1
  10. package/lib/CXPinsightProvider.js +7 -1
  11. package/lib/CXPinsightProvider.js.map +1 -1
  12. package/lib/core/autoTapCapture.d.ts.map +1 -1
  13. package/lib/core/autoTapCapture.js +12 -2
  14. package/lib/core/autoTapCapture.js.map +1 -1
  15. package/lib/core/captureStatus.d.ts +4 -0
  16. package/lib/core/captureStatus.d.ts.map +1 -1
  17. package/lib/core/captureStatus.js +2 -0
  18. package/lib/core/captureStatus.js.map +1 -1
  19. package/lib/core/network.d.ts +3 -1
  20. package/lib/core/network.d.ts.map +1 -1
  21. package/lib/core/network.js +9 -3
  22. package/lib/core/network.js.map +1 -1
  23. package/lib/core/triggerEngine.d.ts.map +1 -1
  24. package/lib/core/triggerEngine.js +72 -10
  25. package/lib/core/triggerEngine.js.map +1 -1
  26. package/lib/core/vitals.d.ts +50 -0
  27. package/lib/core/vitals.d.ts.map +1 -0
  28. package/lib/core/vitals.js +343 -0
  29. package/lib/core/vitals.js.map +1 -0
  30. package/lib/instrumented/Pressable.d.ts.map +1 -1
  31. package/lib/instrumented/Pressable.js +5 -0
  32. package/lib/instrumented/Pressable.js.map +1 -1
  33. package/lib/instrumented/TouchableOpacity.d.ts.map +1 -1
  34. package/lib/instrumented/TouchableOpacity.js +5 -0
  35. package/lib/instrumented/TouchableOpacity.js.map +1 -1
  36. package/lib/survey/SurveyModal.d.ts.map +1 -1
  37. package/lib/survey/SurveyModal.js +8 -0
  38. package/lib/survey/SurveyModal.js.map +1 -1
  39. package/lib/types.d.ts +6 -0
  40. package/lib/types.d.ts.map +1 -1
  41. package/lib/types.js.map +1 -1
  42. package/lib/version.d.ts +1 -1
  43. package/lib/version.js +1 -1
  44. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/core/network.ts"],"names":[],"mappings":"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"}
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":"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"}
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.data) {
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 storage.set(STORAGE_KEY, configs);
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
- const cached = await storage.get(STORAGE_KEY);
107
- configs = cached ?? [];
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
- const cached = await storage.get(STORAGE_KEY);
115
- configs = cached ?? [];
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.multiRemove([STORAGE_KEY, FIRED_KEY, '@cxpinsight:appOpenCount']);
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