The default bufio.Reader buffer (4096 bytes) is too small for large ServerQuery responses (channellist, clientlist), causing runtime panics that leave the viewer in an unrecoverable state. Changes: - Increase SSH read buffer from 4096 to 64KB to handle large responses - Add done channel to SSHClient for clean keepAlive goroutine shutdown - Stop orphaned keepAlive goroutines after reconnect to prevent leaks - Add panic recovery in exec() so panics are handled as errors - Treat recovered panics as connection errors to trigger reconnect - Wrap HTTP handlers with recovery middleware as a safety net |
||
|---|---|---|
| .. | ||
| http-helper.go | ||
| router.go | ||