Discovered during #356 Phase 1 device verification (PR #367). Tracked as B223.
Problem
maestro-runner v1.0.9 (DeviceLab.dev) silently no-ops hideKeyboard on Android: the step reports pass in ~5ms, but dumpsys input_method shows mInputShown=true after — the keyboard is not dismissed. On iOS maestro-runner honors it (309ms, dismissed). Isolated cleanly:
adb shell input keyevent KEYCODE_BACK → dismisses (mInputShown=false)
- official Maestro v2.3.0
hideKeyboard → dismisses (mInputShown=false)
- maestro-runner
hideKeyboard → does not (mInputShown=true)
Current mitigation (shipped in #367)
chooseMaestroDispatch routes Android flows containing hideKeyboard to the official Maestro CLI (maestro_run + maestro_test_all), with a degradedReason warning when the CLI is absent. This works, but the Android path then pays the slower JVM cold-start instead of the fast maestro-runner.
Follow-up
- Report the no-op upstream to maestro-runner (DeviceLab.dev) with this repro.
- When fixed, the Android routing workaround can be removed (re-enable fast maestro-runner for Android hideKeyboard flows).
Refs
#356, PR #367, D1286; scripts/cdp-bridge/src/tools/maestro-dispatch.ts; repro + proof in rn-dev-agent-workspace/docs/proof/356-keyboard-occlusion/.
Discovered during #356 Phase 1 device verification (PR #367). Tracked as B223.
Problem
maestro-runner v1.0.9 (DeviceLab.dev) silently no-ops
hideKeyboardon Android: the step reports pass in ~5ms, butdumpsys input_methodshowsmInputShown=trueafter — the keyboard is not dismissed. On iOS maestro-runner honors it (309ms, dismissed). Isolated cleanly:adb shell input keyevent KEYCODE_BACK→ dismisses (mInputShown=false)hideKeyboard→ dismisses (mInputShown=false)hideKeyboard→ does not (mInputShown=true)Current mitigation (shipped in #367)
chooseMaestroDispatchroutes Android flows containinghideKeyboardto the official Maestro CLI (maestro_run+maestro_test_all), with adegradedReasonwarning when the CLI is absent. This works, but the Android path then pays the slower JVM cold-start instead of the fast maestro-runner.Follow-up
Refs
#356, PR #367, D1286;
scripts/cdp-bridge/src/tools/maestro-dispatch.ts; repro + proof inrn-dev-agent-workspace/docs/proof/356-keyboard-occlusion/.