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
@@ -9,7 +9,7 @@ import { serializeRules } from "./mockRules.js";
9
9
  import { findSimulatorByName } from "./ios.js";
10
10
  import { captureStack } from "./logStack.js";
11
11
  import { resolveAdbSerialForDeviceName } from "./android.js";
12
- import { fetchDevices, selectMainDevice, scanMetroPorts, isChromiumTarget, pickReconnectTarget, pinChromiumName } from "./metro.js";
12
+ import { fetchDevices, filterDebuggableDevices, selectMainDevice, scanMetroPorts, isChromiumTarget, pickReconnectTarget, pinChromiumName } from "./metro.js";
13
13
  import { probeCdpAlive } from "./probe.js";
14
14
  import { UserInputError } from "./errors.js";
15
15
  import { scheduleAppDetection } from "./appDetection.js";
@@ -132,57 +132,81 @@ const PING_INTERVAL_MS = 5_000;
132
132
  const CDP_QUIET_WINDOW_MS = PING_INTERVAL_MS * 2;
133
133
  const PROBE_TIMEOUT_MS = 1500;
134
134
  const RECONNECT_SETTLE_MS = 500;
135
+ const LOOPBACK_HOSTS = new Set(["localhost", "127.0.0.1", "[::1]", "::1", "0.0.0.0"]);
136
+ export function isLoopbackHost(hostname) {
137
+ return LOOPBACK_HOSTS.has(hostname.toLowerCase());
138
+ }
139
+ export function originCandidates(url) {
140
+ const { hostname, port } = new URL(url);
141
+ const derived = `http://${hostname}:${port}`;
142
+ if (!isLoopbackHost(hostname))
143
+ return [derived, undefined];
144
+ const loopback = `http://127.0.0.1:${port}`;
145
+ return derived === loopback ? [loopback, undefined] : [loopback, derived, undefined];
146
+ }
135
147
  export function createWebSocketWithOriginFallback(url, timeoutMs = 5000) {
136
148
  const STABILIZE_MS = 500;
149
+ const candidates = originCandidates(url);
137
150
  return new Promise((resolve, reject) => {
138
- const wsUrl = new URL(url);
139
- const origin = `http://${wsUrl.hostname}:${wsUrl.port}`;
140
151
  let settled = false;
141
- const tryConnect = (withOrigin) => {
142
- const options = withOrigin ? { headers: { Origin: origin } } : undefined;
152
+ const failures = [];
153
+ const tryConnect = (index) => {
154
+ const origin = candidates[index];
155
+ const label = origin ? `Origin ${origin}` : "no Origin";
156
+ const options = origin ? { headers: { Origin: origin } } : undefined;
143
157
  const ws = new WebSocket(url, options);
144
158
  let opened = false;
159
+ let lastError;
145
160
  ws.on("open", () => {
146
161
  opened = true;
147
- if (withOrigin) {
148
- setTimeout(() => {
149
- if (settled)
150
- return;
151
- if (ws.readyState === WebSocket.OPEN) {
152
- settled = true;
153
- console.error("[execbro] WebSocket connected with Origin header");
154
- resolve(ws);
155
- }
156
- }, STABILIZE_MS);
157
- }
158
- else {
162
+ if (!origin) {
159
163
  if (settled)
160
164
  return;
161
165
  settled = true;
166
+ clearTimeout(timer);
162
167
  console.error("[execbro] WebSocket connected without Origin header");
163
168
  resolve(ws);
169
+ return;
164
170
  }
171
+ setTimeout(() => {
172
+ if (settled)
173
+ return;
174
+ if (ws.readyState === WebSocket.OPEN) {
175
+ settled = true;
176
+ clearTimeout(timer);
177
+ console.error(`[execbro] WebSocket connected with ${label}`);
178
+ resolve(ws);
179
+ }
180
+ }, STABILIZE_MS);
165
181
  });
166
182
  const handleFailure = (error) => {
167
183
  if (settled)
168
184
  return;
169
185
  ws.removeAllListeners();
186
+ ws.on("error", () => { });
170
187
  ws.terminate();
171
- if (withOrigin) {
172
- const reason = opened ? "immediately closed after open" : "rejected before open";
173
- console.error(`[execbro] Origin header connection ${reason}, retrying without...`);
174
- tryConnect(false);
188
+ const err = error ?? lastError;
189
+ failures.push(`${label}: ${err ? err.message : opened ? "closed immediately after open" : "closed before open"}`);
190
+ if (index + 1 < candidates.length) {
191
+ console.error(`[execbro] ${failures[failures.length - 1]}, retrying...`);
192
+ tryConnect(index + 1);
175
193
  }
176
194
  else {
177
195
  settled = true;
178
- reject(error || new Error("WebSocket connection failed"));
196
+ clearTimeout(timer);
197
+ const last = err ? err.message : "WebSocket connection failed";
198
+ const earlier = failures.slice(0, -1);
199
+ reject(new Error(earlier.length ? `${last} (earlier attempts: ${earlier.join("; ")})` : last));
179
200
  }
180
201
  };
181
- ws.on("error", (err) => handleFailure(err));
202
+ ws.on("error", (err) => {
203
+ lastError = err;
204
+ handleFailure(err);
205
+ });
182
206
  ws.on("close", () => handleFailure());
183
207
  };
184
- tryConnect(true);
185
- setTimeout(() => {
208
+ tryConnect(0);
209
+ const timer = setTimeout(() => {
186
210
  if (!settled) {
187
211
  settled = true;
188
212
  reject(new Error("WebSocket connection timed out"));
@@ -190,10 +214,19 @@ export function createWebSocketWithOriginFallback(url, timeoutMs = 5000) {
190
214
  }, timeoutMs);
191
215
  });
192
216
  }
193
- export function describeConnectionFailure(errorMsg) {
217
+ export function describeConnectionFailure(errorMsg, url) {
194
218
  const status = /(?:Unexpected server response|HTTP)[:\s]+(401|403)\b/i.exec(errorMsg)?.[1];
195
219
  if (!status)
196
220
  return errorMsg;
221
+ let local = false;
222
+ try {
223
+ local = !!url && isLoopbackHost(new URL(url).hostname);
224
+ }
225
+ catch {
226
+ }
227
+ if (local) {
228
+ return `Metro on ${url} rejected the inspector WebSocket with HTTP ${status}. This Metro is local, so a proxy is unlikely: its Origin check refused every Origin execbro tried (the attempts are listed in the original error). Check that no other debugger or proxy owns the port, and report the attempts. Original error: ${errorMsg}`;
229
+ }
197
230
  return `Metro rejected the inspector WebSocket with HTTP ${status} (authentication required). Metro is behind an authenticating proxy or tunnel, typically a corporate HTTP proxy or an Expo tunnel that requires a login. Connect to Metro directly instead of through it (run Metro locally and target localhost:<port>, or use "adb reverse tcp:8081 tcp:8081" for Android), or exclude the Metro port from the proxy (check HTTP_PROXY / HTTPS_PROXY / NO_PROXY). Original error: ${errorMsg}`;
198
231
  }
199
232
  function findAppKeyForDevice(device) {
@@ -1037,7 +1070,7 @@ export async function connectToDevice(device, port, options = {}) {
1037
1070
  clearActiveSimulatorIfSource(appKey);
1038
1071
  const errorMsg = error instanceof Error ? error.message : String(error);
1039
1072
  if (!isReconnection) {
1040
- reject(`Failed to connect to ${device.title}: ${describeConnectionFailure(errorMsg)}`);
1073
+ reject(`Failed to connect to ${device.title}: ${describeConnectionFailure(errorMsg, device.webSocketDebuggerUrl)}`);
1041
1074
  }
1042
1075
  else {
1043
1076
  console.error(`[execbro] Reconnection error: ${errorMsg}`);
@@ -1781,4 +1814,45 @@ export async function checkAndEnsureConnection(device) {
1781
1814
  message: "[CONNECTION] No active connection. Could not reconnect. Ensure Metro and the app are running, then call scan_metro.",
1782
1815
  };
1783
1816
  }
1817
+ export async function autoConnectSweep(ports) {
1818
+ clearReconnectionSuppression();
1819
+ const portDevices = new Map();
1820
+ for (const port of ports) {
1821
+ const devices = await fetchDevices(port);
1822
+ const debuggable = filterDebuggableDevices(devices);
1823
+ if (debuggable.length > 0) {
1824
+ portDevices.set(port, debuggable);
1825
+ }
1826
+ }
1827
+ purgeStaleConnectionsForPorts(portDevices);
1828
+ if (portDevices.size === 0) {
1829
+ return [`Metro is running on port(s) ${ports.join(", ")} but reports no debuggable targets (is the app running and in the foreground?)`];
1830
+ }
1831
+ const failures = [];
1832
+ for (const [port, devices] of portDevices) {
1833
+ for (const dev of devices) {
1834
+ try {
1835
+ await connectToDevice(dev, port);
1836
+ }
1837
+ catch (error) {
1838
+ const reason = error instanceof Error ? error.message : String(error);
1839
+ console.error(`[execbro] Auto-connect failed for ${dev.title} on port ${port}: ${reason}`);
1840
+ failures.push(`${dev.deviceName || dev.title} (port ${port}): ${reason}`);
1841
+ }
1842
+ }
1843
+ }
1844
+ return failures;
1845
+ }
1846
+ export async function autoConnectAllMetro() {
1847
+ let ports = [];
1848
+ try {
1849
+ ports = await scanMetroPorts();
1850
+ if (ports.length === 0)
1851
+ return { ports, failures: [] };
1852
+ return { ports, failures: await autoConnectSweep(ports) };
1853
+ }
1854
+ catch (error) {
1855
+ return { ports, failures: [error instanceof Error ? error.message : String(error)] };
1856
+ }
1857
+ }
1784
1858
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/core/connection.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import type { ExecutionResult } from "./types.js";
2
2
  export declare function buildListDebugGlobalsExpression(): string;
3
3
  export declare function listDebugGlobals(device?: string): Promise<ExecutionResult>;
4
4
  export declare function inspectGlobal(objectName: string, device?: string): Promise<ExecutionResult>;
5
+ export declare const RELOAD_STATE_NOTE: string;
5
6
  export declare function reloadApp(device?: string): Promise<ExecutionResult>;
6
7
  //# sourceMappingURL=debugGlobals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugGlobals.d.ts","sourceRoot":"","sources":["../../src/core/debugGlobals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAalD,wBAAgB,+BAA+B,IAAI,MAAM,CA0HxD;AAOD,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEhF;AAMD,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CjG;AAqDD,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0OzE"}
1
+ {"version":3,"file":"debugGlobals.d.ts","sourceRoot":"","sources":["../../src/core/debugGlobals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAYlD,wBAAgB,+BAA+B,IAAI,MAAM,CA0HxD;AAOD,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEhF;AAMD,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CjG;AAGD,eAAO,MAAM,iBAAiB,QAE2G,CAAC;AAU1I,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA2OzE"}
@@ -1,7 +1,7 @@
1
1
  import WebSocket from "ws";
2
2
  import { connectedApps, getNextMessageId } from "./state.js";
3
- import { resolveConnectedAppByDevice, describeDeviceResolution, failureKindForResolution, connectToDevice, clearReconnectionSuppression, purgeStaleConnectionsForPorts } from "./connection.js";
4
- import { fetchDevices, filterDebuggableDevices, scanMetroPorts } from "./metro.js";
3
+ import { resolveConnectedAppByDevice, describeDeviceResolution, failureKindForResolution, connectToDevice, autoConnectSweep } from "./connection.js";
4
+ import { fetchDevices, scanMetroPorts } from "./metro.js";
5
5
  import { cancelReconnectionTimer } from "./connectionState.js";
6
6
  import { executeInApp, delay } from "./jsExecute.js";
7
7
  import { isSDKInstalled } from "./sdkBridge.js";
@@ -173,36 +173,9 @@ export async function inspectGlobal(objectName, device) {
173
173
  `;
174
174
  return executeInApp(expression, false, { originatingToolName: "inspect_global" }, device);
175
175
  }
176
+ export const RELOAD_STATE_NOTE = " The app restarted from its first screen with fresh in-memory state (navigation, Redux, toasts, timers); persisted storage is kept. " +
177
+ "To test a fix, first rebuild the state the bug needed and repeat the user's steps: a check in a reset app can pass without the fix.";
176
178
  const AUTO_CONNECT_RETRY_DELAY_MS = 1200;
177
- async function autoConnectSweep(ports) {
178
- clearReconnectionSuppression();
179
- const portDevices = new Map();
180
- for (const port of ports) {
181
- const devices = await fetchDevices(port);
182
- const debuggable = filterDebuggableDevices(devices);
183
- if (debuggable.length > 0) {
184
- portDevices.set(port, debuggable);
185
- }
186
- }
187
- purgeStaleConnectionsForPorts(portDevices);
188
- if (portDevices.size === 0) {
189
- return [`Metro is running on port(s) ${ports.join(", ")} but reports no debuggable targets (is the app running and in the foreground?)`];
190
- }
191
- const failures = [];
192
- for (const [port, devices] of portDevices) {
193
- for (const dev of devices) {
194
- try {
195
- await connectToDevice(dev, port);
196
- }
197
- catch (error) {
198
- const reason = error instanceof Error ? error.message : String(error);
199
- console.error(`[execbro] Auto-connect failed for ${dev.title} on port ${port}: ${reason}`);
200
- failures.push(`${dev.deviceName || dev.title} (port ${port}): ${reason}`);
201
- }
202
- }
203
- }
204
- return failures;
205
- }
206
179
  export async function reloadApp(device) {
207
180
  let resolution = resolveConnectedAppByDevice(device);
208
181
  if (resolution.kind === "ambiguous") {
@@ -360,6 +333,7 @@ export async function reloadApp(device) {
360
333
  + (sdkWasPresent && !sdkReady
361
334
  ? " (warning: in-app SDK did not re-initialize within 5s; network/console may briefly use the fallback buffer)"
362
335
  : "")
336
+ + RELOAD_STATE_NOTE
363
337
  };
364
338
  }
365
339
  else {