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.
Files changed (249) hide show
  1. package/README.md +1 -0
  2. package/build/__tests__/unit/actionLog.test.d.ts +2 -0
  3. package/build/__tests__/unit/actionLog.test.d.ts.map +1 -0
  4. package/build/__tests__/unit/actionLog.test.js +116 -0
  5. package/build/__tests__/unit/actionLog.test.js.map +1 -0
  6. package/build/__tests__/unit/actionOutcome.test.d.ts +2 -0
  7. package/build/__tests__/unit/actionOutcome.test.d.ts.map +1 -0
  8. package/build/__tests__/unit/actionOutcome.test.js +166 -0
  9. package/build/__tests__/unit/actionOutcome.test.js.map +1 -0
  10. package/build/__tests__/unit/actionOutcomeCollect.test.d.ts +2 -0
  11. package/build/__tests__/unit/actionOutcomeCollect.test.d.ts.map +1 -0
  12. package/build/__tests__/unit/actionOutcomeCollect.test.js +110 -0
  13. package/build/__tests__/unit/actionOutcomeCollect.test.js.map +1 -0
  14. package/build/__tests__/unit/actionRender.test.d.ts +2 -0
  15. package/build/__tests__/unit/actionRender.test.d.ts.map +1 -0
  16. package/build/__tests__/unit/actionRender.test.js +163 -0
  17. package/build/__tests__/unit/actionRender.test.js.map +1 -0
  18. package/build/__tests__/unit/blankFrame.test.d.ts +2 -0
  19. package/build/__tests__/unit/blankFrame.test.d.ts.map +1 -0
  20. package/build/__tests__/unit/blankFrame.test.js +23 -0
  21. package/build/__tests__/unit/blankFrame.test.js.map +1 -0
  22. package/build/__tests__/unit/chromiumNavigation.test.d.ts +2 -0
  23. package/build/__tests__/unit/chromiumNavigation.test.d.ts.map +1 -0
  24. package/build/__tests__/unit/chromiumNavigation.test.js +36 -0
  25. package/build/__tests__/unit/chromiumNavigation.test.js.map +1 -0
  26. package/build/__tests__/unit/commitRecorder.test.d.ts +2 -0
  27. package/build/__tests__/unit/commitRecorder.test.d.ts.map +1 -0
  28. package/build/__tests__/unit/commitRecorder.test.js +141 -0
  29. package/build/__tests__/unit/commitRecorder.test.js.map +1 -0
  30. package/build/__tests__/unit/commitRecorderInjected.test.d.ts +2 -0
  31. package/build/__tests__/unit/commitRecorderInjected.test.d.ts.map +1 -0
  32. package/build/__tests__/unit/commitRecorderInjected.test.js +195 -0
  33. package/build/__tests__/unit/commitRecorderInjected.test.js.map +1 -0
  34. package/build/__tests__/unit/compactImageSrc.test.d.ts +2 -0
  35. package/build/__tests__/unit/compactImageSrc.test.d.ts.map +1 -0
  36. package/build/__tests__/unit/compactImageSrc.test.js +11 -0
  37. package/build/__tests__/unit/compactImageSrc.test.js.map +1 -0
  38. package/build/__tests__/unit/epochStarts.test.d.ts +2 -0
  39. package/build/__tests__/unit/epochStarts.test.d.ts.map +1 -0
  40. package/build/__tests__/unit/epochStarts.test.js +35 -0
  41. package/build/__tests__/unit/epochStarts.test.js.map +1 -0
  42. package/build/__tests__/unit/launchRecordsDevice.test.d.ts +2 -0
  43. package/build/__tests__/unit/launchRecordsDevice.test.d.ts.map +1 -0
  44. package/build/__tests__/unit/launchRecordsDevice.test.js +37 -0
  45. package/build/__tests__/unit/launchRecordsDevice.test.js.map +1 -0
  46. package/build/__tests__/unit/logOwnership.test.js +6 -6
  47. package/build/__tests__/unit/logOwnership.test.js.map +1 -1
  48. package/build/__tests__/unit/logSourceIos.test.js +2 -2
  49. package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
  50. package/build/__tests__/unit/nativeLogs.test.js +10 -10
  51. package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
  52. package/build/__tests__/unit/networkIdle.test.d.ts +2 -0
  53. package/build/__tests__/unit/networkIdle.test.d.ts.map +1 -0
  54. package/build/__tests__/unit/networkIdle.test.js +65 -0
  55. package/build/__tests__/unit/networkIdle.test.js.map +1 -0
  56. package/build/__tests__/unit/networkNotable.test.d.ts +2 -0
  57. package/build/__tests__/unit/networkNotable.test.d.ts.map +1 -0
  58. package/build/__tests__/unit/networkNotable.test.js +56 -0
  59. package/build/__tests__/unit/networkNotable.test.js.map +1 -0
  60. package/build/__tests__/unit/pressabilityAudit.test.js +16 -1
  61. package/build/__tests__/unit/pressabilityAudit.test.js.map +1 -1
  62. package/build/__tests__/unit/redact.test.js +2 -2
  63. package/build/__tests__/unit/redact.test.js.map +1 -1
  64. package/build/__tests__/unit/scrollClip.test.d.ts +2 -0
  65. package/build/__tests__/unit/scrollClip.test.d.ts.map +1 -0
  66. package/build/__tests__/unit/scrollClip.test.js +45 -0
  67. package/build/__tests__/unit/scrollClip.test.js.map +1 -0
  68. package/build/__tests__/unit/secureValue.test.d.ts +2 -0
  69. package/build/__tests__/unit/secureValue.test.d.ts.map +1 -0
  70. package/build/__tests__/unit/secureValue.test.js +51 -0
  71. package/build/__tests__/unit/secureValue.test.js.map +1 -0
  72. package/build/__tests__/unit/sessionOnce.test.d.ts +2 -0
  73. package/build/__tests__/unit/sessionOnce.test.d.ts.map +1 -0
  74. package/build/__tests__/unit/sessionOnce.test.js +17 -0
  75. package/build/__tests__/unit/sessionOnce.test.js.map +1 -0
  76. package/build/__tests__/unit/swipeProbeWithoutRn.test.js +28 -1
  77. package/build/__tests__/unit/swipeProbeWithoutRn.test.js.map +1 -1
  78. package/build/__tests__/unit/tap.test.js +1 -1
  79. package/build/__tests__/unit/tap.test.js.map +1 -1
  80. package/build/__tests__/unit/tapNativeScreenshot.test.d.ts +2 -0
  81. package/build/__tests__/unit/tapNativeScreenshot.test.d.ts.map +1 -0
  82. package/build/__tests__/unit/tapNativeScreenshot.test.js +99 -0
  83. package/build/__tests__/unit/tapNativeScreenshot.test.js.map +1 -0
  84. package/build/__tests__/unit/textSnapshot.test.d.ts +2 -0
  85. package/build/__tests__/unit/textSnapshot.test.d.ts.map +1 -0
  86. package/build/__tests__/unit/textSnapshot.test.js +49 -0
  87. package/build/__tests__/unit/textSnapshot.test.js.map +1 -0
  88. package/build/__tests__/unit/timeline.test.d.ts +2 -0
  89. package/build/__tests__/unit/timeline.test.d.ts.map +1 -0
  90. package/build/__tests__/unit/timeline.test.js +157 -0
  91. package/build/__tests__/unit/timeline.test.js.map +1 -0
  92. package/build/__tests__/unit/timelineReadBounds.test.d.ts +2 -0
  93. package/build/__tests__/unit/timelineReadBounds.test.d.ts.map +1 -0
  94. package/build/__tests__/unit/timelineReadBounds.test.js +21 -0
  95. package/build/__tests__/unit/timelineReadBounds.test.js.map +1 -0
  96. package/build/__tests__/unit/timelineSources.test.d.ts +2 -0
  97. package/build/__tests__/unit/timelineSources.test.d.ts.map +1 -0
  98. package/build/__tests__/unit/timelineSources.test.js +139 -0
  99. package/build/__tests__/unit/timelineSources.test.js.map +1 -0
  100. package/build/__tests__/unit/timelineTool.test.d.ts +2 -0
  101. package/build/__tests__/unit/timelineTool.test.d.ts.map +1 -0
  102. package/build/__tests__/unit/timelineTool.test.js +65 -0
  103. package/build/__tests__/unit/timelineTool.test.js.map +1 -0
  104. package/build/__tests__/unit/vaultTools.test.js +20 -6
  105. package/build/__tests__/unit/vaultTools.test.js.map +1 -1
  106. package/build/core/actionLog.d.ts +27 -0
  107. package/build/core/actionLog.d.ts.map +1 -0
  108. package/build/core/actionLog.js +144 -0
  109. package/build/core/actionLog.js.map +1 -0
  110. package/build/core/actionOutcome.d.ts +35 -0
  111. package/build/core/actionOutcome.d.ts.map +1 -0
  112. package/build/core/actionOutcome.js +184 -0
  113. package/build/core/actionOutcome.js.map +1 -0
  114. package/build/core/actionOutcomeCollect.d.ts +27 -0
  115. package/build/core/actionOutcomeCollect.d.ts.map +1 -0
  116. package/build/core/actionOutcomeCollect.js +102 -0
  117. package/build/core/actionOutcomeCollect.js.map +1 -0
  118. package/build/core/blankFrame.d.ts +3 -0
  119. package/build/core/blankFrame.d.ts.map +1 -0
  120. package/build/core/blankFrame.js +18 -0
  121. package/build/core/blankFrame.js.map +1 -0
  122. package/build/core/chromiumCapabilities.js +1 -1
  123. package/build/core/chromiumCapabilities.js.map +1 -1
  124. package/build/core/chromiumNavigation.d.ts +10 -0
  125. package/build/core/chromiumNavigation.d.ts.map +1 -0
  126. package/build/core/chromiumNavigation.js +31 -0
  127. package/build/core/chromiumNavigation.js.map +1 -0
  128. package/build/core/chromiumScreen.d.ts.map +1 -1
  129. package/build/core/chromiumScreen.js +6 -8
  130. package/build/core/chromiumScreen.js.map +1 -1
  131. package/build/core/commitRecorder.d.ts +35 -0
  132. package/build/core/commitRecorder.d.ts.map +1 -0
  133. package/build/core/commitRecorder.js +115 -0
  134. package/build/core/commitRecorder.js.map +1 -0
  135. package/build/core/componentSearch.d.ts.map +1 -1
  136. package/build/core/componentSearch.js +6 -1
  137. package/build/core/componentSearch.js.map +1 -1
  138. package/build/core/connection.d.ts.map +1 -1
  139. package/build/core/connection.js +13 -0
  140. package/build/core/connection.js.map +1 -1
  141. package/build/core/guides.d.ts.map +1 -1
  142. package/build/core/guides.js +14 -5
  143. package/build/core/guides.js.map +1 -1
  144. package/build/core/injected/commitRecorder.d.ts +2 -0
  145. package/build/core/injected/commitRecorder.d.ts.map +1 -0
  146. package/build/core/injected/commitRecorder.js +93 -0
  147. package/build/core/injected/commitRecorder.js.map +1 -0
  148. package/build/core/injected/scrollClip.d.ts +12 -0
  149. package/build/core/injected/scrollClip.d.ts.map +1 -0
  150. package/build/core/injected/scrollClip.js +46 -0
  151. package/build/core/injected/scrollClip.js.map +1 -0
  152. package/build/core/injected/secureValue.d.ts +3 -0
  153. package/build/core/injected/secureValue.d.ts.map +1 -0
  154. package/build/core/injected/secureValue.js +22 -0
  155. package/build/core/injected/secureValue.js.map +1 -0
  156. package/build/core/inputTarget.d.ts.map +1 -1
  157. package/build/core/inputTarget.js +3 -1
  158. package/build/core/inputTarget.js.map +1 -1
  159. package/build/core/inspector.d.ts.map +1 -1
  160. package/build/core/inspector.js +7 -2
  161. package/build/core/inspector.js.map +1 -1
  162. package/build/core/network.d.ts +1 -0
  163. package/build/core/network.d.ts.map +1 -1
  164. package/build/core/network.js +4 -1
  165. package/build/core/network.js.map +1 -1
  166. package/build/core/networkIdle.d.ts +21 -0
  167. package/build/core/networkIdle.d.ts.map +1 -0
  168. package/build/core/networkIdle.js +41 -0
  169. package/build/core/networkIdle.js.map +1 -0
  170. package/build/core/networkNotable.d.ts +3 -0
  171. package/build/core/networkNotable.d.ts.map +1 -0
  172. package/build/core/networkNotable.js +111 -0
  173. package/build/core/networkNotable.js.map +1 -0
  174. package/build/core/pressables.d.ts.map +1 -1
  175. package/build/core/pressables.js +7 -5
  176. package/build/core/pressables.js.map +1 -1
  177. package/build/core/register.d.ts.map +1 -1
  178. package/build/core/register.js +2 -0
  179. package/build/core/register.js.map +1 -1
  180. package/build/core/routeHistory.d.ts +3 -2
  181. package/build/core/routeHistory.d.ts.map +1 -1
  182. package/build/core/routeHistory.js +6 -6
  183. package/build/core/routeHistory.js.map +1 -1
  184. package/build/core/screenState.d.ts +5 -1
  185. package/build/core/screenState.d.ts.map +1 -1
  186. package/build/core/screenState.js +98 -19
  187. package/build/core/screenState.js.map +1 -1
  188. package/build/core/sessionOnce.d.ts +3 -0
  189. package/build/core/sessionOnce.d.ts.map +1 -0
  190. package/build/core/sessionOnce.js +11 -0
  191. package/build/core/sessionOnce.js.map +1 -0
  192. package/build/core/state.d.ts +4 -0
  193. package/build/core/state.d.ts.map +1 -1
  194. package/build/core/state.js +11 -0
  195. package/build/core/state.js.map +1 -1
  196. package/build/core/swipeDiagnosis.d.ts.map +1 -1
  197. package/build/core/swipeDiagnosis.js +25 -11
  198. package/build/core/swipeDiagnosis.js.map +1 -1
  199. package/build/core/textSnapshot.d.ts +6 -0
  200. package/build/core/textSnapshot.d.ts.map +1 -0
  201. package/build/core/textSnapshot.js +85 -0
  202. package/build/core/textSnapshot.js.map +1 -0
  203. package/build/core/timeline.d.ts +71 -0
  204. package/build/core/timeline.d.ts.map +1 -0
  205. package/build/core/timeline.js +156 -0
  206. package/build/core/timeline.js.map +1 -0
  207. package/build/core/timelineSources.d.ts +30 -0
  208. package/build/core/timelineSources.d.ts.map +1 -0
  209. package/build/core/timelineSources.js +179 -0
  210. package/build/core/timelineSources.js.map +1 -0
  211. package/build/core/toolHelpers.d.ts +1 -0
  212. package/build/core/toolHelpers.d.ts.map +1 -1
  213. package/build/core/toolHelpers.js +1 -1
  214. package/build/core/toolHelpers.js.map +1 -1
  215. package/build/index.d.ts.map +1 -1
  216. package/build/index.js +2 -0
  217. package/build/index.js.map +1 -1
  218. package/build/pro/actionRender.d.ts +40 -0
  219. package/build/pro/actionRender.d.ts.map +1 -0
  220. package/build/pro/actionRender.js +139 -0
  221. package/build/pro/actionRender.js.map +1 -0
  222. package/build/pro/tap.d.ts.map +1 -1
  223. package/build/pro/tap.js +2 -0
  224. package/build/pro/tap.js.map +1 -1
  225. package/build/tools/componentTools.d.ts.map +1 -1
  226. package/build/tools/componentTools.js +4 -3
  227. package/build/tools/componentTools.js.map +1 -1
  228. package/build/tools/deviceTools.d.ts +1 -0
  229. package/build/tools/deviceTools.d.ts.map +1 -1
  230. package/build/tools/deviceTools.js +18 -3
  231. package/build/tools/deviceTools.js.map +1 -1
  232. package/build/tools/interactionTools.d.ts.map +1 -1
  233. package/build/tools/interactionTools.js +53 -20
  234. package/build/tools/interactionTools.js.map +1 -1
  235. package/build/tools/metaTools.d.ts.map +1 -1
  236. package/build/tools/metaTools.js +15 -1
  237. package/build/tools/metaTools.js.map +1 -1
  238. package/build/tools/networkTools.d.ts.map +1 -1
  239. package/build/tools/networkTools.js +5 -1
  240. package/build/tools/networkTools.js.map +1 -1
  241. package/build/tools/screenshotTools.d.ts.map +1 -1
  242. package/build/tools/screenshotTools.js +58 -32
  243. package/build/tools/screenshotTools.js.map +1 -1
  244. package/build/tools/timelineTools.d.ts +3 -0
  245. package/build/tools/timelineTools.d.ts.map +1 -0
  246. package/build/tools/timelineTools.js +48 -0
  247. package/build/tools/timelineTools.js.map +1 -0
  248. package/package.json +1 -1
  249. 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
