Problem
The Advanced tab (compression, keepAlive, keepAliveInterval, serverAliveCountMax) and Proxy tab (proxyType, proxyHost, proxyPort, proxyUsername, proxyPassword) settings in the connection dialog are persisted (after #73) but have no effect on actual connections. They are never sent to the backend, and the backend has no corresponding fields.
Root cause
- The frontend
ssh_connect request only sends connection_id/host/port/username/auth_method/password/key_path/passphrase — no advanced/proxy fields.
- Backend
ConnectRequest (commands.rs) and SshConfig (ssh/mod.rs) have no such fields.
SshClient::connect hardcodes keepalive_interval: Some(60s) and keepalive_max: 3 regardless of user config.
- No compression negotiation — russh config never enables it.
- No HTTP/SOCKS proxy tunnel support anywhere in the backend.
Suggested scope (keepAlive first is recommended)
- keepAlive / keepAliveInterval / serverAliveCountMax — pass them to the backend and drive russh's
keepalive_interval / keepalive_max instead of the hardcoded 60s/3. Smallest, highest-value change.
- compression — enable russh compression negotiation from the toggle.
- proxy tunnel — implement SSH over HTTP/SOCKS proxy (largest change; russh has no built-in proxy support).
Related
Problem
The Advanced tab (compression, keepAlive, keepAliveInterval, serverAliveCountMax) and Proxy tab (proxyType, proxyHost, proxyPort, proxyUsername, proxyPassword) settings in the connection dialog are persisted (after #73) but have no effect on actual connections. They are never sent to the backend, and the backend has no corresponding fields.
Root cause
ssh_connectrequest only sendsconnection_id/host/port/username/auth_method/password/key_path/passphrase— no advanced/proxy fields.ConnectRequest(commands.rs) andSshConfig(ssh/mod.rs) have no such fields.SshClient::connecthardcodeskeepalive_interval: Some(60s)andkeepalive_max: 3regardless of user config.Suggested scope (keepAlive first is recommended)
keepalive_interval/keepalive_maxinstead of the hardcoded 60s/3. Smallest, highest-value change.Related
src/components/connection-dialog.tsx(frontend request)src-tauri/src/commands.rs(ConnectRequest,ssh_connect)src-tauri/src/ssh/mod.rs(SshConfig,SshClient::connect)