diff --git a/package.json b/package.json index 8f152d9904..9e6e1d52bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "agent-device", - "version": "0.21.0", + "version": "0.21.1", "description": "Mobile app automation and verification for AI coding agents. CLI, MCP server, and typed Node.js API for iOS, Android, HarmonyOS, TV, web, macOS, and Linux.", "mcpName": "io.github.callstack/agent-device", "license": "MIT", diff --git a/server.json b/server.json index 48362f1728..a808e6bf81 100644 --- a/server.json +++ b/server.json @@ -7,12 +7,12 @@ "url": "https://github.com/callstack/agent-device", "source": "github" }, - "version": "0.21.0", + "version": "0.21.1", "packages": [ { "registryType": "npm", "identifier": "agent-device", - "version": "0.21.0", + "version": "0.21.1", "transport": { "type": "stdio" }, diff --git a/src/__tests__/cli-react-devtools.test.ts b/src/__tests__/cli-react-devtools.test.ts index 76b21cd51c..34f0b38caa 100644 --- a/src/__tests__/cli-react-devtools.test.ts +++ b/src/__tests__/cli-react-devtools.test.ts @@ -43,12 +43,12 @@ afterEach(() => { }); test('react-devtools passthrough pins agent-react-devtools package version', () => { - assert.equal(AGENT_REACT_DEVTOOLS_PACKAGE, 'agent-react-devtools@0.4.0'); + assert.equal(AGENT_REACT_DEVTOOLS_PACKAGE, 'agent-react-devtools@0.5.0'); assert.deepEqual(buildReactDevtoolsNpmExecArgs(['get', 'tree', '--depth', '3']), [ 'exec', '--yes', '--package', - 'agent-react-devtools@0.4.0', + 'agent-react-devtools@0.5.0', '--', 'agent-react-devtools', 'get', @@ -221,7 +221,7 @@ test('react-devtools stop cleans up remote companion', async () => { 'exec', '--yes', '--package', - 'agent-react-devtools@0.4.0', + 'agent-react-devtools@0.5.0', '--', 'agent-react-devtools', 'stop', diff --git a/src/cli-schema/cli-help.ts b/src/cli-schema/cli-help.ts index c585131e01..95f25efab3 100644 --- a/src/cli-schema/cli-help.ts +++ b/src/cli-schema/cli-help.ts @@ -502,6 +502,8 @@ Rules: For cross-platform validation with explicit device selectors, use separate sessions/devices and restart react-devtools between platforms. Remote Android and iOS bridge runs normally through agent-device react-devtools; the CLI keeps the needed local service tunnel alive until agent-device react-devtools stop or disconnect. Expo support depends on the SDK's bundled React Native runtime. Remote iOS apps attempt the legacy React DevTools websocket during JavaScript startup. If the app was already open before react-devtools start, run open --platform ios --relaunch, then wait --connected. + React Native 0.87+ needs agent-react-devtools installed as a dev dependency of the app project, then a one-time npx agent-react-devtools init there and a rebundle, before wait --connected can succeed. The npm exec package this wrapper runs is temporary and does not install it into the app. Run npx agent-react-devtools uninit when the task is done unless the user wants to keep the setup. + Verify an attached app with status or wait --connected before trusting any result. With 0 connected apps, count, errors, and get tree return empty results that look like a clean pass. Example: agent-device react-devtools status diff --git a/src/cli/commands/react-devtools.ts b/src/cli/commands/react-devtools.ts index 149ebd1be3..4a69f206f3 100644 --- a/src/cli/commands/react-devtools.ts +++ b/src/cli/commands/react-devtools.ts @@ -8,7 +8,7 @@ import { isRemoteBridgeBackend } from './remote-bridge.ts'; import type { CliFlags } from '@agent-device/contracts/command'; import { connectionProviderCapabilities } from '../connection/provider-policy.ts'; -const AGENT_REACT_DEVTOOLS_VERSION = '0.4.0'; +const AGENT_REACT_DEVTOOLS_VERSION = '0.5.0'; export const AGENT_REACT_DEVTOOLS_PACKAGE = `agent-react-devtools@${AGENT_REACT_DEVTOOLS_VERSION}`; const AGENT_REACT_DEVTOOLS_BIN = 'agent-react-devtools'; diff --git a/website/docs/docs/commands.md b/website/docs/docs/commands.md index 560f244557..c4d3d9434a 100644 --- a/website/docs/docs/commands.md +++ b/website/docs/docs/commands.md @@ -851,7 +851,7 @@ agent-device react-devtools profile timeline --limit 20 agent-device react-devtools profile report @c5 ``` -- `react-devtools` dynamically runs pinned `agent-react-devtools@0.4.0` through npm and passes arguments through 1:1. +- `react-devtools` dynamically runs pinned `agent-react-devtools@0.5.0` through npm and passes arguments through 1:1. - The first run may download the pinned package from npm; later runs can reuse the npm cache. - `agent-device` global flags work before or after `react-devtools`. Use `--` before downstream flags only when they intentionally share an `agent-device` global flag name. - Use it when a React Native workflow needs component hierarchy, props, state, hooks, render causes, slow components, or re-render counts.