Skip to content

Phase 1.5: repair-time hideKeyboard injection + backfill existing action YAMLs (#356 follow-on) #371

Description

@Lykhoyda

Phase 1.5 of #356 (Phase 1 shipped in PR #367). Phase 1 made newly generated/saved Maestro action flows keyboard-safe; this extends the fix to existing flows.

Problem

Phase 1 injects - hideKeyboard only at action-generation time, so already-saved .rn-agent/actions/*.yaml flows stay flaky on bottom-pinned-after-typing taps until re-recorded.

Scope

  1. Repair-time injection (repair-engine.ts applyRepair): when repair patches a tapOn that follows an inputText with no intervening hideKeyboard, insert - hideKeyboard before it (YAML body string-surgery on the patched block).
  2. One-time backfill command: scan existing action YAMLs and inject - hideKeyboard before typed-then-tap sequences. This rewrites committed files, so make it explicit/opt-in (not automatic on load), with a dry-run/diff.

Notes

  • Keep the same conservative rule as Phase 1 (flowContainsHideKeyboard / typed-then-tap), reusing the generator's logic where possible.
  • Detection helper flowContainsHideKeyboard already exists in maestro-dispatch.ts.

Refs

#356, PR #367, spec "Out of scope (follow-ups)"; scripts/cdp-bridge/src/domain/repair-engine.ts, tools/test-recorder-generators.ts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort:mEffort: ~1-3 daysenhancementNew feature or requestkano:performanceKano: more/better linearly increases satisfactionpriority:laterValuable but deferred

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions