fix(#136 sub-3): cdp_dismiss_dev_client_picker + Android deep-link auto-dismiss#196
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Wraps the unchanged Android handleDevClientPicker(); iOS short-circuits with an actionable message and never touches the legacy agent-device path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…links (sub-3) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…5->76 (sub-3) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Completes the last open piece of #136 — sub-3: on-demand Dev Client picker dismissal. (sub-1 shipped in #174, sub-2 in #187.)
The Expo Dev Client "Development servers" picker is a native expo-dev-menu screen that blocks the JS bundle after deep links / restarts / clearState. The dismissal logic already existed internally (
handleDevClientPicker()) but was unreachable on demand and lacked an MCP surface.Changes
cdp_dismiss_dev_client_picker(tool count 75 → 76) — wraps the existing AndroidhandleDevClientPicker()via a single guarded seamclearDevClientPickerIfPresent(platform?).agent-device findpath (which would respawn the legacyAgentDeviceRunnerand fightrn-fast-runner— D1219). The load-bearing test assertsrunAgentDeviceis never called on iOS.device_deeplinknow best-effort dismisses the picker after a successful Android deep link (meta.pickerDismissed/pickerChecked); never fails the deeplink; iOS and session-less paths are no-ops.okResult/warnResult/ typedfailResult('DEV_CLIENT_PICKER_NO_SESSION'), each withmeta.timings_ms.Scope decisions (from brainstorm)
handleDevClientPicker,parseFirstServerEntry, …) is unchanged.@ref, reusing thedevice_findorchestrator) is deferred to a follow-up, along with: session-less dismissal, acdp_restartpicker step, the tutorial modal (Session feedback (IX-2997, ~6h): 5 wins + 5 friction items #173 sub-4), and CI DC-Task 9 (now unblocked by fix(cdp): fast-fail cdp_status when the Dev Client picker blocks the bundle (closes #184) #187).Tests
test/unit/gh-136-dismiss-picker-tool.test.js(11 cases: iOS guard, 4 result mappings,annotatePicker).Release
rn-dev-agent-plugin+rn-dev-agent-cdp, patch). Runnpm run version-packagesat merge to cut the installable bump (0.44.45 → 0.44.46; also consumes the two already-pending changesets).dist/recompiled and committed (the plugin shipsdist/).Design:
docs/superpowers/specs/2026-05-31-devclient-picker-dismiss-sub3-design.md· Plan:docs/superpowers/plans/2026-05-31-devclient-picker-dismiss-sub3.mdCloses #136
🤖 Generated with Claude Code