Maestro `eraseText` fails on real Android devices: `test` and `replay` cannot opt in to the test IME
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 74/100
- Tipo de issue
- Funcionalidade
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- android, typescript
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- TypeScript
- Estrelas
- 4.8k
- Forks
- 315
- Merge médio
- 11h 25min
- PRs com merge (30d)
- 545
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de callstack/agent-device
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
callstack/agent-device#3062 ·
Mantenedores costumam responder em até 1 dia
-
ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
callstack/agent-device#2995 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
callstack/agent-device#1869 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 57/100
callstack/agent-device#3060 ·
Mantenedores costumam responder em até 1 dia
-
Android test-IME fill commits into a stale InputConnection session after focus moves to a new fieldAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 74/100
callstack/agent-device#3052 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de callstack/agent-device
Issues semelhantes
-
Mend: dependency security vulnerability untriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
opensearch-project/security-dashboards-plugin#2545 ·
Mantenedores costumam responder em até 1 dia
-
Add: Dream TR SDAbertacheck:passed streams:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
doctor integrity sample scans soft-deleted pages on Postgres (batch path has no deleted_at filter)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
SocialGouv/egapro#4672 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
area:agents area:tui bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
anthropics/claude-code#98358 ·
Mantenedores costumam responder em até 1 dia