Android: open leaves the real keyboard active when the test IME helper disappears while the daemon is alive
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 74/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- android, typescript
Rechercherichtung
Lies zunächst dist/src/ime-state.js, insbesondere ensureHelperInstalled und dessen Cache auf Modulebene; verfolge, wo open die Funktion aufruft, und prüfe die zugehörigen Tests. Reproduziere den Fehler, indem du eine Android-App öffnest, den Test-IME-Helfer deinstallierst, während der Daemon weiterläuft, und sie dann erneut öffnest. Fertig ist die Änderung, wenn das Fehlen des Helfers erneut geprüft und er neu installiert wird oder open eine Warnung ausgibt oder fehlschlägt, statt Erfolg zu melden, während die echte Tastatur aktiv ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
On Android, the daemon remembers per device that the test IME helper (com.callstack.agentdevice.imehelper) is installed, and never re-checks it during its lifetime. If the helper disappears from the device while the daemon is still alive, the next open leaves the real keyboard active and reports success, with no warning.
Reproduction
agent-device 0.21.24, Android emulator API 32, single daemon started by the first command.
npx agent-device open com.android.settings --platform android
adb shell settings get secure default_input_method # com.callstack.agentdevice.imehelper/.TestInputMethodService
npx agent-device close
adb uninstall com.callstack.agentdevice.imehelper # Success
npx agent-device open com.android.settings --platform android # "Opened: com.android.settings", rc 0
adb shell settings get secure default_input_method # com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
With a field focused after the second open:
keyboard status:Keyboard visible: yes,Input method: com.google.android.inputmethod.latinsnapshot --json:keyboard.kindisvisible
After daemon stop, the same open reinstalls the helper and selects it (TestInputMethodService, Keyboard visible: no, kind: absent).
Expected
open either reinstalls the helper when it is missing, or fails / warns that the test IME could not be selected.
Likely cause
dist/src/ime-state.js: ensureHelperInstalled is called with a module-level cache: new Set(). Once a device id is in the set, the installation is not checked again.
When it happens in practice
An AVD wiped (-wipe-data) or recreated under the same serial (emulator-5554), or the helper uninstalled, then reopened within the daemon's idle timeout (~5 min after the last close). A plain emulator restart with the helper still installed does not trigger it.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 5.2k
- Forks
- 359
- Ø Merge
- 12 Std. 43 Min.
- Gemergte PRs (30 T.)
- 666
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus callstack/agent-device
-
bug ready-for-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
callstack/agent-device#4018 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Limrun iOS fill reports success but drops non-ASCII textEvtl. vergeben @mvanhorn hat das vor 8 Tagen übernommen. Offenbug ready-for-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
callstack/agent-device#3819 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
callstack/agent-device#1869 ·
Maintainer antworten meist innerhalb von 1 Tag
-
iOS simulator: snapshot drops controls nested deeper than 64 accessibility levelsEvtl. vergeben @KrzysztofMoch hat das heute übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
callstack/agent-device#4088 ·
Maintainer antworten meist innerhalb von 1 Tag
-
needs-info
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
callstack/agent-device#4086 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in callstack/agent-device
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
CopilotKit/openmuse#215 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
b:minor bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
software-mansion/argent#1698 ·
Maintainer antworten meist innerhalb von 1 Tag
-
e2e-failure ready-to-code
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
redhat-developer/rhdh-plugin-export-overlays#4624 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag