Add 15-second timeout for shell creation to prevent silent failures
Improve error messages when connection closes during shell initialization
Add logging for shell creation start, timeout, and close events
Call cleanupSSH when shell creation fails with error
Root cause: When SSH connection succeeds but shell creation fails (server rejects shell request or doesn't respond), the frontend receives no notification and enters a reconnection loop until max attempts reached.
Changes:
shellTimeout - If shell callback not received within 15s, send error and cleanup
sshConn.on("close") - Detect close during shell init and send specific error message
Added cleanupSSH() call on shell error to properly close connection
## Summary
- Add 15-second timeout for shell creation to prevent silent failures
- Improve error messages when connection closes during shell initialization
- Add logging for shell creation start, timeout, and close events
- Call cleanupSSH when shell creation fails with error
**Root cause**: When SSH connection succeeds but shell creation fails (server rejects shell request or doesn't respond), the frontend receives no notification and enters a reconnection loop until max attempts reached.
**Changes**:
1. `shellTimeout` - If shell callback not received within 15s, send error and cleanup
2. `sshConn.on("close")` - Detect close during shell init and send specific error message
3. Added `cleanupSSH()` call on shell error to properly close connection
Related to #385
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Root cause: When SSH connection succeeds but shell creation fails (server rejects shell request or doesn't respond), the frontend receives no notification and enters a reconnection loop until max attempts reached.
Changes:
shellTimeout- If shell callback not received within 15s, send error and cleanupsshConn.on("close")- Detect close during shell init and send specific error messagecleanupSSH()call on shell error to properly close connectionRelated to #385