今日はちょっと面白い Telegram Web の中国語IMEの怪しい問題に遭遇したので、記録しておく。
現象
Windows で Telegram Web を開くと、中国語入力は「サイト全体が壊れている」わけではなく、入力欄によって挙動が違う:
- メインのチャット入力欄:だいたい正常
New Topic/ Topic 名を付ける入力欄:明らかに異常
再現時に試したIMEは2つ:
1) Microsoft 標準ピンイン
「你好」と入力すると、入力欄にはこんな奇妙な混在文字列が出る:
你好ni'haoni'hani'hnin
つまり単に「漢字が入力できない」のではなく、こういう感じ:
- 確定済みの漢字の一部は入る
- 一部のピンインのプレエディット文字列が誤って残留/重複して送信される
- 入力欄側が IME composition のフロー処理を壊している
2) WeChat 入力法(微信输入法)
もっと直接的で、候補/文字がほぼそのまま消える。
重要な観察
一番価値がある点は「Telegram Web で中国語が打てない」ではなく:
同じ Telegram Web のページ内で、チャット欄は正常だが Topic のタイトル欄が異常。
これは問題の原因が Windows の中国語IME全体ではなく、Telegram Web の特定の入力コンポーネントにある可能性が高いことを示している。
よりそれっぽいのは:
- メインのチャット欄は専用に磨き込まれたエディタを使っている
New Topicのようなポップアップのタイトル欄は、別のより簡素な入力コントロールを使っている- そのコントロールは中国語IMEの
compositionstart / compositionupdate / compositionend / beforeinput / inputの連携サポートが不完全
その結果、こういう典型的な症状が出る:
- 漢字を確定すると消える
- ピンインのアルファベットだけ残る
- 漢字 + ピンイン文字列が混ざる
- 一部IMEでは送信フロー全体が丸ごと飲み込まれる
調べて見つかった公開事例
これは孤立した例ではなく、ネット上では以前から同様の罠にハマった人がいる:
- Rime / 小狼毫が
web.telegram.orgで「中国語が上屏しない」(入力確定できない) - 特定の Firefox / Waterfox 組み合わせで Telegram Web などのWeb入力欄に IME 問題が出る
- Safari + Telegram Web でも「中国語が正常に入力できない」バグが出たことがある
- Telegram 公式 bug tracker にも Web の入力欄/フォーカス異常の過去の問題がある
なので原因はむしろ:
Telegram Web の特定入力欄の実装 + ブラウザのイベント処理 + IME の合成入力
この3つが重なって爆発した、という感じ。
一時的な回避策
現時点で泥臭いけど効く回避:
- Topic 名の作成/変更は Telegram Desktop / スマホ側で行う
- 外部(メモ帳/別の入力欄)で中国語を打ってから、
New Topicタイトル欄にコピペする - 別の Web フロントエンド(例:
web.telegram.org/a/、/k/)を試す - 別のブラウザエンジンを試す
結論
「中国語IME全体が Telegram Web と衝突している」ではなく:
Telegram Web の特定の入力欄が、中国語IMEのサポートにバグを抱えている。
特に「メインのチャット欄は正常、ポップアップのタイトル欄が異常」という形は、典型的なフロントエンド入力コンポーネントの composition イベント処理不備っぽい。
時間があれば、あとでついでに小さな油猴(ユーザースクリプト)パッチを書いてみて、これら特定入力欄でフォーカス/入力イベントを一段フックできないか試したい。
このバグは一言でまとめると:
チャット欄は空気が読めるが、
New Topicのあの欄は読めない。