Android: open leaves the real keyboard active when the test IME helper disappears while the daemon is alive
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 74/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- android, typescript
Piste de recherche
Commencez par lire dist/src/ime-state.js, en particulier ensureHelperInstalled et son cache au niveau du module ; suivez les endroits où open l’appelle et vérifiez les tests associés. Reproduisez le problème en ouvrant une application Android, en désinstallant l’IME auxiliaire de test pendant que le daemon reste actif, puis en l’ouvrant à nouveau. Le travail est terminé lorsque l’absence de l’auxiliaire est vérifiée à nouveau et qu’il est réinstallé, ou lorsque open émet un avertissement ou échoue au lieu de signaler un succès alors que le clavier réel est actif.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 5.1k
- Forks
- 339
- Merge moyen
- 12 h 57 min
- PR mergées (30 j)
- 653
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de callstack/agent-device
-
Limrun iOS fill reports success but drops non-ASCII textPeut-être pris @mvanhorn l’a pris il y a 3 jours. Ouvertebug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 87/100
callstack/agent-device#3819 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
callstack/agent-device#1869 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
callstack/agent-device#3931 ·
Les mainteneurs répondent en général sous 1 jour
-
bug needs-info
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
callstack/agent-device#3929 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
callstack/agent-device#3924 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstack/agent-device
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
farion1231/cc-switch#8829 ·
Les mainteneurs répondent en général sous 1 jour
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverOuvertedoc-audit enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100