Skip to content

Release v0.5.4 — SSH 재연결 신뢰성 수정#7

Merged
moreih29 merged 2 commits into
mainfrom
develop
Jun 4, 2026
Merged

Release v0.5.4 — SSH 재연결 신뢰성 수정#7
moreih29 merged 2 commits into
mainfrom
develop

Conversation

@moreih29
Copy link
Copy Markdown
Owner

@moreih29 moreih29 commented Jun 4, 2026

Release v0.5.4 (patch)

v0.5.3 이후 변경: fix(agent) 1건.

Fixed

  • SSH 워크스페이스가 일시적 네트워크 단절 후 자동 재연결되지 않고 영구 끊김 상태로 남던 문제 수정. 원격 agent가 전송 채널 리셋(EOF 아님)을 정상 종료(exit 0)로 처리해 클라이언트가 재연결을 건너뛰던 것이 원인. 이제 전송 read 에러는 non-zero(EX_IOERR, 74)로 종료해 클라이언트의 기존 재연결 경로가 동작한다. 깨끗한 EOF(의도된 종료)는 exit 0을 유지해 불필요한 재연결을 막는다.

Protocol & Remote 영향

  • 첫 SSH 부팅 재업로드 필요: agent 바이너리가 갱신되어 기존 SSH 워크스페이스에서 0.5.4 최초 접속 시 재업로드된다. Agent protocol version 변경 없음.

🤖 Generated with Claude Code

moreih29 and others added 2 commits June 4, 2026 12:27
Run() called drainAndExit(0) for both a clean stdin EOF and a non-EOF
scanner error. A mid-stream SSH channel reset (transient network drop)
therefore exited 0, which the client's handleClose classifies as an
intentional shutdown (code===0 && wasReady -> terminal, no reconnect),
leaving the workspace permanently disconnected until manual reconnect.

Split the two cases: a non-EOF scanner error now exits transportErrorExitCode
(74, EX_IOERR), distinct from the idle watchdog's 75, so the existing
non-zero -> scheduleReconnect path recovers automatically. A clean EOF still
exits 0 and stays terminal, preserving deliberate-shutdown behavior.

Client unchanged: it already reconnects on any non-zero close code.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@moreih29 moreih29 merged commit af91d3b into main Jun 4, 2026
1 check passed
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.

1 participant