fix: reconnect webvnc bridge after eof

This commit is contained in:
Peter Steinberger 2026-05-05 09:47:11 +01:00
parent ddefc26f27
commit 6ab061716c
No known key found for this signature in database
3 changed files with 8 additions and 2 deletions

View File

@ -12,7 +12,7 @@
- Fixed auto-shell command reconstruction so arguments with spaces stay quoted when shell operators such as `&&` are present.
- Fixed Windows WebVNC credential handling so generated portal links preserve special characters and managed TightVNC sessions copy service passwords into the logged-in user's registry profile.
- Fixed managed Linux browser setup so Chrome/Chromium launches skip first-run and default-browser prompts.
- Fixed WebVNC portal passwords with escaped special characters and kept the bridge alive across viewer resets.
- Fixed WebVNC portal passwords with escaped special characters and kept the bridge alive across viewer resets and transient coordinator EOFs.
## 0.5.0 - 2026-05-04

View File

@ -203,7 +203,8 @@ func retryableWebVNCBridgeError(err error) bool {
message := err.Error()
return strings.Contains(message, "WebVNC viewer disconnected") ||
strings.Contains(message, "replaced by a newer WebVNC viewer") ||
strings.Contains(message, "WebVNC bridge reset")
strings.Contains(message, "WebVNC bridge reset") ||
strings.Contains(message, "failed to read frame header: EOF")
}
func webVNCReconnectDelay(attempt int) time.Duration {

View File

@ -129,6 +129,11 @@ func TestRetryableWebVNCBridgeErrors(t *testing.T) {
err: errors.New(`received close frame: status = StatusServiceRestart and reason = "replaced by a newer WebVNC viewer"`),
retryable: true,
},
{
name: "websocket eof",
err: errors.New(`failed to get reader: failed to read frame header: EOF`),
retryable: true,
},
{
name: "normal close",
err: errors.New(`received close frame: status = StatusNormalClosure and reason = "test done"`),