- export function formatPressabilityAudit(counts) {
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.${detail}`);
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
- viewportH = rootM.height + (rootM.y > 0 ? rootM.y : 0);
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 tr = withTransform(shiftRect(m0, shiftFor(sheetIdx, i)), meta[i].transform);
1732
- var m = tr.m;
1733
- if (!keepElement(m, tr.unreliable)) {
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 ttr = withTransform(shiftRect(tm0, shiftFor(textSheetIdx, tmi)), textTransforms[tmi]);
1783
- var tm = ttr.m;
1784
- if (!keepElement(tm, ttr.unreliable)) continue;
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 tTr = withTransform(shiftRect(tmA, shiftFor(textSheetIdx, ti)), textTransforms[ti]);
1923
- var tm2 = tTr.m;
1924
- if (!keepElement(tm2, tTr.unreliable)) continue;
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 iTr = withTransform(shiftRect(imA, shiftFor(imageSheetIdx, ii)), imageMeta[ii].transform);
1934
- var im = iTr.m;
1935
- if (!keepElement(im, iTr.unreliable)) continue;
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,3 @@
1
+ export declare function changedSinceLastShown(slot: string, value: string): boolean;
2
+ export declare function resetSessionOnce(): void;
3
+ //# sourceMappingURL=sessionOnce.d.ts.map
@@ -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"}
@@ -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;AAK/D,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAoBpD;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAElC;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"}
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"}
@@ -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();
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
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;AAqBD,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,CAgLtB;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"}
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: 8000, originatingToolName: "swipe" }, device);
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
- await delay(250);
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
- const resolved = await probeExec(resolve, device);
176
- if (!resolved || !resolved.success || !resolved.result)
177
- return { found: false, unavailable: true };
178
- try {
179
- return JSON.parse(resolved.result);
180
- }
181
- catch {
182
- return { found: false };
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":"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"}
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"}