CommandCodeAI / CommandCodeAI/command-code
IME candidate/preedit window stuck at bottom-left in WSL (Japanese/IME input)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 4k
- Forks
- 350
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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
- Open Command Code in any WSL terminal
- Switch to Japanese IME (Microsoft IME or Google Japanese Input)
- Start typing — the preedit/candidate window will appear at the bottom-left corner of the TUI
- Moving the cursor or typing in different positions does not change the candidate window location
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie bei der TUI-Cursor- und Eingabeverarbeitung von Command Code und konzentrieren Sie sich auf Antworten vom Typ Cursor Position Report auf die DSR-Sequenz \e[6n. Reproduzieren Sie das Problem mit der japanischen IME in den aufgeführten WSL-Terminals und überprüfen Sie anschließend, dass das candidate- oder preedit-Fenster dem Textcursor folgt, anstatt unten links zu verbleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- linux
- Bereich
- cli, internationalization
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100