Поле ввода New Topic в Telegram Web сводит с ума китайский IME: в чате всё нормально, а в поле заголовка — всё ломается

Сегодня столкнулся с довольно забавной странной проблемой с китайским вводом в Telegram Web — записываю для памяти.

Симптомы

В Telegram Web на Windows китайский ввод ломается не “по всему сайту”, а по‑разному в разных полях ввода:

  • основное поле ввода чата: в целом нормально
  • New Topic / поле для задания названия Topic: явно аномально

При воспроизведении попробовал два метода ввода:

1) Встроенный пиньинь от Microsoft

Ввожу “你好”, а в поле получается вот такая жуткая смесь:

你好ni'haoni'hani'hnin

То есть это не просто “иероглифы не вводятся”, а скорее так:

  • часть уже подтверждённых иероглифов попадает в поле
  • часть строки предварительного редактирования пиньиня ошибочно остаётся/повторно отправляется
  • поле ввода ломает обработку процесса IME composition

2) WeChat Input Method (微信输入法)

Ещё прямолинейнее: кандидаты/текст почти сразу исчезают.

Ключевое наблюдение

Самое ценное тут не “в Telegram Web нельзя печатать по‑китайски”, а:

На одной и той же странице Telegram Web чат‑поле нормально, а поле заголовка Topic — аномально.

Это означает, что проблема, скорее всего, не в Windows‑IME в целом, а в некоторых конкретных компонентах ввода Telegram Web.

Больше похоже на следующее:

  • основной чат использует специально отполированный редактор
  • заголовок всплывашки вроде New Topic использует другой, более упрощённый контрол ввода
  • у этого контрола неполная поддержка цепочки compositionstart / compositionupdate / compositionend / beforeinput / input для китайского IME

Отсюда и классические симптомы:

  • иероглифы исчезают после подтверждения
  • остаются только латинские буквы пиньиня
  • иероглифы + строка пиньиня смешиваются вместе
  • у некоторых IME весь процесс подтверждения просто “проглатывается”

Найденные публичные кейсы

Это не единичный случай — в сети давно наступали на похожие грабли:

  • Rime / 小狼毫 на web.telegram.org: “китайский не выводится в поле”
  • некоторые комбинации Firefox / Waterfox дают IME‑проблемы в полях ввода на Telegram Web и подобных страницах
  • Safari + Telegram Web тоже ловили баг “нельзя нормально вводить китайский”
  • в официальном баг‑трекере Telegram тоже есть исторические проблемы с web‑полями ввода/фокусом

Так что виновник больше похож на:

реализация некоторых полей Telegram Web + обработка событий браузером + составной ввод IME

три вещи наложились и взорвались.

Временные обходные пути

Сейчас довольно грубые, но рабочие варианты:

  • создавать/переименовывать Topic через Telegram Desktop / мобильный клиент
  • сначала набрать китайский во внешнем месте (Блокнот/другое поле), затем скопировать и вставить в заголовок New Topic
  • попробовать разные веб‑фронтенды (например, web.telegram.org/a/, /k/)
  • попробовать другой браузерный движок

Вывод

Это не “китайский IME в целом конфликтует с Telegram Web”, а:

У некоторых конкретных полей ввода Telegram Web есть баги поддержки китайского IME.

Особенно такая форма “в чате нормально, а во всплывающем заголовке — плохо” очень похожа на типичную неправильную обработку composition‑событий фронтенд‑компонентом ввода.

Если будет время, потом хочу по пути накидать маленький патч для Tampermonkey (油猴) и попробовать — может, получится перехватить фокус/события ввода в этих конкретных полях.

Этот баг хорошо описывается одной фразой:

Поле чата умеет быть человеком, а поле New Topic — нет.