Skip to content

P2: feedback_flow's keyboard-blur tap lands on a key instead of the heading #978

Description

@RonenMars

feedback_flow fails on iOS at its last assertion, feedback-diagnostics-rows, because the keyboard is never dismissed and a later tap lands on a keyboard key rather than the control it names.

This is separate from the pairing/save-password race that made the same flow fail on Android and in setup — that one is fixed in #979.

Verified state

Checked 2026-09-05 against iOS E2E run 33940567423.

From feedback_flow/screen-hierarchy/step-039-assertCondition-feedback-diagnostics-row.json:

  • feedback-description-input reads "The tree view flickers on cold launch. V" — a stray V the flow never types.
  • UIKeyboardLayoutStar is present, so the keyboard is still up.
  • feedback-diagnostics-toggle still carries phosphor-react-native-caret-down-undefined, so the preview never expanded.

The flow's own comment at e2e/feedback_flow.yaml:130-137 predicts this exact failure from an earlier run (32137256820): a tap reported COMPLETED while the touch actually landed on a key, appending a stray character instead of expanding the preview.

Why the current mitigations do not hold

Two are in place and both are positional rather than causal:

  • tapOn: "Help us squash a bug" (:140) blurs the field by tapping an inert heading. hideKeyboard is unavailable — broken on Maestro 2.6.1 / iOS 26.x, per P3: 05_chat_flow hideKeyboard break on Maestro 2.6.1 / iOS 26.x #611 and the repo's CLAUDE.md.
  • A swipe before tapOn: "See what's included" (:150) exists because a previous run tapped an off-screen control.

Both assume the keyboard is down by the time the lower controls are tapped. When the blur tap does not take, the swipe scrolls content under a keyboard that is still up and the next tap hits a key.

Done looks like

The flow reaches feedback-diagnostics-rows on iOS without depending on a tap landing outside the keyboard's frame — e.g. by dismissing via a control whose position is independent of the keyboard, or by asserting the keyboard is gone before continuing so the failure reports at the blur rather than two steps later.

Fix the flow, not the app: nothing here indicates a product defect in the feedback screen.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Soon, but does not gate a releasebugSomething isn't workinge2eMaestro / end-to-end test suite

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions