react-native-ai-devtools 2.18.1 → 2.20.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/README.md +1 -0
- package/build/__tests__/unit/actionLog.test.d.ts +2 -0
- package/build/__tests__/unit/actionLog.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionLog.test.js +116 -0
- package/build/__tests__/unit/actionLog.test.js.map +1 -0
- package/build/__tests__/unit/actionOutcome.test.d.ts +2 -0
- package/build/__tests__/unit/actionOutcome.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionOutcome.test.js +166 -0
- package/build/__tests__/unit/actionOutcome.test.js.map +1 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.d.ts +2 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.js +110 -0
- package/build/__tests__/unit/actionOutcomeCollect.test.js.map +1 -0
- package/build/__tests__/unit/actionRender.test.d.ts +2 -0
- package/build/__tests__/unit/actionRender.test.d.ts.map +1 -0
- package/build/__tests__/unit/actionRender.test.js +163 -0
- package/build/__tests__/unit/actionRender.test.js.map +1 -0
- package/build/__tests__/unit/blankFrame.test.d.ts +2 -0
- package/build/__tests__/unit/blankFrame.test.d.ts.map +1 -0
- package/build/__tests__/unit/blankFrame.test.js +23 -0
- package/build/__tests__/unit/blankFrame.test.js.map +1 -0
- package/build/__tests__/unit/chromiumNavigation.test.d.ts +2 -0
- package/build/__tests__/unit/chromiumNavigation.test.d.ts.map +1 -0
- package/build/__tests__/unit/chromiumNavigation.test.js +36 -0
- package/build/__tests__/unit/chromiumNavigation.test.js.map +1 -0
- package/build/__tests__/unit/commitRecorder.test.d.ts +2 -0
- package/build/__tests__/unit/commitRecorder.test.d.ts.map +1 -0
- package/build/__tests__/unit/commitRecorder.test.js +141 -0
- package/build/__tests__/unit/commitRecorder.test.js.map +1 -0
- package/build/__tests__/unit/commitRecorderInjected.test.d.ts +2 -0
- package/build/__tests__/unit/commitRecorderInjected.test.d.ts.map +1 -0
- package/build/__tests__/unit/commitRecorderInjected.test.js +195 -0
- package/build/__tests__/unit/commitRecorderInjected.test.js.map +1 -0
- package/build/__tests__/unit/compactImageSrc.test.d.ts +2 -0
- package/build/__tests__/unit/compactImageSrc.test.d.ts.map +1 -0
- package/build/__tests__/unit/compactImageSrc.test.js +11 -0
- package/build/__tests__/unit/compactImageSrc.test.js.map +1 -0
- package/build/__tests__/unit/epochStarts.test.d.ts +2 -0
- package/build/__tests__/unit/epochStarts.test.d.ts.map +1 -0
- package/build/__tests__/unit/epochStarts.test.js +35 -0
- package/build/__tests__/unit/epochStarts.test.js.map +1 -0
- package/build/__tests__/unit/launchRecordsDevice.test.d.ts +2 -0
- package/build/__tests__/unit/launchRecordsDevice.test.d.ts.map +1 -0
- package/build/__tests__/unit/launchRecordsDevice.test.js +37 -0
- package/build/__tests__/unit/launchRecordsDevice.test.js.map +1 -0
- package/build/__tests__/unit/logOwnership.test.js +6 -6
- package/build/__tests__/unit/logOwnership.test.js.map +1 -1
- package/build/__tests__/unit/logSourceIos.test.js +2 -2
- package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
- package/build/__tests__/unit/nativeLogs.test.js +10 -10
- package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
- package/build/__tests__/unit/networkIdle.test.d.ts +2 -0
- package/build/__tests__/unit/networkIdle.test.d.ts.map +1 -0
- package/build/__tests__/unit/networkIdle.test.js +65 -0
- package/build/__tests__/unit/networkIdle.test.js.map +1 -0
- package/build/__tests__/unit/networkNotable.test.d.ts +2 -0
- package/build/__tests__/unit/networkNotable.test.d.ts.map +1 -0
- package/build/__tests__/unit/networkNotable.test.js +56 -0
- package/build/__tests__/unit/networkNotable.test.js.map +1 -0
- package/build/__tests__/unit/pressabilityAudit.test.js +16 -1
- package/build/__tests__/unit/pressabilityAudit.test.js.map +1 -1
- package/build/__tests__/unit/redact.test.js +2 -2
- package/build/__tests__/unit/redact.test.js.map +1 -1
- package/build/__tests__/unit/scrollClip.test.d.ts +2 -0
- package/build/__tests__/unit/scrollClip.test.d.ts.map +1 -0
- package/build/__tests__/unit/scrollClip.test.js +45 -0
- package/build/__tests__/unit/scrollClip.test.js.map +1 -0
- package/build/__tests__/unit/secureValue.test.d.ts +2 -0
- package/build/__tests__/unit/secureValue.test.d.ts.map +1 -0
- package/build/__tests__/unit/secureValue.test.js +51 -0
- package/build/__tests__/unit/secureValue.test.js.map +1 -0
- package/build/__tests__/unit/sessionOnce.test.d.ts +2 -0
- package/build/__tests__/unit/sessionOnce.test.d.ts.map +1 -0
- package/build/__tests__/unit/sessionOnce.test.js +17 -0
- package/build/__tests__/unit/sessionOnce.test.js.map +1 -0
- package/build/__tests__/unit/swipeProbeWithoutRn.test.js +28 -1
- package/build/__tests__/unit/swipeProbeWithoutRn.test.js.map +1 -1
- package/build/__tests__/unit/tap.test.js +1 -1
- package/build/__tests__/unit/tap.test.js.map +1 -1
- package/build/__tests__/unit/tapNativeScreenshot.test.d.ts +2 -0
- package/build/__tests__/unit/tapNativeScreenshot.test.d.ts.map +1 -0
- package/build/__tests__/unit/tapNativeScreenshot.test.js +99 -0
- package/build/__tests__/unit/tapNativeScreenshot.test.js.map +1 -0
- package/build/__tests__/unit/textSnapshot.test.d.ts +2 -0
- package/build/__tests__/unit/textSnapshot.test.d.ts.map +1 -0
- package/build/__tests__/unit/textSnapshot.test.js +49 -0
- package/build/__tests__/unit/textSnapshot.test.js.map +1 -0
- package/build/__tests__/unit/timeline.test.d.ts +2 -0
- package/build/__tests__/unit/timeline.test.d.ts.map +1 -0
- package/build/__tests__/unit/timeline.test.js +157 -0
- package/build/__tests__/unit/timeline.test.js.map +1 -0
- package/build/__tests__/unit/timelineReadBounds.test.d.ts +2 -0
- package/build/__tests__/unit/timelineReadBounds.test.d.ts.map +1 -0
- package/build/__tests__/unit/timelineReadBounds.test.js +21 -0
- package/build/__tests__/unit/timelineReadBounds.test.js.map +1 -0
- package/build/__tests__/unit/timelineSources.test.d.ts +2 -0
- package/build/__tests__/unit/timelineSources.test.d.ts.map +1 -0
- package/build/__tests__/unit/timelineSources.test.js +139 -0
- package/build/__tests__/unit/timelineSources.test.js.map +1 -0
- package/build/__tests__/unit/timelineTool.test.d.ts +2 -0
- package/build/__tests__/unit/timelineTool.test.d.ts.map +1 -0
- package/build/__tests__/unit/timelineTool.test.js +65 -0
- package/build/__tests__/unit/timelineTool.test.js.map +1 -0
- package/build/__tests__/unit/vaultTools.test.js +20 -6
- package/build/__tests__/unit/vaultTools.test.js.map +1 -1
- package/build/core/actionLog.d.ts +27 -0
- package/build/core/actionLog.d.ts.map +1 -0
- package/build/core/actionLog.js +144 -0
- package/build/core/actionLog.js.map +1 -0
- package/build/core/actionOutcome.d.ts +35 -0
- package/build/core/actionOutcome.d.ts.map +1 -0
- package/build/core/actionOutcome.js +184 -0
- package/build/core/actionOutcome.js.map +1 -0
- package/build/core/actionOutcomeCollect.d.ts +27 -0
- package/build/core/actionOutcomeCollect.d.ts.map +1 -0
- package/build/core/actionOutcomeCollect.js +102 -0
- package/build/core/actionOutcomeCollect.js.map +1 -0
- package/build/core/blankFrame.d.ts +3 -0
- package/build/core/blankFrame.d.ts.map +1 -0
- package/build/core/blankFrame.js +18 -0
- package/build/core/blankFrame.js.map +1 -0
- package/build/core/chromiumCapabilities.js +1 -1
- package/build/core/chromiumCapabilities.js.map +1 -1
- package/build/core/chromiumNavigation.d.ts +10 -0
- package/build/core/chromiumNavigation.d.ts.map +1 -0
- package/build/core/chromiumNavigation.js +31 -0
- package/build/core/chromiumNavigation.js.map +1 -0
- package/build/core/chromiumScreen.d.ts.map +1 -1
- package/build/core/chromiumScreen.js +6 -8
- package/build/core/chromiumScreen.js.map +1 -1
- package/build/core/commitRecorder.d.ts +35 -0
- package/build/core/commitRecorder.d.ts.map +1 -0
- package/build/core/commitRecorder.js +115 -0
- package/build/core/commitRecorder.js.map +1 -0
- package/build/core/componentSearch.d.ts.map +1 -1
- package/build/core/componentSearch.js +6 -1
- package/build/core/componentSearch.js.map +1 -1
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +13 -0
- package/build/core/connection.js.map +1 -1
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +14 -5
- package/build/core/guides.js.map +1 -1
- package/build/core/injected/commitRecorder.d.ts +2 -0
- package/build/core/injected/commitRecorder.d.ts.map +1 -0
- package/build/core/injected/commitRecorder.js +93 -0
- package/build/core/injected/commitRecorder.js.map +1 -0
- package/build/core/injected/scrollClip.d.ts +12 -0
- package/build/core/injected/scrollClip.d.ts.map +1 -0
- package/build/core/injected/scrollClip.js +46 -0
- package/build/core/injected/scrollClip.js.map +1 -0
- package/build/core/injected/secureValue.d.ts +3 -0
- package/build/core/injected/secureValue.d.ts.map +1 -0
- package/build/core/injected/secureValue.js +22 -0
- package/build/core/injected/secureValue.js.map +1 -0
- package/build/core/inputTarget.d.ts.map +1 -1
- package/build/core/inputTarget.js +3 -1
- package/build/core/inputTarget.js.map +1 -1
- package/build/core/inspector.d.ts.map +1 -1
- package/build/core/inspector.js +7 -2
- package/build/core/inspector.js.map +1 -1
- package/build/core/network.d.ts +1 -0
- package/build/core/network.d.ts.map +1 -1
- package/build/core/network.js +4 -1
- package/build/core/network.js.map +1 -1
- package/build/core/networkIdle.d.ts +21 -0
- package/build/core/networkIdle.d.ts.map +1 -0
- package/build/core/networkIdle.js +41 -0
- package/build/core/networkIdle.js.map +1 -0
- package/build/core/networkNotable.d.ts +3 -0
- package/build/core/networkNotable.d.ts.map +1 -0
- package/build/core/networkNotable.js +111 -0
- package/build/core/networkNotable.js.map +1 -0
- package/build/core/pressables.d.ts.map +1 -1
- package/build/core/pressables.js +7 -5
- package/build/core/pressables.js.map +1 -1
- package/build/core/register.d.ts.map +1 -1
- package/build/core/register.js +2 -0
- package/build/core/register.js.map +1 -1
- package/build/core/routeHistory.d.ts +3 -2
- package/build/core/routeHistory.d.ts.map +1 -1
- package/build/core/routeHistory.js +6 -6
- package/build/core/routeHistory.js.map +1 -1
- package/build/core/screenState.d.ts +5 -1
- package/build/core/screenState.d.ts.map +1 -1
- package/build/core/screenState.js +98 -19
- package/build/core/screenState.js.map +1 -1
- package/build/core/sessionOnce.d.ts +3 -0
- package/build/core/sessionOnce.d.ts.map +1 -0
- package/build/core/sessionOnce.js +11 -0
- package/build/core/sessionOnce.js.map +1 -0
- package/build/core/state.d.ts +4 -0
- package/build/core/state.d.ts.map +1 -1
- package/build/core/state.js +11 -0
- package/build/core/state.js.map +1 -1
- package/build/core/swipeDiagnosis.d.ts.map +1 -1
- package/build/core/swipeDiagnosis.js +25 -11
- package/build/core/swipeDiagnosis.js.map +1 -1
- package/build/core/textSnapshot.d.ts +6 -0
- package/build/core/textSnapshot.d.ts.map +1 -0
- package/build/core/textSnapshot.js +85 -0
- package/build/core/textSnapshot.js.map +1 -0
- package/build/core/timeline.d.ts +71 -0
- package/build/core/timeline.d.ts.map +1 -0
- package/build/core/timeline.js +156 -0
- package/build/core/timeline.js.map +1 -0
- package/build/core/timelineSources.d.ts +30 -0
- package/build/core/timelineSources.d.ts.map +1 -0
- package/build/core/timelineSources.js +179 -0
- package/build/core/timelineSources.js.map +1 -0
- package/build/core/toolHelpers.d.ts +1 -0
- package/build/core/toolHelpers.d.ts.map +1 -1
- package/build/core/toolHelpers.js +1 -1
- package/build/core/toolHelpers.js.map +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/pro/actionRender.d.ts +40 -0
- package/build/pro/actionRender.d.ts.map +1 -0
- package/build/pro/actionRender.js +139 -0
- package/build/pro/actionRender.js.map +1 -0
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +2 -0
- package/build/pro/tap.js.map +1 -1
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +4 -3
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/deviceTools.d.ts +1 -0
- package/build/tools/deviceTools.d.ts.map +1 -1
- package/build/tools/deviceTools.js +18 -3
- package/build/tools/deviceTools.js.map +1 -1
- package/build/tools/interactionTools.d.ts.map +1 -1
- package/build/tools/interactionTools.js +53 -20
- package/build/tools/interactionTools.js.map +1 -1
- package/build/tools/metaTools.d.ts.map +1 -1
- package/build/tools/metaTools.js +15 -1
- package/build/tools/metaTools.js.map +1 -1
- package/build/tools/networkTools.d.ts.map +1 -1
- package/build/tools/networkTools.js +5 -1
- package/build/tools/networkTools.js.map +1 -1
- package/build/tools/screenshotTools.d.ts.map +1 -1
- package/build/tools/screenshotTools.js +58 -32
- package/build/tools/screenshotTools.js.map +1 -1
- package/build/tools/timelineTools.d.ts +3 -0
- package/build/tools/timelineTools.d.ts.map +1 -0
- package/build/tools/timelineTools.js +48 -0
- package/build/tools/timelineTools.js.map +1 -0
- package/package.json +1 -1
- package/tools.json +13 -2
|
@@ -6,6 +6,8 @@ import { OVERLAY_ADOPTION_JS } from "./injected/overlayAdoption.js";
|
|
|
6
6
|
import { TRANSFORM_COMPOSE_JS } from "./injected/transformCompose.js";
|
|
7
7
|
import { SHEET_HELPERS_JS } from "./injected/sheetOffset.js";
|
|
8
8
|
import { FIBER_ROOTS_JS } from "./injected/fiberRoots.js";
|
|
9
|
+
import { SECURE_VALUE_JS } from "./injected/secureValue.js";
|
|
10
|
+
import { SCROLL_CLIP_JS } from "./injected/scrollClip.js";
|
|
9
11
|
export function markPressablesCoveredByOverlay(pressables, overlayBounds) {
|
|
10
12
|
for (const p of pressables) {
|
|
11
13
|
const b = p.bounds;
|
|
@@ -46,9 +48,13 @@ export function formatTextEntry(t, convert = identityCoords, opts = {}) {
|
|
|
46
48
|
const body = opts.fullText ? t.text : truncate(t.text, TEXT_DISPLAY_MAX);
|
|
47
49
|
return ` (${center.x}, ${center.y}) 📝 "${body}" frame:(${frame.x},${frame.y} ${frame.width}x${frame.height})${formatTransformTag(t)}`;
|
|
48
50
|
}
|
|
51
|
+
export function compactImageSrc(src) {
|
|
52
|
+
const m = /^data:([^;,]+)[;,]/.exec(src);
|
|
53
|
+
return m ? `data:${m[1]} (inline)` : src;
|
|
54
|
+
}
|
|
49
55
|
export function formatImageEntry(img, convert = identityCoords) {
|
|
50
56
|
const { center, frame } = convert(img);
|
|
51
|
-
const src = img.src ? ` src="${truncate(img.src, IMAGE_SRC_DISPLAY_MAX)}"` : "";
|
|
57
|
+
const src = img.src ? ` src="${truncate(compactImageSrc(img.src), IMAGE_SRC_DISPLAY_MAX)}"` : "";
|
|
52
58
|
const alt = img.alt ? ` alt="${img.alt}"` : "";
|
|
53
59
|
return ` (${center.x}, ${center.y}) 🖼 Image ${frame.width}x${frame.height}${src}${alt} frame:(${frame.x},${frame.y} ${frame.width}x${frame.height})${formatTransformTag(img)}`;
|
|
54
60
|
}
|
|
@@ -269,7 +275,8 @@ export function parseScreenStateResponse(raw) {
|
|
|
269
275
|
notes: r.notes ?? [],
|
|
270
276
|
};
|
|
271
277
|
}
|
|
272
|
-
|
|
278
|
+
const PRUNED_NAMES_MAX = 5;
|
|
279
|
+
export function formatPressabilityAudit(counts, opts = {}) {
|
|
273
280
|
const total = counts.markerTotal ?? 0;
|
|
274
281
|
const hidden = counts.markerHiddenCount ?? 0;
|
|
275
282
|
const unmeasurable = counts.markerUnmeasurableCount ?? 0;
|
|
@@ -295,8 +302,13 @@ export function formatPressabilityAudit(counts) {
|
|
|
295
302
|
`below${hidden > 0 ? `, and ${hidden} more were pruned as hidden` : ""}. An unmeasurable press target is usually one that is mounted but ` +
|
|
296
303
|
`not laid out yet (sheet content mid-animation), so it may appear on a second call — re-read before concluding it is absent.${detail}`);
|
|
297
304
|
}
|
|
305
|
+
if (hidden > PRUNED_NAMES_MAX && !opts.showPruned) {
|
|
306
|
+
return `${hidden} of ${total} press target(s) pruned as hidden (inactive routes stay mounted, normally correct). get_screen_state({ showPruned: true }) names them.`;
|
|
307
|
+
}
|
|
308
|
+
const all = opts.showPruned ? (counts.markerSkipped ?? []).map((s) => `${s.id} (${s.why})`) : samples;
|
|
309
|
+
const named = all.length > 0 ? ` Skipped: ${all.join("; ")}.` : "";
|
|
298
310
|
return (`${hidden} of ${total} press target(s) React Native reports were pruned as hidden and are not listed below. This is normally correct — ` +
|
|
299
|
-
`inactive navigator routes stay mounted — but if something you expected is missing, this names the rule that dropped it.${
|
|
311
|
+
`inactive navigator routes stay mounted — but if something you expected is missing, this names the rule that dropped it.${named}`);
|
|
300
312
|
}
|
|
301
313
|
export async function getScreenState(options = {}) {
|
|
302
314
|
const { device } = options;
|
|
@@ -319,6 +331,8 @@ export async function getScreenState(options = {}) {
|
|
|
319
331
|
|
|
320
332
|
${VISIBILITY_HELPERS_JS}
|
|
321
333
|
${SHEET_HELPERS_JS}
|
|
334
|
+
${SECURE_VALUE_JS}
|
|
335
|
+
${SCROLL_CLIP_JS}
|
|
322
336
|
|
|
323
337
|
function getMeasurable(fiber) {
|
|
324
338
|
var sn = fiber.stateNode;
|
|
@@ -1156,8 +1170,8 @@ export async function getScreenState(options = {}) {
|
|
|
1156
1170
|
if (hostsI.length > 0) {
|
|
1157
1171
|
var pI = fiber.memoizedProps || {};
|
|
1158
1172
|
var textI = collectText(fiber, 0);
|
|
1159
|
-
var valueI = (typeof pI.value === 'string' && pI.value.length > 0) ? pI.value
|
|
1160
|
-
: (typeof pI.defaultValue === 'string' && pI.defaultValue.length > 0) ? pI.defaultValue
|
|
1173
|
+
var valueI = (typeof pI.value === 'string' && pI.value.length > 0) ? maskSecureValue(pI, pI.value, fiber)
|
|
1174
|
+
: (typeof pI.defaultValue === 'string' && pI.defaultValue.length > 0) ? maskSecureValue(pI, pI.defaultValue, fiber)
|
|
1161
1175
|
: null;
|
|
1162
1176
|
var placeholderI = (typeof pI.placeholder === 'string' && pI.placeholder.length > 0) ? pI.placeholder : null;
|
|
1163
1177
|
var testIDI = pI.testID || pI.nativeID || null;
|
|
@@ -1448,6 +1462,38 @@ export async function getScreenState(options = {}) {
|
|
|
1448
1462
|
} catch(e) {}
|
|
1449
1463
|
}
|
|
1450
1464
|
|
|
1465
|
+
// Scroll containers. Each element is clipped by its scroll ancestors, so a row
|
|
1466
|
+
// scrolled under a tab bar, or a chip cut by a horizontal row, is not handed out
|
|
1467
|
+
// as a tappable coordinate. Same resolve-from-the-fiber shape as the sheets above.
|
|
1468
|
+
var clipFibers = [];
|
|
1469
|
+
function clipIndexesFor(fiber) {
|
|
1470
|
+
var anc = scrollAncestorsOf(fiber), out = [];
|
|
1471
|
+
for (var ai = 0; ai < anc.length; ai++) {
|
|
1472
|
+
var ci = clipFibers.indexOf(anc[ai]);
|
|
1473
|
+
if (ci === -1) { clipFibers.push(anc[ai]); ci = clipFibers.length - 1; }
|
|
1474
|
+
out.push(ci);
|
|
1475
|
+
}
|
|
1476
|
+
return out;
|
|
1477
|
+
}
|
|
1478
|
+
function clipIndexesOf(list) {
|
|
1479
|
+
var out = [];
|
|
1480
|
+
for (var li = 0; li < list.length; li++) out.push(clipIndexesFor(list[li]));
|
|
1481
|
+
return out;
|
|
1482
|
+
}
|
|
1483
|
+
globalThis.__screenStateClipIdx = clipIndexesOf(hostFibers);
|
|
1484
|
+
globalThis.__screenStateTextClipIdx = clipIndexesOf(textFibers);
|
|
1485
|
+
globalThis.__screenStateImageClipIdx = clipIndexesOf(imageFibers);
|
|
1486
|
+
globalThis.__screenStateClipMeasurements = new Array(clipFibers.length).fill(null);
|
|
1487
|
+
for (var cfi = 0; cfi < clipFibers.length; cfi++) {
|
|
1488
|
+
try {
|
|
1489
|
+
(function(idx) {
|
|
1490
|
+
getMeasurable(clipFibers[idx]).measureInWindow(function(fx, fy, fw, fh) {
|
|
1491
|
+
globalThis.__screenStateClipMeasurements[idx] = { x: fx, y: fy, width: fw, height: fh };
|
|
1492
|
+
});
|
|
1493
|
+
})(cfi);
|
|
1494
|
+
} catch(e) {}
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1451
1497
|
globalThis.__screenStateFibers = hostFibers;
|
|
1452
1498
|
globalThis.__screenStateMeta = fiberMeta;
|
|
1453
1499
|
globalThis.__screenStateMeasurements = new Array(hostFibers.length).fill(null);
|
|
@@ -1532,6 +1578,15 @@ export async function getScreenState(options = {}) {
|
|
|
1532
1578
|
${OVERLAY_ADOPTION_JS}
|
|
1533
1579
|
(function() {
|
|
1534
1580
|
${SHEET_HELPERS_JS}
|
|
1581
|
+
${SCROLL_CLIP_JS}
|
|
1582
|
+
var clipMeasurements = globalThis.__screenStateClipMeasurements || [];
|
|
1583
|
+
var clipIdx = globalThis.__screenStateClipIdx || [];
|
|
1584
|
+
var textClipIdx = globalThis.__screenStateTextClipIdx || [];
|
|
1585
|
+
var imageClipIdx = globalThis.__screenStateImageClipIdx || [];
|
|
1586
|
+
globalThis.__screenStateClipMeasurements = null;
|
|
1587
|
+
globalThis.__screenStateClipIdx = null;
|
|
1588
|
+
globalThis.__screenStateTextClipIdx = null;
|
|
1589
|
+
globalThis.__screenStateImageClipIdx = null;
|
|
1535
1590
|
var hostFibers = globalThis.__screenStateFibers;
|
|
1536
1591
|
var meta = globalThis.__screenStateMeta;
|
|
1537
1592
|
var measurements = globalThis.__screenStateMeasurements;
|
|
@@ -1583,7 +1638,10 @@ ${OVERLAY_ADOPTION_JS}
|
|
|
1583
1638
|
var rootM = (rootIdx != null && rootIdx >= 0) ? measurements[rootIdx] : null;
|
|
1584
1639
|
if (rootM && rootM.width > 0 && rootM.height > 0) {
|
|
1585
1640
|
viewportW = rootM.width;
|
|
1586
|
-
|
|
1641
|
+
// The root's own bottom edge. On Android the window starts below the status bar,
|
|
1642
|
+
// so the root measures at a NEGATIVE y and its bottom is y + height; dropping the
|
|
1643
|
+
// negative y put the edge 54pt too low on a Pixel 9 (scrollClip.ts).
|
|
1644
|
+
viewportH = viewportBottom(rootM);
|
|
1587
1645
|
}
|
|
1588
1646
|
|
|
1589
1647
|
// Sheet correction. UIKit presents a modal screen inset from the top of the
|
|
@@ -1720,6 +1778,22 @@ ${OVERLAY_ADOPTION_JS}
|
|
|
1720
1778
|
return unreliable || !offViewport(m);
|
|
1721
1779
|
}
|
|
1722
1780
|
|
|
1781
|
+
/**
|
|
1782
|
+
* The on-screen part of an element, or null. Clipped by its scroll containers (shifted
|
|
1783
|
+
* by the same sheet correction as the element), so the centre handed out is one a tap
|
|
1784
|
+
* can reach. A pre-transform frame is not clipped: it is not where the element is.
|
|
1785
|
+
*/
|
|
1786
|
+
function visiblePart(m, unreliable, clipList, dy, raw) {
|
|
1787
|
+
if (!keepElement(m, unreliable)) return null;
|
|
1788
|
+
if (unreliable || !clipList || clipList.length === 0) return m;
|
|
1789
|
+
var clips = [];
|
|
1790
|
+
for (var cli = 0; cli < clipList.length; cli++) {
|
|
1791
|
+
var cm = clipMeasurements[clipList[cli]];
|
|
1792
|
+
clips.push(cm ? shiftRect(cm, dy) : null);
|
|
1793
|
+
}
|
|
1794
|
+
return clipUnlessMoved(m, raw || m, clips);
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1723
1797
|
// Build pressable list
|
|
1724
1798
|
var droppedByGeometry = 0;
|
|
1725
1799
|
var droppedIds = [];
|
|
@@ -1728,9 +1802,11 @@ ${OVERLAY_ADOPTION_JS}
|
|
|
1728
1802
|
if (i === rootIdx) continue;
|
|
1729
1803
|
var m0 = measurements[i];
|
|
1730
1804
|
if (!m0) { unmeasuredCount++; continue; }
|
|
1731
|
-
var
|
|
1732
|
-
var
|
|
1733
|
-
|
|
1805
|
+
var raw0 = shiftRect(m0, shiftFor(sheetIdx, i));
|
|
1806
|
+
var tr = withTransform(raw0, meta[i].transform);
|
|
1807
|
+
var vis = visiblePart(tr.m, tr.unreliable, clipIdx[i], shiftFor(sheetIdx, i), raw0);
|
|
1808
|
+
var m = vis || tr.m;
|
|
1809
|
+
if (!vis) {
|
|
1734
1810
|
// Dropped for geometry: zero-sized, or measured outside the viewport. Both are
|
|
1735
1811
|
// usually right, and both were silent — which is why a sheet whose content
|
|
1736
1812
|
// measures at zero size looked exactly like a sheet with no buttons in it.
|
|
@@ -1779,9 +1855,10 @@ ${OVERLAY_ADOPTION_JS}
|
|
|
1779
1855
|
var tm0 = textMeasurements[tmi];
|
|
1780
1856
|
var tc = textContents[tmi];
|
|
1781
1857
|
if (!tm0 || !tc) continue;
|
|
1782
|
-
var
|
|
1783
|
-
var
|
|
1784
|
-
|
|
1858
|
+
var traw = shiftRect(tm0, shiftFor(textSheetIdx, tmi));
|
|
1859
|
+
var ttr = withTransform(traw, textTransforms[tmi]);
|
|
1860
|
+
var tm = visiblePart(ttr.m, ttr.unreliable, textClipIdx[tmi], shiftFor(textSheetIdx, tmi), traw);
|
|
1861
|
+
if (!tm) continue;
|
|
1785
1862
|
textBoxes.push({ text: tc, x: tm.x, y: tm.y, width: tm.width, height: tm.height, cx: tm.x + tm.width / 2, cy: tm.y + tm.height / 2 });
|
|
1786
1863
|
}
|
|
1787
1864
|
for (var ni = 0; ni < allPressables.length; ni++) {
|
|
@@ -1919,9 +1996,10 @@ ${OVERLAY_ADOPTION_JS}
|
|
|
1919
1996
|
for (var ti = 0; ti < textContents.length; ti++) {
|
|
1920
1997
|
var tmA = textMeasurements[ti];
|
|
1921
1998
|
if (!tmA) { unmeasuredCount++; continue; }
|
|
1922
|
-
var
|
|
1923
|
-
var
|
|
1924
|
-
|
|
1999
|
+
var tRaw = shiftRect(tmA, shiftFor(textSheetIdx, ti));
|
|
2000
|
+
var tTr = withTransform(tRaw, textTransforms[ti]);
|
|
2001
|
+
var tm2 = visiblePart(tTr.m, tTr.unreliable, textClipIdx[ti], shiftFor(textSheetIdx, ti), tRaw);
|
|
2002
|
+
if (!tm2) continue;
|
|
1925
2003
|
pushClassified({ text: textContents[ti],
|
|
1926
2004
|
transformNote: tTr.note,
|
|
1927
2005
|
center: { x: Math.round(tm2.x + tm2.width/2), y: Math.round(tm2.y + tm2.height/2) },
|
|
@@ -1930,9 +2008,10 @@ ${OVERLAY_ADOPTION_JS}
|
|
|
1930
2008
|
for (var ii = 0; ii < imageMeta.length; ii++) {
|
|
1931
2009
|
var imA = imageMeasurements[ii];
|
|
1932
2010
|
if (!imA) { unmeasuredCount++; continue; }
|
|
1933
|
-
var
|
|
1934
|
-
var
|
|
1935
|
-
|
|
2011
|
+
var iRaw = shiftRect(imA, shiftFor(imageSheetIdx, ii));
|
|
2012
|
+
var iTr = withTransform(iRaw, imageMeta[ii].transform);
|
|
2013
|
+
var im = visiblePart(iTr.m, iTr.unreliable, imageClipIdx[ii], shiftFor(imageSheetIdx, ii), iRaw);
|
|
2014
|
+
if (!im) continue;
|
|
1936
2015
|
pushClassified({ src: imageMeta[ii].src, alt: imageMeta[ii].alt,
|
|
1937
2016
|
transformNote: iTr.note,
|
|
1938
2017
|
center: { x: Math.round(im.x + im.width/2), y: Math.round(im.y + im.height/2) },
|
|
@@ -2023,7 +2102,7 @@ ${OVERLAY_ADOPTION_JS}
|
|
|
2023
2102
|
completenessNotes.push(`${counts.unmeasuredCount} element(s) did not return a measurement within ${measureBudgetMs}ms and are NOT listed below. ` +
|
|
2024
2103
|
`This is a timing miss, not an empty screen — call get_screen_state again, or take a screenshot, before concluding anything is absent.`);
|
|
2025
2104
|
}
|
|
2026
|
-
const markerNote = formatPressabilityAudit(counts);
|
|
2105
|
+
const markerNote = formatPressabilityAudit(counts, { showPruned: options.showPruned });
|
|
2027
2106
|
if (markerNote)
|
|
2028
2107
|
completenessNotes.push(markerNote);
|
|
2029
2108
|
if ((counts.transformedCount ?? 0) > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenState.js","sourceRoot":"","sources":["../../src/core/screenState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenState.js","sourceRoot":"","sources":["../../src/core/screenState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionOnce.d.ts","sourceRoot":"","sources":["../../src/core/sessionOnce.ts"],"names":[],"mappings":"AAOA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAI1E;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const shown = new Map();
|
|
2
|
+
export function changedSinceLastShown(slot, value) {
|
|
3
|
+
if (shown.get(slot) === value)
|
|
4
|
+
return false;
|
|
5
|
+
shown.set(slot, value);
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
export function resetSessionOnce() {
|
|
9
|
+
shown.clear();
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=sessionOnce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionOnce.js","sourceRoot":"","sources":["../../src/core/sessionOnce.ts"],"names":[],"mappings":"AAKA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExC,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,KAAa;IAC7D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC5C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
|
package/build/core/state.d.ts
CHANGED
|
@@ -4,6 +4,10 @@ import { NetworkBuffer } from "./network.js";
|
|
|
4
4
|
import { ImageBuffer } from "./imageBuffer.js";
|
|
5
5
|
export declare const logBuffers: Map<string, LogBuffer>;
|
|
6
6
|
export declare const networkBuffers: Map<string, NetworkBuffer>;
|
|
7
|
+
export declare function epochStarts(deviceName: string): Array<{
|
|
8
|
+
epoch: number;
|
|
9
|
+
at: number;
|
|
10
|
+
}>;
|
|
7
11
|
export declare function getEpoch(deviceName: string): number;
|
|
8
12
|
export declare function bumpEpoch(deviceName: string): number;
|
|
9
13
|
export declare function resetEpochs(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,eAAO,MAAM,UAAU,wBAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,4BAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,eAAO,MAAM,UAAU,wBAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,4BAAmC,CAAC;AAU/D,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAEpF;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBpD;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAiBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAS3F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAU1D;AAGD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAO1D;AAGD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAOlE;AAGD,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAWrE;AAGD,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAKD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,WAAW,aAAsB,CAAC;AAG/C,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAa,CAAC;AAOlE,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AAEvD,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAGtD;AAGD,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAa,CAAC;AAwB1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAGvE;AAED,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjF;AAKD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAOD,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAGvF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKjE;AAQD,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAYlE;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAEzE;AAKD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5D;AAKD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
package/build/core/state.js
CHANGED
|
@@ -6,18 +6,29 @@ import { clearHandlesForDevice } from "./promiseHandles.js";
|
|
|
6
6
|
export const logBuffers = new Map();
|
|
7
7
|
export const networkBuffers = new Map();
|
|
8
8
|
const _sessionEpochs = new Map();
|
|
9
|
+
const EPOCH_STARTS_CAP = 50;
|
|
10
|
+
const _epochStarts = new Map();
|
|
11
|
+
export function epochStarts(deviceName) {
|
|
12
|
+
return _epochStarts.get(deviceName) ?? [];
|
|
13
|
+
}
|
|
9
14
|
export function getEpoch(deviceName) {
|
|
10
15
|
return _sessionEpochs.get(deviceName) ?? 1;
|
|
11
16
|
}
|
|
12
17
|
export function bumpEpoch(deviceName) {
|
|
13
18
|
const next = getEpoch(deviceName) + 1;
|
|
14
19
|
_sessionEpochs.set(deviceName, next);
|
|
20
|
+
const starts = _epochStarts.get(deviceName) ?? [];
|
|
21
|
+
starts.push({ epoch: next, at: Date.now() });
|
|
22
|
+
if (starts.length > EPOCH_STARTS_CAP)
|
|
23
|
+
starts.shift();
|
|
24
|
+
_epochStarts.set(deviceName, starts);
|
|
15
25
|
clearHandlesForDevice(deviceName);
|
|
16
26
|
bootstrappedApps.clear();
|
|
17
27
|
return next;
|
|
18
28
|
}
|
|
19
29
|
export function resetEpochs() {
|
|
20
30
|
_sessionEpochs.clear();
|
|
31
|
+
_epochStarts.clear();
|
|
21
32
|
}
|
|
22
33
|
export function matchDeviceName(device, names) {
|
|
23
34
|
const needle = device.toLowerCase();
|
package/build/core/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;AAG/D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swipeDiagnosis.d.ts","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAWnF,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,OAAO,CAAC;IAMf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"swipeDiagnosis.d.ts","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAWnF,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,OAAO,CAAC;IAMf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AA0BD,wBAAsB,aAAa,CAC/B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,GACjC,OAAO,CAAC,WAAW,CAAC,CA4LtB;AAYD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,OAAO,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CAgCR"}
|
|
@@ -4,12 +4,14 @@ import { SHEET_HELPERS_JS } from "./injected/sheetOffset.js";
|
|
|
4
4
|
import { FIBER_ROOTS_JS } from "./injected/fiberRoots.js";
|
|
5
5
|
async function probeExec(expression, device) {
|
|
6
6
|
try {
|
|
7
|
-
return await executeInApp(expression, false, { timeoutMs:
|
|
7
|
+
return await executeInApp(expression, false, { timeoutMs: 3000, maxRetries: 0, autoReconnect: false, originatingToolName: "swipe" }, device);
|
|
8
8
|
}
|
|
9
9
|
catch {
|
|
10
10
|
return null;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
+
const PROBE_POLL_MS = 40;
|
|
14
|
+
const PROBE_MAX_WAIT_MS = 250;
|
|
13
15
|
export async function probeScrollAt(x, y, device, screenSpace) {
|
|
14
16
|
const dispatch = `
|
|
15
17
|
(function() {
|
|
@@ -128,14 +130,19 @@ export async function probeScrollAt(x, y, device, screenSpace) {
|
|
|
128
130
|
return { found: false, unavailable: true };
|
|
129
131
|
if (!dispatched.success)
|
|
130
132
|
return { found: false, unavailable: true };
|
|
131
|
-
|
|
132
|
-
const resolve = `
|
|
133
|
+
const resolve = (final) => `
|
|
133
134
|
(function() {
|
|
134
135
|
${SCREEN_SPACE_HELPER_JS}
|
|
135
136
|
${SHEET_HELPERS_JS}
|
|
136
137
|
var SCREEN_SPACE = ${JSON.stringify(screenSpace ?? { platform: "ios", topInset: 0 })};
|
|
137
138
|
var probes = globalThis.__swipeProbe || [];
|
|
138
139
|
var viewport = globalThis.__swipeProbeViewport;
|
|
140
|
+
// Not every measureInWindow callback is back yet: ask again rather than read half.
|
|
141
|
+
if (!${final}) {
|
|
142
|
+
for (var r = 0; r < probes.length; r++) {
|
|
143
|
+
if (!probes[r].layout || !probes[r].content) return JSON.stringify({ notReady: true });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
139
146
|
globalThis.__swipeProbe = null;
|
|
140
147
|
globalThis.__swipeProbeViewport = null;
|
|
141
148
|
|
|
@@ -172,14 +179,21 @@ export async function probeScrollAt(x, y, device, screenSpace) {
|
|
|
172
179
|
component: best.name
|
|
173
180
|
});
|
|
174
181
|
})()`;
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
182
|
+
for (let waited = 0;;) {
|
|
183
|
+
await delay(PROBE_POLL_MS);
|
|
184
|
+
waited += PROBE_POLL_MS;
|
|
185
|
+
const resolved = await probeExec(resolve(waited >= PROBE_MAX_WAIT_MS), device);
|
|
186
|
+
if (!resolved || !resolved.success || !resolved.result)
|
|
187
|
+
return { found: false, unavailable: true };
|
|
188
|
+
let parsed;
|
|
189
|
+
try {
|
|
190
|
+
parsed = JSON.parse(resolved.result);
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return { found: false };
|
|
194
|
+
}
|
|
195
|
+
if (!parsed.notReady)
|
|
196
|
+
return parsed;
|
|
183
197
|
}
|
|
184
198
|
}
|
|
185
199
|
const EDGE_TOLERANCE_PX = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swipeDiagnosis.js","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAA2B,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA8B1D,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,MAAe;IACxD,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"swipeDiagnosis.js","sourceRoot":"","sources":["../../src/core/swipeDiagnosis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type OutcomeSnapshot } from "./actionOutcome.js";
|
|
2
|
+
export declare function walkTextSnapshot(root: any): string[];
|
|
3
|
+
export declare const TEXT_SNAPSHOT_HELPERS_JS: string;
|
|
4
|
+
export declare function buildTextSnapshotExpression(): string;
|
|
5
|
+
export declare function readTextSnapshot(device: string): Promise<OutcomeSnapshot>;
|
|
6
|
+
//# sourceMappingURL=textSnapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textSnapshot.d.ts","sourceRoot":"","sources":["../../src/core/textSnapshot.ts"],"names":[],"mappings":"AAYA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAW7E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,CAiDpD;AAED,eAAO,MAAM,wBAAwB,QAAiD,CAAC;AAEvF,wBAAgB,2BAA2B,IAAI,MAAM,CAapD;AAGD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAO/E"}
|