Signale par l'utilisateur avec une capture d'ecran : bouton "SFTP sur cette connexion" clique depuis un terminal local visiblement connecte en ssh (prompt root@debian:~#), formulaire de connexion vide a l'arrivee - "si je dois remplir le formulaire pour une session actuelle ca perd tout son sens". Cause reelle : detect_ssh_target() ne scrutait le texte du terminal qu'au moment du clic (buffer visible + historique pyte, 5000 lignes). Si la ligne `ssh user@hote` tapee par l'utilisateur n'y figure plus au moment du clic (beaucoup de sortie depuis, ecran efface...), plus rien n'est detectable - alors meme que la connexion ssh est toujours active. La capture montree correspond exactement a ce cas : un ecran efface apres la connexion. Corrige a la racine plutot qu'en agrandissant simplement l'historique scrute : app/ui/tabs.py (BaseTerminalTab) memorise desormais la cible des qu'une commande ssh apparait dans la sortie recue (_track_ssh_target, cablee comme terminal.feed sur data_received), et ne l'oublie plus jamais - detect_current_ssh_target() la renvoie en priorite, avec un dernier examen du buffer actuel seulement en repli. Le bouton "SFTP sur cette connexion" et le raccourci global Ctrl+Shift+F (ConnectionController._current_tab_ssh_target) utilisent tous les deux ce nouveau point d'entree unique. tests/test_ssh_target_tracking.py (4 verifications, nouveau fichier - ce bouton n'avait encore aucun test dedie) : memorisation a la frappe, cible toujours renvoyee meme quand le buffer live ne la contient plus, mise a jour vers une commande ssh plus recente, bouton emettant bien la cible memorisee. Suite complete revalidee (36/36), ruff propre. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3.9 KiB
3.9 KiB