CommandCodeAI / CommandCodeAI/command-code

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

Abierto
#316 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

p1
Lenguaje dominante
Sin datos de lenguaje
Estrellas
4k
Forks
350
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comience en el manejo del cursor y la entrada de la TUI de Command Code, centrándose en las respuestas de tipo Cursor Position Report a la secuencia DSR \e[6n. Reprodúzcalo con la IME japonesa en los terminales WSL indicados y verifique después que la ventana candidate o preedit siga al cursor de texto en lugar de permanecer en la esquina inferior izquierda.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
linux
Área
cli, internationalization
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.