feat: native SSH delegation via tea.ExecProcess + Gruvbox palette
Phase A — Tamagosh-inspired redesign: - Replace goroutine-based SSH (crypto/ssh) with tea.ExecProcess + native ssh binary - Zero-lag SSH: native binary pegang TTY langsung, ga ada Go buffering - Password auth via sshpass -e (SSHPASS env) - Key auth via ssh -i <tmpfile> + SSH_ASKPASS for passphrase - ControlMaster sockets for fast reconnect - Add askpass subcommand for SSH_ASKPASS support - Gruvbox Material Dark Hard palette for comfortable viewing - Clean up old session messages (openSessionMsg, sessionOutputMsg, sessionDoneMsg) - Remove 354-line session.go, replace with 150-line ssh.go
This commit is contained in:
+4
-7
@@ -12,16 +12,13 @@ import (
|
||||
// quitMsg signals the TUI to exit
|
||||
type quitMsg struct{}
|
||||
|
||||
// openSessionMsg signals the TUI to open a new SSH session tab
|
||||
type openSessionMsg struct {
|
||||
// sshConnectToMsg signals the TUI to connect to a host via native SSH
|
||||
type sshConnectToMsg struct {
|
||||
host *models.Host
|
||||
}
|
||||
|
||||
// sessionOutputMsg carries SSH output to the TUI renderer
|
||||
type sessionOutputMsg string
|
||||
|
||||
// sessionDoneMsg signals that a session has ended
|
||||
type sessionDoneMsg struct {
|
||||
// sshExitMsg signals that a native SSH session has ended
|
||||
type sshExitMsg struct {
|
||||
err error
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user