Android smoke: 'keyboard dismissal should change emulator pixels' flakes on unrelated PRs

Aberta
#4,264 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
android, typescript
Domínio
mobile, testing

Direção de pesquisa

Start with test/integration/android-emulator-e2e/live-form-scenario.ts and inspect how the test captures screenshots around keyboard dismissal. On a failing run, capture keyboard state before and after to determine whether the keyboard was shown and whether dismissal completed; then use an observable signal for the check. Done when the never-shown case fails with a clear cause and this step passes 10 consecutive Android smoke runs on PRs.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug ready-for-agent

Purpose

The Android smoke lane fails on PRs that don't touch Android or the keyboard, with:

AssertionError [ERR_ASSERTION]: keyboard dismissal should change emulator pixels

Occurrences

  • #4243 (Limrun iOS cleanups and docs) at f958c63, 2026-11-06: job 127717160690. It passed on rerun.
  • #4263 (daemon close session logic) at 84d0daa, 2026-11-06: job 127803322350.

Current behavior

The assertion is in test/integration/android-emulator-e2e/live-form-scenario.ts. It compares emulator screenshots before and after a keyboard dismissal, and fails when the pixels are identical. The likely causes, both unconfirmed:

  • the dismissal hasn't finished animating when the second capture is taken;
  • the keyboard was never shown, so there was nothing to dismiss.

Required behavior

  • Find out which: capture the keyboard state before and after on a failing run.
  • Make the check wait on an observable signal, such as the IME window being gone or the snapshot no longer showing the keyboard, rather than a pixel change at a fixed point.
  • Don't remove the check or loosen it to pass on identical frames.

Completion conditions

  • 10 consecutive Android smoke runs on PRs pass this step.
  • A run where the keyboard was never shown fails with a cause that says so.
Linguagem predominante
TypeScript
Estrelas
5.3k
Forks
377
Merge médio
13h 58min
PRs com merge (30d)
654

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de callstack/agent-device

Todas as issues de callstack/agent-device

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.