react-native-ai-devtools 2.21.0 → 2.22.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 (81) hide show
  1. package/build/__tests__/unit/decisionTree.test.d.ts +2 -0
  2. package/build/__tests__/unit/decisionTree.test.d.ts.map +1 -0
  3. package/build/__tests__/unit/decisionTree.test.js +15 -0
  4. package/build/__tests__/unit/decisionTree.test.js.map +1 -0
  5. package/build/__tests__/unit/deviceResolver.test.js +44 -0
  6. package/build/__tests__/unit/deviceResolver.test.js.map +1 -1
  7. package/build/__tests__/unit/jsExecuteSplit.test.d.ts +2 -0
  8. package/build/__tests__/unit/jsExecuteSplit.test.d.ts.map +1 -0
  9. package/build/__tests__/unit/jsExecuteSplit.test.js +26 -0
  10. package/build/__tests__/unit/jsExecuteSplit.test.js.map +1 -0
  11. package/build/__tests__/unit/metroGateReconnect.test.js +71 -2
  12. package/build/__tests__/unit/metroGateReconnect.test.js.map +1 -1
  13. package/build/__tests__/unit/moduleRegistry.test.js +33 -7
  14. package/build/__tests__/unit/moduleRegistry.test.js.map +1 -1
  15. package/build/__tests__/unit/navigateUnmounted.test.d.ts +2 -0
  16. package/build/__tests__/unit/navigateUnmounted.test.d.ts.map +1 -0
  17. package/build/__tests__/unit/navigateUnmounted.test.js +63 -0
  18. package/build/__tests__/unit/navigateUnmounted.test.js.map +1 -0
  19. package/build/__tests__/unit/originFallback.test.d.ts +2 -0
  20. package/build/__tests__/unit/originFallback.test.d.ts.map +1 -0
  21. package/build/__tests__/unit/originFallback.test.js +93 -0
  22. package/build/__tests__/unit/originFallback.test.js.map +1 -0
  23. package/build/__tests__/unit/pressablesPrunedRoute.test.d.ts +2 -0
  24. package/build/__tests__/unit/pressablesPrunedRoute.test.d.ts.map +1 -0
  25. package/build/__tests__/unit/pressablesPrunedRoute.test.js +68 -0
  26. package/build/__tests__/unit/pressablesPrunedRoute.test.js.map +1 -0
  27. package/build/__tests__/unit/reloadAppStateNote.test.d.ts +2 -0
  28. package/build/__tests__/unit/reloadAppStateNote.test.d.ts.map +1 -0
  29. package/build/__tests__/unit/reloadAppStateNote.test.js +65 -0
  30. package/build/__tests__/unit/reloadAppStateNote.test.js.map +1 -0
  31. package/build/__tests__/unit/tapTestIdSettle.test.d.ts +2 -0
  32. package/build/__tests__/unit/tapTestIdSettle.test.d.ts.map +1 -0
  33. package/build/__tests__/unit/tapTestIdSettle.test.js +136 -0
  34. package/build/__tests__/unit/tapTestIdSettle.test.js.map +1 -0
  35. package/build/core/bundle.js +1 -1
  36. package/build/core/bundle.js.map +1 -1
  37. package/build/core/connection.d.ts +9 -1
  38. package/build/core/connection.d.ts.map +1 -1
  39. package/build/core/connection.js +101 -27
  40. package/build/core/connection.js.map +1 -1
  41. package/build/core/debugGlobals.d.ts +1 -0
  42. package/build/core/debugGlobals.d.ts.map +1 -1
  43. package/build/core/debugGlobals.js +5 -31
  44. package/build/core/debugGlobals.js.map +1 -1
  45. package/build/core/deviceResolver.d.ts.map +1 -1
  46. package/build/core/deviceResolver.js +17 -1
  47. package/build/core/deviceResolver.js.map +1 -1
  48. package/build/core/guides.d.ts.map +1 -1
  49. package/build/core/guides.js +5 -0
  50. package/build/core/guides.js.map +1 -1
  51. package/build/core/jsExecute.d.ts.map +1 -1
  52. package/build/core/jsExecute.js +31 -1
  53. package/build/core/jsExecute.js.map +1 -1
  54. package/build/core/moduleRegistry.d.ts.map +1 -1
  55. package/build/core/moduleRegistry.js +19 -6
  56. package/build/core/moduleRegistry.js.map +1 -1
  57. package/build/core/nativeOnlyHints.d.ts +5 -1
  58. package/build/core/nativeOnlyHints.d.ts.map +1 -1
  59. package/build/core/nativeOnlyHints.js +22 -4
  60. package/build/core/nativeOnlyHints.js.map +1 -1
  61. package/build/core/navigate.d.ts +1 -0
  62. package/build/core/navigate.d.ts.map +1 -1
  63. package/build/core/navigate.js +44 -4
  64. package/build/core/navigate.js.map +1 -1
  65. package/build/core/navigation.d.ts.map +1 -1
  66. package/build/core/navigation.js +17 -2
  67. package/build/core/navigation.js.map +1 -1
  68. package/build/core/netInfoPatch.d.ts.map +1 -1
  69. package/build/core/netInfoPatch.js +2 -1
  70. package/build/core/netInfoPatch.js.map +1 -1
  71. package/build/core/pressables.d.ts.map +1 -1
  72. package/build/core/pressables.js +26 -2
  73. package/build/core/pressables.js.map +1 -1
  74. package/build/pro/tap.d.ts +1 -0
  75. package/build/pro/tap.d.ts.map +1 -1
  76. package/build/pro/tap.js +56 -23
  77. package/build/pro/tap.js.map +1 -1
  78. package/build/tools/navigationTools.d.ts.map +1 -1
  79. package/build/tools/navigationTools.js +2 -0
  80. package/build/tools/navigationTools.js.map +1 -1
  81. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { executeInApp } from "./jsExecute.js";
2
2
  import { buildNavHandlesSource, buildRouteTableSource, buildNearestRoutesSource, buildNavigateSource } from "./navigation.js";
3
3
  export const POLL_DELAYS_MS = [150, 350, 600, 900];
4
+ const PARENT_POLL_DELAYS_MS = [150, 350, 600];
4
5
  export function classifyNavigationOutcome(before, after, settled) {
5
6
  if (!settled)
6
7
  return { changed: false, indeterminate: true };
@@ -31,6 +32,36 @@ function readStateExpression() {
31
32
  return JSON.stringify({ current: t.current, currentId: t.currentId, stack: stack, all: t.all });
32
33
  })()`;
33
34
  }
35
+ function performSource(action, to, params) {
36
+ return `(function(){ ${preamble()}
37
+ return JSON.stringify(${buildNavigateSource(action, to, params ?? null)});
38
+ })()`;
39
+ }
40
+ async function readCurrentRoute(device) {
41
+ const read = await executeInApp(readStateExpression(), false, { originatingToolName: "navigate" }, device);
42
+ if (!read.success)
43
+ return null;
44
+ try {
45
+ return JSON.parse(String(read.result)).current;
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
51
+ async function navigateThroughParent(to, params, parents, device) {
52
+ const nested = params ? { screen: to, params } : { screen: to };
53
+ for (const parent of parents) {
54
+ const performed = await executeInApp(performSource("navigate", parent, nested), false, { originatingToolName: "navigate" }, device);
55
+ if (!performed.success)
56
+ continue;
57
+ for (const delay of PARENT_POLL_DELAYS_MS) {
58
+ await new Promise((r) => setTimeout(r, delay));
59
+ if (await readCurrentRoute(device) === to)
60
+ return parent;
61
+ }
62
+ }
63
+ return null;
64
+ }
34
65
  export async function performNavigation(opts) {
35
66
  const { action, to = null, params, device, includeRouteTable } = opts;
36
67
  if (action !== "back" && action !== "reset" && !to && includeRouteTable === true) {
@@ -50,10 +81,7 @@ export async function performNavigation(opts) {
50
81
  }
51
82
  }
52
83
  }
53
- const perform = `(function(){ ${preamble()}
54
- return JSON.stringify(${buildNavigateSource(action, to, params ?? null)});
55
- })()`;
56
- const performed = await executeInApp(perform, false, { originatingToolName: "navigate" }, device);
84
+ const performed = await executeInApp(performSource(action, to, params), false, { originatingToolName: "navigate" }, device);
57
85
  if (!performed.success) {
58
86
  return {
59
87
  success: false, kind: null, action, to,
@@ -73,6 +101,18 @@ export async function performNavigation(opts) {
73
101
  };
74
102
  }
75
103
  const before = head.before ?? null;
104
+ if (!head.ok && action === "navigate" && to && head.parents && head.parents.length > 0) {
105
+ const via = await navigateThroughParent(to, params, head.parents, device);
106
+ if (via) {
107
+ return {
108
+ success: true, kind: head.kind, action, to,
109
+ route: { before, after: to }, changed: true, indeterminate: false, via
110
+ };
111
+ }
112
+ if (before)
113
+ await executeInApp(performSource("navigate", before, undefined), false, { originatingToolName: "navigate" }, device);
114
+ head.error = `${head.error ?? "Navigation failed"} Tried: ${head.parents.join(", ")}${before ? ` (navigated back to ${before})` : ""}.`;
115
+ }
76
116
  if (!head.ok) {
77
117
  const routes = head.routes ?? [];
78
118
  const shown = routes.slice(0, 12);
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../src/core/navigate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../src/core/navigate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/core/navigation.ts"],"names":[],"mappings":"AA0BA,wBAAgB,qBAAqB,IAAI,MAAM,CAqH9C;AAeD,wBAAgB,qBAAqB,IAAI,MAAM,CAsC9C;AAeD,wBAAgB,wBAAwB,IAAI,MAAM,CAwCjD;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAa3E,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACvC,MAAM,CAiFR"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/core/navigation.ts"],"names":[],"mappings":"AA0BA,wBAAgB,qBAAqB,IAAI,MAAM,CAqH9C;AAeD,wBAAgB,qBAAqB,IAAI,MAAM,CAyC9C;AAeD,wBAAgB,wBAAwB,IAAI,MAAM,CAwCjD;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAa3E,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACvC,MAAM,CA6FR"}
@@ -121,7 +121,7 @@ var __eb_nav = (function () {
121
121
  export function buildRouteTableSource() {
122
122
  return `
123
123
  function __eb_routeTable() {
124
- var out = { levels: [], all: [], paths: {}, current: null, currentId: null };
124
+ var out = { levels: [], all: [], paths: {}, mounted: {}, current: null, currentId: null };
125
125
  var reader = __eb_nav && __eb_nav.stateReader;
126
126
  if (!reader || typeof reader.getRootState !== 'function') return out;
127
127
  var root;
@@ -140,7 +140,10 @@ function __eb_routeTable() {
140
140
  }
141
141
  if (st.routes) {
142
142
  for (var j = 0; j < st.routes.length; j++) {
143
- if (st.routes[j] && st.routes[j].state) collect(st.routes[j].state, d + 1, chain.concat([st.routes[j].name]));
143
+ if (st.routes[j] && st.routes[j].state) {
144
+ out.mounted[st.routes[j].name] = 1;
145
+ collect(st.routes[j].state, d + 1, chain.concat([st.routes[j].name]));
146
+ }
144
147
  }
145
148
  }
146
149
  }
@@ -233,10 +236,22 @@ export function buildNavigateSource(action, to, params) {
233
236
  ? 'Did you mean: ' + suggestions.join(', ') + (extra > 0 ? ' (' + extra + ' other routes registered)' : '')
234
237
  : 'Registered: ' + table.all.slice(0, 40).join(', ') + (table.all.length > 40 ? ' (+' + (table.all.length - 40) + ' more)' : '') + '.' +
235
238
  ' Screens of a navigator that has not mounted yet (a tab not visited since launch) are not listed: navigate to its parent route first.';
239
+ // A navigator that has not mounted carries no nested state, so its
240
+ // screens are missing from the table. These routes may hold the destination:
241
+ // nearest name first, then table order.
242
+ var parents = [];
243
+ for (var q = 0; q < table.all.length; q++) {
244
+ var pn = table.all[q];
245
+ if (pn !== before && !table.mounted[pn]) parents.push({ name: pn, d: __eb_editDistance(String(to).toLowerCase(), pn.toLowerCase()), i: q });
246
+ }
247
+ parents.sort(function (x, y) { return x.d - y.d || x.i - y.i; });
248
+ var parentNames = [];
249
+ for (var r = 0; r < parents.length && r < 8; r++) parentNames.push(parents[r].name);
236
250
  return {
237
251
  ok: false,
238
252
  kind: nav.kind,
239
253
  before: before,
254
+ parents: parentNames,
240
255
  error: 'No route named "' + to + '" is registered. ' + hint +
241
256
  ' (React Navigation takes route NAMES, not paths - a path here is silently ignored.)'
242
257
  };
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/core/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAyB1D,MAAM,UAAU,qBAAqB;IACjC,OAAO;EACT,kBAAkB,EAAE;EACpB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHf,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAeD,MAAM,UAAU,qBAAqB;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCV,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAeD,MAAM,UAAU,wBAAwB;IACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCV,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAeD,MAAM,UAAU,mBAAmB,CAC/B,MAAc,EACd,EAAiB,EACjB,MAAsC;IAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO;mBACQ,SAAS;eACb,KAAK;mBACD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwEvB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/core/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAyB1D,MAAM,UAAU,qBAAqB;IACjC,OAAO;EACT,kBAAkB,EAAE;EACpB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHf,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAeD,MAAM,UAAU,qBAAqB;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCV,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAeD,MAAM,UAAU,wBAAwB;IACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCV,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAeD,MAAM,UAAU,mBAAmB,CAC/B,MAAc,EACd,EAAiB,EACjB,MAAsC;IAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO;mBACQ,SAAS;eACb,KAAK;mBACD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoFvB,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"netInfoPatch.d.ts","sourceRoot":"","sources":["../../src/core/netInfoPatch.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,oBAAoB,GAAG,eAAe,GAAG,SAAS,CAAC;AAoB5F,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmDhE;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAqB/D;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAetE"}
1
+ {"version":3,"file":"netInfoPatch.d.ts","sourceRoot":"","sources":["../../src/core/netInfoPatch.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,oBAAoB,GAAG,eAAe,GAAG,SAAS,CAAC;AAoB5F,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAoDhE;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAqB/D;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAetE"}
@@ -19,7 +19,8 @@ ${buildRequireSource()}
19
19
  if (s && s.isConnected === state.isConnected) probeFired = true;
20
20
  });
