Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Android test-IME fill commits into a stale InputConnection session after focus moves to a new field

Aperta
#3,052 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
74/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
android, react-native, typescript

Direzione di ricerca

Start in packages/platform-android/src/text-input.ts at fillAndroidImeHelper and trace how the commit result is checked after focus changes. Reproduce the sequential onboarding echoes scenario under Android load, then verify that a failed commit with the hint still showing causes a fresh IME start before retrying and that the text lands in the new field.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What happens

On an API 36 emulator under CPU load, fill into a freshly mounted, autofocused React Native TextInput sometimes fails with Android fill verification failed. The trigger is a wizard step change: Continue unmounts one field and mounts the next. The field keeps showing its hint: failureReason: text_mismatch, actual: "e.g. Jane", hintShowing: true, focused: true, and target and actual are the same node.

The test IME does commit, and logs commitText length=4. The app drops the text:

W/RemoteInputConnectionImpl: Session id mismatch header.sessionId: 0 currentSessionId: 1 while calling ...commitText

The helper's retry refocuses 2 s later and hits the same mismatch, so the IME was still on the previous connection session that long after focus moved.

Seen

  • e2e mobile benchmark CI: 4 of 45 Android runs (sequential onboarding echoes the exact values).
  • Locally: about 1 in 30 under load, 0 in 30 idle.

Tried

Waiting, before the commit, for dumpsys input_method's curEditorInfo.hintText to match the target's placeholder did not help (1/60 vs 1/30 baseline). The system-side editor info is already current when the IME's connection is stale.

Likely direction

Detect "text never landed" (hint still showing after the commit) and force a fresh startInput for the IME before the retry, e.g. by moving focus off the field and back, instead of re-tapping the already focused field. The check would live in fillAndroidImeHelper in packages/platform-android/src/text-input.ts.

Lingua principale
TypeScript
Stelle
4.8k
Fork
315
Merge medio
11h 25m
PR unite (30g)
545

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di callstack/agent-device

Tutte le issue di callstack/agent-device

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.