@cxpinsight/react-native 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoTapCapture.d.ts","sourceRoot":"","sources":["../../src/core/autoTapCapture.ts"],"names":[],"mappings":"AA8CA,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"autoTapCapture.d.ts","sourceRoot":"","sources":["../../src/core/autoTapCapture.ts"],"names":[],"mappings":"AA8CA,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAwRpD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,UAAQ,GAAG,OAAO,CA6C5D;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD"}
|
|
@@ -91,6 +91,23 @@ const TOUCHABLES = new Set([
|
|
|
91
91
|
react_native_1.Button,
|
|
92
92
|
]);
|
|
93
93
|
// Fallback for components re-exported or wrapped such that identity is lost.
|
|
94
|
+
/**
|
|
95
|
+
* Text inputs and scrollables, so the runtime patch covers what the babel plugin
|
|
96
|
+
* covers. Without these, ONLY taps are captured and a definition triggering on
|
|
97
|
+
* input_focus or scroll silently never fires — which is exactly what made the
|
|
98
|
+
* plugin mandatory rather than an optimisation.
|
|
99
|
+
*/
|
|
100
|
+
const INPUT_NAMES = new Set([
|
|
101
|
+
'TextInput',
|
|
102
|
+
'ForwardRef(TextInput)',
|
|
103
|
+
]);
|
|
104
|
+
const SCROLL_NAMES = new Set([
|
|
105
|
+
'ScrollView',
|
|
106
|
+
'FlatList',
|
|
107
|
+
'SectionList',
|
|
108
|
+
'ForwardRef(ScrollView)',
|
|
109
|
+
'ForwardRef(FlatList)',
|
|
110
|
+
]);
|
|
94
111
|
const TOUCH_NAMES = new Set([
|
|
95
112
|
'TouchableOpacity',
|
|
96
113
|
'TouchableHighlight',
|
|
@@ -112,9 +129,31 @@ function isTouchable(type) {
|
|
|
112
129
|
TOUCH_NAMES.has(t.render?.displayName ?? '') ||
|
|
113
130
|
TOUCH_NAMES.has(t.render?.name ?? ''));
|
|
114
131
|
}
|
|
132
|
+
function namesOf(type) {
|
|
133
|
+
const t = type;
|
|
134
|
+
return [t?.displayName, t?.name, t?.render?.displayName, t?.render?.name].filter(Boolean);
|
|
135
|
+
}
|
|
136
|
+
function isTextInput(type) {
|
|
137
|
+
if (!type)
|
|
138
|
+
return false;
|
|
139
|
+
const t = type;
|
|
140
|
+
if (t[exports.CXP_INSTRUMENTED])
|
|
141
|
+
return false; // the plugin's version reports for itself
|
|
142
|
+
return namesOf(type).some((n) => INPUT_NAMES.has(n));
|
|
143
|
+
}
|
|
144
|
+
function isScrollable(type) {
|
|
145
|
+
if (!type)
|
|
146
|
+
return false;
|
|
147
|
+
const t = type;
|
|
148
|
+
if (t[exports.CXP_INSTRUMENTED])
|
|
149
|
+
return false;
|
|
150
|
+
return namesOf(type).some((n) => SCROLL_NAMES.has(n));
|
|
151
|
+
}
|
|
115
152
|
/** Best-effort visible label, without walking a deep tree. */
|
|
116
153
|
function labelOf(props) {
|
|
117
|
-
|
|
154
|
+
// Matches instrumented/TextInput, which labels a field by its placeholder —
|
|
155
|
+
// "Enter password" is what an author writes a condition against.
|
|
156
|
+
const direct = props.title ?? props.accessibilityLabel ?? props.placeholder;
|
|
118
157
|
if (typeof direct === 'string' && direct)
|
|
119
158
|
return direct;
|
|
120
159
|
const kids = props.children;
|
|
@@ -131,11 +170,69 @@ function labelOf(props) {
|
|
|
131
170
|
return nested;
|
|
132
171
|
return undefined;
|
|
133
172
|
}
|
|
134
|
-
|
|
173
|
+
/**
|
|
174
|
+
* One gesture, one event.
|
|
175
|
+
*
|
|
176
|
+
* A tap can be reported more than once for the SAME press, and the causes are
|
|
177
|
+
* structural rather than accidental:
|
|
178
|
+
*
|
|
179
|
+
* - A host app component that merely SHARES A NAME with a touchable — an
|
|
180
|
+
* ordinary `function Button()` wrapping a TouchableOpacity is the common
|
|
181
|
+
* case — matches the name fallback in isTouchable(), so the wrapper reports
|
|
182
|
+
* and the instrumented child reports the same press again. The
|
|
183
|
+
* CXP_INSTRUMENTED marker cannot help: the wrapper is not instrumented, it
|
|
184
|
+
* is just called Button.
|
|
185
|
+
* - Nested touchables generally (a Pressable inside a TouchableOpacity).
|
|
186
|
+
*
|
|
187
|
+
* Observed in a real app as four identical `tap` events on "Sign In" at one
|
|
188
|
+
* millisecond. Duplicates inflate every tap metric and make a tap-triggered
|
|
189
|
+
* survey fire on a press the respondent made once.
|
|
190
|
+
*
|
|
191
|
+
* So the last reported gesture is remembered and an identical one inside the
|
|
192
|
+
* same frame window is dropped. Keyed on kind+label+testID, which is what a
|
|
193
|
+
* duplicate of one press shares; two genuinely different controls pressed
|
|
194
|
+
* within 50ms differ on at least one of them.
|
|
195
|
+
*/
|
|
196
|
+
const DEDUPE_WINDOW_MS = 50;
|
|
197
|
+
let lastKey = '';
|
|
198
|
+
let lastAt = 0;
|
|
199
|
+
function report(props, kind, extra) {
|
|
135
200
|
try {
|
|
201
|
+
// Dedupe covers PRESSES only. That is the observed defect (one press
|
|
202
|
+
// reported by both a host wrapper named Button and the instrumented
|
|
203
|
+
// touchable inside it). Scroll has its own throttle, and its key would need
|
|
204
|
+
// to carry the depth — without that, two genuinely different scroll
|
|
205
|
+
// positions inside the window collapse into one. Focus/blur are driven by
|
|
206
|
+
// the OS keyboard and do not repeat spuriously.
|
|
207
|
+
if (kind !== 'tap' && kind !== 'long_press') {
|
|
208
|
+
(0, interactionObserver_1.notifyInteraction)({
|
|
209
|
+
interactionType: kind,
|
|
210
|
+
elementType: kind === 'focus' || kind === 'blur' ? 'text_input' : 'scroll_view',
|
|
211
|
+
label: labelOf(props),
|
|
212
|
+
accessibilityLabel: props.accessibilityLabel,
|
|
213
|
+
testID: props.testID,
|
|
214
|
+
nativeID: props.nativeID,
|
|
215
|
+
accessibilityRole: props.accessibilityRole,
|
|
216
|
+
interactive: true,
|
|
217
|
+
source: 'auto',
|
|
218
|
+
...(extra ?? {}),
|
|
219
|
+
});
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
const key = [
|
|
223
|
+
kind,
|
|
224
|
+
labelOf(props) ?? '',
|
|
225
|
+
props.testID ?? '',
|
|
226
|
+
props.nativeID ?? '',
|
|
227
|
+
].join('\u0000');
|
|
228
|
+
const now = Date.now();
|
|
229
|
+
if (key === lastKey && now - lastAt < DEDUPE_WINDOW_MS)
|
|
230
|
+
return;
|
|
231
|
+
lastKey = key;
|
|
232
|
+
lastAt = now;
|
|
136
233
|
(0, interactionObserver_1.notifyInteraction)({
|
|
137
234
|
interactionType: kind,
|
|
138
|
-
elementType: 'button',
|
|
235
|
+
elementType: 'button', // only presses reach here
|
|
139
236
|
label: labelOf(props),
|
|
140
237
|
accessibilityLabel: props.accessibilityLabel,
|
|
141
238
|
testID: props.testID,
|
|
@@ -144,6 +241,7 @@ function report(props, kind) {
|
|
|
144
241
|
interactive: true,
|
|
145
242
|
// Marks the source so a double, if one ever appears, is attributable.
|
|
146
243
|
source: 'auto',
|
|
244
|
+
...(extra ?? {}),
|
|
147
245
|
});
|
|
148
246
|
}
|
|
149
247
|
catch {
|
|
@@ -171,6 +269,70 @@ function wrapProps(props) {
|
|
|
171
269
|
return out;
|
|
172
270
|
}
|
|
173
271
|
/** Patch one JSX factory module in place, returning an undo. */
|
|
272
|
+
/**
|
|
273
|
+
* Add focus/blur reporting to a text input. Handlers are ADDED when absent —
|
|
274
|
+
* unlike a tap, a field usually has no onFocus of its own, so wrapping only
|
|
275
|
+
* what already exists would capture nothing.
|
|
276
|
+
*/
|
|
277
|
+
function wrapInputProps(props) {
|
|
278
|
+
if (!props)
|
|
279
|
+
return props;
|
|
280
|
+
const out = { ...props };
|
|
281
|
+
const origFocus = props.onFocus;
|
|
282
|
+
out.onFocus = ((...args) => {
|
|
283
|
+
report(props, 'focus');
|
|
284
|
+
return typeof origFocus === 'function' ? origFocus(...args) : undefined;
|
|
285
|
+
});
|
|
286
|
+
const origBlur = props.onBlur;
|
|
287
|
+
out.onBlur = ((...args) => {
|
|
288
|
+
report(props, 'blur');
|
|
289
|
+
return typeof origBlur === 'function' ? origBlur(...args) : undefined;
|
|
290
|
+
});
|
|
291
|
+
return out;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Add scroll reporting. Throttled to SCROLL_NOTIFY_MS the way
|
|
295
|
+
* instrumented/ScrollView is: RN fires onScroll per frame, and one event per
|
|
296
|
+
* frame would swamp the queue and the recording alike.
|
|
297
|
+
*
|
|
298
|
+
* percent_scrolled matches the field name web uses, so a scroll-depth condition
|
|
299
|
+
* written once works on either channel.
|
|
300
|
+
*/
|
|
301
|
+
const SCROLL_NOTIFY_MS = 250;
|
|
302
|
+
const scrollLast = new WeakMap();
|
|
303
|
+
function wrapScrollProps(props) {
|
|
304
|
+
if (!props)
|
|
305
|
+
return props;
|
|
306
|
+
const out = { ...props };
|
|
307
|
+
const orig = props.onScroll;
|
|
308
|
+
const token = props;
|
|
309
|
+
out.onScroll = ((...args) => {
|
|
310
|
+
try {
|
|
311
|
+
const now = Date.now();
|
|
312
|
+
const prev = scrollLast.get(token) ?? 0;
|
|
313
|
+
if (now - prev >= SCROLL_NOTIFY_MS) {
|
|
314
|
+
scrollLast.set(token, now);
|
|
315
|
+
const e = args[0];
|
|
316
|
+
const n = e?.nativeEvent ?? {};
|
|
317
|
+
const horizontal = !!props.horizontal;
|
|
318
|
+
const offset = horizontal ? n.contentOffset?.x : n.contentOffset?.y;
|
|
319
|
+
const content = horizontal ? n.contentSize?.width : n.contentSize?.height;
|
|
320
|
+
const layout = horizontal ? n.layoutMeasurement?.width : n.layoutMeasurement?.height;
|
|
321
|
+
const pct = Math.round(Math.min(100, Math.max(0, (Number(offset ?? 0) / Math.max(1, Number(content ?? 0) - Number(layout ?? 0))) * 100)));
|
|
322
|
+
report(props, horizontal ? 'swipe' : 'scroll', { text: String(pct) });
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
catch {
|
|
326
|
+
/* never break scrolling */
|
|
327
|
+
}
|
|
328
|
+
return typeof orig === 'function' ? orig(...args) : undefined;
|
|
329
|
+
});
|
|
330
|
+
// RN only fires onScroll at this cadence if asked; without it a ScrollView
|
|
331
|
+
// reports once and never again.
|
|
332
|
+
if (out.scrollEventThrottle === undefined)
|
|
333
|
+
out.scrollEventThrottle = 16;
|
|
334
|
+
return out;
|
|
335
|
+
}
|
|
174
336
|
function patchFactory(mod, names) {
|
|
175
337
|
for (const name of names) {
|
|
176
338
|
const original = mod[name];
|
|
@@ -182,6 +344,10 @@ function patchFactory(mod, names) {
|
|
|
182
344
|
// of elements, which are not touchables.
|
|
183
345
|
if (isTouchable(type))
|
|
184
346
|
return orig(type, wrapProps(props), ...rest);
|
|
347
|
+
if (isTextInput(type))
|
|
348
|
+
return orig(type, wrapInputProps(props), ...rest);
|
|
349
|
+
if (isScrollable(type))
|
|
350
|
+
return orig(type, wrapScrollProps(props), ...rest);
|
|
185
351
|
return orig(type, props, ...rest);
|
|
186
352
|
};
|
|
187
353
|
patched.push(() => { mod[name] = original; });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoTapCapture.js","sourceRoot":"","sources":["../../src/core/autoTapCapture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAY,KAAK,kCAAc;AAC/B,+CAMsB;AACtB,6EAAwE;AAExE,iFAAiF;AACpE,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AAKpD,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,OAAO,GAAsB,EAAE,CAAC;AAEpC,2EAA2E;AAC3E,8EAA8E;AAC9E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAU;IAClC,+BAAgB;IAChB,iCAAkB;IAClB,uCAAwB;IACxB,wBAAS;IACT,qBAAM;CACP,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,0BAA0B;IAC1B,WAAW;IACX,QAAQ;IACR,uBAAuB;CACxB,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,IAAuH,CAAC;IAClI,IAAI,CAAC,CAAC,QAAA,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAC,CAAS,6BAA6B;IAC5E,OAAO,CACL,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QACpC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;QAC5C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,SAAS,OAAO,CAAC,KAAY;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"autoTapCapture.js","sourceRoot":"","sources":["../../src/core/autoTapCapture.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED