Skip to content

Send the client keepalive every 5 seconds - #80

Merged
ehoeve786 merged 1 commit into
mainfrom
client-keepalive
Oct 31, 2026
Merged

ehoeve786 merged 1 commit into
mainfrom
client-keepalive

Conversation

@ehoeve786

Copy link
Copy Markdown
Owner

Evidence

The C3X's last records show most of the app's shell sessions today lasting exactly 10 seconds (e.g. 22:45:10–22:45:21, 22:26:27–22:26:37, 22:25:25–22:25:35, 18:36:12–18:36:22). Its sshd has ClientAliveInterval 10, so the session ends when the server's first keepalive probe is due. The resize and read/draw changes didn't help, because the trigger is the 10 seconds of client silence that follows.

Change

The client keepalive interval goes from 15 s to 5 s (count 3 → 6, so a dead link is still noticed after 30 s). The server always sees traffic within its 10-second window and never sends its own probe.

Not verified

This avoids the trigger; it doesn't explain why the server's probe ends the shell session. Test: on the C3X, connect and leave the terminal idle for a minute. Gradle cannot run offline here, so CI is the build check.


Generated by Claude Code

The C3X's login records show the app's shell sessions ending exactly 10 seconds after they start, which is its sshd's ClientAliveInterval: the session ends when the server's first keepalive probe is due. A client keepalive every 5 seconds means the server always sees traffic and never sends that probe. Six missed replies (30 seconds) still end a dead session.

Claude-Session: https://claude.ai/code/session_01CiTeuL5wrBa86ELAzASv4B
@ehoeve786
ehoeve786 merged commit bd09e30 into main Oct 31, 2026
9 checks passed
@ehoeve786
ehoeve786 deleted the client-keepalive branch October 31, 2026 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants