Hoy me encontré con un problema raro y bastante divertido del IME chino en Telegram Web, y lo dejo registrado.
Síntomas
Al abrir Telegram Web en Windows, la entrada en chino no es que “se rompa en todo el sitio”, sino que se comporta distinto según el campo de texto:
- Cuadro principal de chat: básicamente normal
New Topic/ el campo para poner nombre al Topic: claramente anómalo
Al reproducirlo probé dos métodos de entrada:
1) Pinyin integrado de Microsoft
Al escribir “你好”, el resultado que aparece en el campo es esta mezcla extraña:
你好ni'haoni'hani'hnin
Es decir, no es simplemente “no se puede escribir en chino”, sino que parece:
- Parte de los caracteres chinos ya confirmados entran
- Parte de la cadena de preedición del pinyin se queda mal residual / se envía repetida
- El campo maneja mal el flujo de composición del IME
2) Teclado de WeChat (微信输入法)
Más directo: los candidatos/el texto casi desaparecen al instante.
Observación clave
Lo más valioso no es “Telegram Web no deja escribir chino”, sino:
En la misma página de Telegram Web, el cuadro de chat va bien, pero el cuadro del título del Topic va mal.
Esto indica que el problema probablemente no está en el IME chino de Windows en general, sino en ciertos componentes de entrada específicos de Telegram Web.
Se parece más a:
- El cuadro principal de chat usa un editor especialmente pulido
- Un cuadro de título de ventana emergente como
New Topicusa otro conjunto de controles de entrada más simplificado - Ese control tiene soporte incompleto para la cadena
compositionstart / compositionupdate / compositionend / beforeinput / inputdel IME chino
Y por eso aparecen estos síntomas clásicos:
- El chino desaparece tras confirmarlo
- Solo quedan letras de pinyin
- Se mezclan caracteres chinos + cadena de pinyin
- Con algunos IME se traga directamente todo el flujo de confirmación
Casos públicos que encontré
No es un caso aislado; en internet ya hay gente que ha pisado trampas parecidas:
- Rime / 小狼毫 en
web.telegram.org“no logra que el chino se muestre” - Algunas combinaciones de Firefox / Waterfox tienen problemas de IME en barras de entrada de páginas como Telegram Web
- Safari + Telegram Web también ha tenido bugs de “no se puede escribir chino correctamente”
- En el bug tracker oficial de Telegram también hay historial de problemas de cuadros de entrada/foco en Web
Así que la culpa parece más bien:
Implementación de ciertos campos de Telegram Web + manejo de eventos del navegador + entrada por composición del IME
Las tres cosas apiladas, y explota.
Soluciones temporales
Algunas formas toscas pero efectivas de esquivarlo por ahora:
- Usar Telegram Desktop / móvil para crear o modificar el nombre del Topic
- Escribir el chino primero fuera (Bloc de notas/otro campo), y luego copiar y pegar en el cuadro de título
New Topic - Probar distintos frontends Web (como
web.telegram.org/a/,/k/) - Probar distintos motores/navegadores
Conclusión
No es “el IME chino en general entra en conflicto con Telegram Web”, sino:
Algunos cuadros de entrada específicos de Telegram Web tienen un bug con el soporte del IME chino.
Especialmente esta forma de “el chat principal normal, el título de la ventana emergente anómalo” se parece muchísimo a un típico componente de entrada del frontend que maneja mal los eventos de composición.
Si tengo tiempo, luego quiero escribir de paso un pequeño parche de userscript, a ver si puedo interceptar un poco los eventos de foco/entrada en esos campos concretos.
Este bug se resume bastante bien en una frase:
El cuadro del chat sabe comportarse; el de
New Topicno.