CommandCodeAI / CommandCodeAI/command-code

IME candidate/preedit window stuck at bottom-left in WSL (Japanese/IME input)

Ouverte
#316 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

p1
Langage dominant
Aucune donnée de langage
Étoiles
4k
Forks
350
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

IME Bug Report: Japanese IME candidate window position stuck at bottom-left

Environment

  • OS: Windows 11 + WSL2 (Ubuntu)
  • IME: Microsoft IME (標準), Google 日本語入力
  • Terminals tried:
    • Windows Terminal
    • WezTerm
    • wsltty (Mintty via WSL)
    • VS Code WSL Remote integrated terminal
    • SSH (sshd inside WSL → connect from Windows terminal)
  • All terminals reproduce the same issue

Current Behavior

When typing Japanese in Command Code's TUI, the IME candidate/preedit window always appears at the bottom-left corner of the terminal, regardless of where the actual cursor is. This makes Japanese input extremely difficult — you have to look at the bottom-left corner to see what you're typing while the actual text appears elsewhere.

Expected Behavior

The IME candidate window should appear near the text cursor position, as it does in normal terminal input (e.g., bash, vim, etc.).

Likely Cause

Since the issue reproduces across all terminal emulators and connection methods (local ConPTY, SSH bypassing ConPTY, Mintty), it's almost certainly not a terminal emulator issue. The root cause is likely in Command Code's TUI framework — specifically, it's probably not sending proper Cursor Position Report (CPR) responses via DSR (Device Status Report, \e[6n), or not responding to it at all. The terminal/ConPTY relies on CPR to tell the IME where to render the candidate window.

Steps to Reproduce

  1. Open Command Code in any WSL terminal
  2. Switch to Japanese IME (Microsoft IME or Google Japanese Input)
  3. Start typing — the preedit/candidate window will appear at the bottom-left corner of the TUI
  4. Moving the cursor or typing in different positions does not change the candidate window location

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la gestion du curseur et des entrées de la TUI de Command Code, en vous concentrant sur les réponses de type Cursor Position Report à la séquence DSR \e[6n. Reproduisez le problème avec l'IME japonaise dans les terminaux WSL indiqués, puis vérifiez que la fenêtre candidate ou preedit suit le curseur de texte au lieu de rester en bas à gauche.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
linux
Domaine
cli, internationalization
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.