Skip to content

upstream/runtime: maestro-runner v1.0.9 no-ops hideKeyboard on Android (B223) #369

Description

@Lykhoyda

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 hideKeyboarddoes 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

  1. Report the no-op upstream to maestro-runner (DeviceLab.dev) with this repro.
  2. 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/.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingeffort:mEffort: ~1-3 dayskano:performanceKano: more/better linearly increases satisfactionpriority:laterValuable but deferredupstreamCaused by external dependency

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions