Maestro `eraseText` fails on real Android devices: `test` and `replay` cannot opt in to the test IME
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 74/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- android, typescript
Hướng nghiên cứu
Start with packages/maestro/src/daemon-port/daemon-runtime-port.ts and src/daemon/session-lifecycle/internal/session-open-execution.ts, then trace the test and replay command entry points. Check how open --test-ime activates the helper and how shouldActivateAndroidTestIme handles real devices. Done means test and replay offer an opt-in, eraseText passes on real devices, and the device keyboard is restored while the default remains off.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
On a real Android device, a Maestro flow with eraseText fails under agent-device test --maestro:
Replay failed at step 27 (eraseText): Android text input requires provider-native text injection or the bundled test IME helper for non-ASCII/control characters; the adb-shell fallback supports ASCII text only. On emulators the test IME activates automatically; on real devices pass `open --test-ime` to enable it
The same flow passes on an emulator. ASCII inputText works on the device.
Cause
eraseText types backspace characters:
Backspace is a control character, so it needs the test IME. On real devices the test IME is opt-in through open --test-ime:
test and replay have no such flag, so a flow run on a real device never gets the test IME.
What I tried
open --test-ime --session <name>, thentest --session <name>: fails atlaunchAppwithandroid device <serial> is owned by session "<name>"- same with
replay --maestro --session <name>: same error {"testIme": true}in a config file passed throughAGENT_DEVICE_CONFIG:teststill fails with the error aboveadb shell ime setto the helper beforetest: still fails with the error above
Check with the test IME on
Local patch: shouldActivateAndroidTestIme returns true for real devices. With it, a flow with eraseText passes on the device, and the device keyboard is restored after the run.
Request
An opt-in for flow runs. The real-device default stays off, as decided in #1198. For example:
--test-imeontestandreplay- or
testImefromagent-device.jsonfor flow runs
Environment
- agent-device 0.21.14. Same gating in 0.21.15 and on
mainat 16e0757 - Pixel 8, Android 17, USB
- macOS host
- Ngôn ngữ chính
- TypeScript
- Star
- 4.7k
- Fork
- 304
- Merge trung bình
- 11 giờ 6 phút
- Pull request đã merge (30 ngày)
- 521
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của callstack/agent-device
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
callstack/agent-device#2998 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
callstack/agent-device#2995 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Proxy lease refuses every iOS install/open: connection platform 'ios' compared with internal 'apple'Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
callstack/agent-device#2962 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
callstack/agent-device#1869 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
callstack/agent-device#2996 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của callstack/agent-device
Issue tương tự
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
supabase/agent-skills#611 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
polka-codes/test#345 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 92/100
GoogleChromeLabs/project-sesame#217 ·
Maintainer thường phản hồi trong vòng 12 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
solana-foundation/solana-com#2202 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100