21
21
 
22
- var DEE = __eb_require('react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js');
22
+ var DEE = null;
23
+ try { DEE = __eb_require('react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js'); } catch (e) {}
23
24
  var emitter = DEE && (DEE.default || DEE);
24
25
  if (emitter && typeof emitter.emit === 'function') {
25
26
  try { emitter.emit('netInfo.networkStatusDidChange', state); } catch (e) {}
@@ -1 +1 @@
1
- {"version":3,"file":"netInfoPatch.js","sourceRoot":"","sources":["../../src/core/netInfoPatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAuBzD,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO;QACjB,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,kFAAkF,CAAC;IAEzF,OAAO;EACT,kBAAkB,EAAE;;;;;;gBAMN,KAAK;;;;;;;;;;;;;;;;;;;QAmBb,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;;;;0EAmBwC,CAAC;AAC3E,CAAC;AASD,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC3C,MAAM,KAAK,GAAqB,CAAC,SAAS,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACnF,IAAI,KAAK,GAAY,GAAG,CAAC;IAGzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM;QACrC,IAAI,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAI,KAAiC,CAAC,OAAO,CAAC;QACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO,KAAuB,CAAC;QACnC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAGD,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC1D,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,SAAS;YACV,OAAO,sFAAsF,CAAC;QAClG,KAAK,oBAAoB;YACrB,OAAO,CACH,wFAAwF;gBACxF,kFAAkF;gBAClF,gCAAgC,CACnC,CAAC;QACN,KAAK,eAAe;YAChB,OAAO,+GAA+G,CAAC;QAC3H;YACI,OAAO,6HAA6H,CAAC;IAC7I,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"netInfoPatch.js","sourceRoot":"","sources":["../../src/core/netInfoPatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAuBzD,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO;QACjB,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,kFAAkF,CAAC;IAEzF,OAAO;EACT,kBAAkB,EAAE;;;;;;gBAMN,KAAK;;;;;;;;;;;;;;;;;;;;QAoBb,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;;;;0EAmBwC,CAAC;AAC3E,CAAC;AASD,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC3C,MAAM,KAAK,GAAqB,CAAC,SAAS,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACnF,IAAI,KAAK,GAAY,GAAG,CAAC;IAGzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM;QACrC,IAAI,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAI,KAAiC,CAAC,OAAO,CAAC;QACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO,KAAuB,CAAC;QACnC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAGD,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC1D,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,SAAS;YACV,OAAO,sFAAsF,CAAC;QAClG,KAAK,oBAAoB;YACrB,OAAO,CACH,wFAAwF;gBACxF,kFAAkF;gBAClF,gCAAgC,CACnC,CAAC;QACN,KAAK,eAAe;YAChB,OAAO,+GAA+G,CAAC;QAC3H;YACI,OAAO,6HAA6H,CAAC;IAC7I,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pressables.d.ts","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0BlD,eAAO,MAAM,wBAAwB,UAAyB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAQ5C,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC5C,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBvE;AAKD,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAY/E;AA8BD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAgwB3B"}
1
+ {"version":3,"file":"pressables.d.ts","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0BlD,eAAO,MAAM,wBAAwB,UAAyB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAQ5C,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC5C,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBvE;AAKD,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAY/E;AA8BD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwxB3B"}
@@ -251,6 +251,22 @@ export async function pressElement(options) {
251
251
 
252
252
  var hostFibers = [];
253
253
  var tapMeta = [];
254
+ // A testID inside a hidden scene: the route that holds it, so a miss can
255
+ // say "navigate there first" instead of looking like a typo.
256
+ var prunedRoute = null;
257
+ function routeHolding(fiber, routeName, d) {
258
+ if (!fiber || d > 400) return null;
259
+ var rp = fiber.memoizedProps;
260
+ if (rp && rp.route && typeof rp.route.name === 'string') routeName = rp.route.name;
261
+ if (rp && (rp.testID === searchTestID || rp.nativeID === searchTestID)) return routeName;
262
+ var rc = fiber.child;
263
+ while (rc) {
264
+ var hit = routeHolding(rc, routeName, d + 1);
265
+ if (hit) return hit;
266
+ rc = rc.sibling;
267
+ }
268
+ return null;
269
+ }
254
270
 
255
271
  // Phase 1: Walk the entire tree, collect all pressable/input elements
256
272
  function walkFiber(fiber, depth, path) {
@@ -258,7 +274,10 @@ export async function pressElement(options) {
258
274
  var name = getComponentName(fiber);
259
275
  var props = fiber.memoizedProps;
260
276
 
261
- if (isScreenHidden(name, props)) return;
277
+ if (isScreenHidden(name, props)) {
278
+ if (searchTestID !== null && prunedRoute === null) prunedRoute = routeHolding(fiber, null, 0);
279
+ return;
280
+ }
262
281
 
263
282
  var isPressable = isPressableProps(props) || isSwitchFiber(fiber, props);
264
283
  var isInput = !isPressable && props && (typeof props.onChangeText === 'function' || typeof props.onFocus === 'function');
@@ -576,6 +595,7 @@ export async function pressElement(options) {
576
595
  // Store host fibers and metadata globally for step 2, dispatch measureInWindow
577
596
  globalThis.__tapHostFibers = hostFibers;
578
597
  globalThis.__tapMeta = tapMeta;
598
+ globalThis.__tapPrunedRoute = prunedRoute;
579
599
  globalThis.__tapMeasurements = new Array(hostFibers.length).fill(null);
580
600
  globalThis.__tapSheetIdx = sheetIdxByHost;
581
601
  globalThis.__tapSheetMeasurements = new Array(sheetFibers.length).fill(null);
@@ -638,6 +658,8 @@ export async function pressElement(options) {
638
658
  var sheetMeasurements = globalThis.__tapSheetMeasurements || [];
639
659
  var viewportM = globalThis.__tapViewport;
640
660
  globalThis.__tapHostFibers = null;
661
+ var prunedRoute = globalThis.__tapPrunedRoute || null;
662
+ globalThis.__tapPrunedRoute = null;
641
663
  globalThis.__tapMeta = null;
642
664
  globalThis.__tapMeasurements = null;
643
665
  globalThis.__tapSheetIdx = null;
@@ -763,10 +785,12 @@ export async function pressElement(options) {
763
785
  existsInTree: true
764
786
  };
765
787
  }
766
- return {
788
+ var notFound = {
767
789
  error: 'No pressable or focusable elements found matching: ' + criteria.join(', ') + '. The element is not present in the React tree on the current screen.',
768
790
  existsInTree: false
769
791
  };
792
+ if (prunedRoute) notFound.prunedRoute = prunedRoute;
793
+ return notFound;
770
794
  }
771
795
 
772
796
  if (targetIndex >= matches.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"pressables.js","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pressables.js","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"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"}
@@ -288,6 +288,7 @@ export declare function findClosestOcrText(ocrResult: OCRResult, query: string):
288
288
  text: string;
289
289
  score: number;
290
290
  } | null;
291
+ export declare const TESTID_SETTLE_MS = 600;
291
292
  export declare function screenLooksUnmounted(evidence: EvidenceSink | undefined): boolean;
292
293
  export declare function isTapTimeout(attempted: readonly {
293
294
  reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
package/build/pro/tap.js CHANGED
@@ -549,6 +549,8 @@ async function tryFiberAtDepth(query, index, maxTraversalDepth, device, longPres
549
549
  if (parsed.matches) {
550
550
  strategyResult.matches = parsed.matches;
551
551
  }
552
+ if (typeof parsed.prunedRoute === "string")
553
+ strategyResult.prunedRoute = parsed.prunedRoute;
552
554
  return strategyResult;
553
555
  }
554
556
  if (parsed.needsNativeTap) {
@@ -941,6 +943,7 @@ async function tryCoordinateStrategy(pixelX, pixelY, platform, lastScreenshot, u
941
943
  const TAP_TIMEOUT_MS = 25000;
942
944
  const MIN_STRATEGY_BUDGET_MS = 500;
943
945
  const EMPTY_SCREEN_SETTLE_MS = 400;
946
+ export const TESTID_SETTLE_MS = 600;
944
947
  export function screenLooksUnmounted(evidence) {
945
948
  if (!evidence)
946
949
  return false;
@@ -1504,6 +1507,32 @@ export async function tap(options) {
1504
1507
  }
1505
1508
  }
1506
1509
  let emptyScreenReplayed = false;
1510
+ let testIdSettled = false;
1511
+ let prunedRoute;
1512
+ const treeStrategies = filteredStrategies.filter((st) => st === "fiber" || st === "accessibility");
1513
+ const treeMisses = new Set();
1514
+ const treeFound = (st, r) => r.success || (st === "fiber" && !!r.convertedTo && !!r.pressed);
1515
+ const replayTreeStrategies = async () => {
1516
+ for (const replayStrat of ["fiber", "accessibility"]) {
1517
+ if (!filteredStrategies.includes(replayStrat))
1518
+ continue;
1519
+ const replayBudget = Math.min(maxStrategyMs(replayStrat, platform), remainingMs());
1520
+ if (replayBudget < MIN_STRATEGY_BUDGET_MS)
1521
+ continue;
1522
+ let replayResult;
1523
+ try {
1524
+ replayResult = replayStrat === "fiber"
1525
+ ? await withTimeout(tryFiberStrategy(query, index, maxTraversalDepth, evidence, deviceName, options.duration !== undefined), replayBudget, `fiber`)
1526
+ : await withCancelableTimeout((signal) => tryAccessibilityStrategy(query, index, platform, targetUdid, evidence, signal, targetSerial, options.duration), replayBudget, `accessibility`);
1527
+ }
1528
+ catch {
1529
+ continue;
1530
+ }
1531
+ if (treeFound(replayStrat, replayResult))
1532
+ return { strat: replayStrat, result: replayResult };
1533
+ }
1534
+ return null;
1535
+ };
1507
1536
  for (let strat of filteredStrategies) {
1508
1537
  const remaining = remainingMs();
1509
1538
  if (remaining < MIN_STRATEGY_BUDGET_MS) {
@@ -1534,30 +1563,10 @@ export async function tap(options) {
1534
1563
  outcome: "not-found"
1535
1564
  });
1536
1565
  await new Promise((r) => setTimeout(r, EMPTY_SCREEN_SETTLE_MS));
1537
- let replayed = null;
1538
- for (const replayStrat of ["fiber", "accessibility"]) {
1539
- if (!filteredStrategies.includes(replayStrat))
1540
- continue;
1541
- const replayBudget = Math.min(maxStrategyMs(replayStrat, platform), remainingMs());
1542
- if (replayBudget < MIN_STRATEGY_BUDGET_MS)
1543
- continue;
1544
- let replayResult;
1545
- try {
1546
- replayResult = replayStrat === "fiber"
1547
- ? await withTimeout(tryFiberStrategy(query, index, maxTraversalDepth, evidence, deviceName, options.duration !== undefined), replayBudget, `fiber`)
1548
- : await withCancelableTimeout((signal) => tryAccessibilityStrategy(query, index, platform, targetUdid, evidence, signal, targetSerial, options.duration), replayBudget, `accessibility`);
1549
- }
1550
- catch {
1551
- continue;
1552
- }
1553
- if (replayResult.success) {
1554
- strat = replayStrat;
1555
- replayed = replayResult;
1556
- break;
1557
- }
1558
- }
1566
+ const replayed = await replayTreeStrategies();
1559
1567
  if (replayed) {
1560
- result = replayed;
1568
+ strat = replayed.strat;
1569
+ result = replayed.result;
1561
1570
  break;
1562
1571
  }
1563
1572
  }
@@ -1583,6 +1592,27 @@ export async function tap(options) {
1583
1592
  attempted.push({ strategy: strat, reason, outcome });
1584
1593
  continue;
1585
1594
  }
1595
+ if (result.prunedRoute)
1596
+ prunedRoute = result.prunedRoute;
1597
+ const cleanMiss = !treeFound(strat, result) && !result.ambiguous && !result.matches &&
1598
+ !STRATEGY_TIMEOUT_RE.test(result.reason || "") && (result.reason || "").indexOf("but none are visible") === -1;
1599
+ if (query.testID && cleanMiss && (strat === "fiber" || strat === "accessibility")) {
1600
+ treeMisses.add(strat);
1601
+ if (!testIdSettled && treeMisses.size === treeStrategies.length) {
1602
+ testIdSettled = true;
1603
+ attempted.push({
1604
+ strategy: "settle",
1605
+ reason: `testID not found by ${treeStrategies.join(" or ")}. Waited ${TESTID_SETTLE_MS}ms for the screen to settle and re-read once.`,
1606
+ outcome: "not-found"
1607
+ });
1608
+ await new Promise((r) => setTimeout(r, TESTID_SETTLE_MS));
1609
+ const replayed = await replayTreeStrategies();
1610
+ if (replayed) {
1611
+ strat = replayed.strat;
1612
+ result = replayed.result;
1613
+ }
1614
+ }
1615
+ }
1586
1616
  if (result.success) {
1587
1617
  let screenshot;
1588
1618
  let verification;
@@ -1871,6 +1901,9 @@ export async function tap(options) {
1871
1901
  const fiberSawInvisible = attempted.some(a => a.strategy === "fiber" && a.outcome === "invisible");
1872
1902
  const allTimedOut = attempted.length > 0 && attempted.every(a => a.outcome === "timeout" || a.outcome === "skipped");
1873
1903
  let suggestion = buildSuggestion(query, strategies, platform);
1904
+ if (prunedRoute && query.testID) {
1905
+ suggestion = `testID "${query.testID}" exists on route "${prunedRoute}", which is not focused. navigate({ to: "${prunedRoute}" }) first. ` + suggestion;
1906
+ }
1874
1907
  if (fiberSawInvisible) {
1875
1908
  suggestion = `Element exists in the React tree but is not on screen. Try scrolling it into view with swipe(), dismiss any overlay covering it, or wait for layout to settle. ` + suggestion;
1876
1909
  }