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

未关闭
#4,264 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
android, typescript
领域
mobile, testing

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.
主要语言
TypeScript
星标
5.3k
派生
377
平均合并
14 小时 6 分钟
30 天内合并 PR
650

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

callstack/agent-device 的其他 Issue

查看 callstack/agent-device 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。