fix(terminal/windows): pipes fallback for v0.7.1 #6
Reference in New Issue
Block a user
Delete Branch "release/v0.7.1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bugfix Windows : terminal inutilisable
Symptômes (rapportés par l'utilisateur)
unsupportedouconnection closedavant même que la bannière s'affiche.Cause
creack/pty/v2n'a pas de support Windows natif ;pty.Start()retourne immédiatementoperating system not supported. Le handler envoyait l'erreur en WS et fermait. La détection des terminaux marchait (wsl --list --quietcôté Windows OK) mais aucun terminal ne pouvait s'ouvrir.Fix
Abstraction
termSession(internal/api/terminal_session.go) avec deux implémentations sélectionnées au runtime :ptySession(Linux / macOS / BSDs) : comportement existant, TTY complet, resize, vim/top fonctionnent.pipeSession(Windows) : pipes natifsstdin+stdout/stderrmergés. Suffisant pourwsl.exe,pwsh.exe,cmd.exeen mode ligne. Resize = no-op (pas de SIGWINCH sans TTY) → les TUIs plein écran ne marchent pas, mais les commandes shell classiques oui.handleTerminalWSpasse parstartTermSession(cmd); le chemin Unix est inchangé, le fallback Windows s'active uniquement quandpty.Startaurait échoué.Versioning
Test plan
Limitation connue (Windows)
Apps TUI (
vim,nano,htop,top) ne fonctionneront pas correctement en mode pipes. Pour le full TTY sous Windows il faudra ajouter une dépendance ConPTY (out of scope ici).