Si verifica un bug quando si utilizza un editor del metodo di immissione cinese (IME) per digitare caratteri inglesi (ad esempio, digitando parole senza disattivare l’IME). Normalmente, premere Invio significa “non selezionare alcun candidato e inserire direttamente il contenuto nel buffer”. Tuttavia, nell’interfaccia della chat, questo viene interpretato come “invia messaggio”, causando questo bug.
Comportamento previsto:
- L’utente digita lettere inglesi utilizzando l’IME cinese (ad esempio, digitando “hello”)
- L’IME visualizza l’elenco delle parole candidate
- L’utente preme Invio, aspettandosi di: confermare le lettere digitate originali senza selezionare alcun candidato
Comportamento effettivo:
- Il tasto Invio viene catturato dall’interfaccia della chat, attivando direttamente la funzione “invia messaggio”
- Ciò causa l’invio errato del contenuto del buffer dell’IME o l’invio di un messaggio incompleto
Causa principale:
Si tratta di un conflitto di scelta rapida da tastiera tra due livelli:
- Livello IME: Invio = conferma l’input corrente (composizione)
- Livello applicazione: Invio = invia messaggio
L’applicazione di chat non gestisce correttamente lo “stato di composizione” dell’IME, facendole intercettare l’evento del tasto Invio mentre l’IME sta ancora elaborando l’input.
