From 3af93ed257228eb0d815937f1de81c946648970e Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Mon, 30 Mar 2026 12:31:22 -0400 Subject: [PATCH] Add changelog for #4201 --- changelog/4201.changed.md | 1 + changelog/4201.fixed.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog/4201.changed.md create mode 100644 changelog/4201.fixed.md diff --git a/changelog/4201.changed.md b/changelog/4201.changed.md new file mode 100644 index 000000000..4143e9c66 --- /dev/null +++ b/changelog/4201.changed.md @@ -0,0 +1 @@ +- `WebsocketService` reconnection errors are now non-fatal. When a websocket service exhausts its reconnection attempts (either via exponential backoff or quick failure detection), it emits a non-fatal `ErrorFrame` instead of a fatal one. This allows application-level failover (e.g. `ServiceSwitcher`) to handle the failure instead of killing the entire pipeline. diff --git a/changelog/4201.fixed.md b/changelog/4201.fixed.md new file mode 100644 index 000000000..fb44f7344 --- /dev/null +++ b/changelog/4201.fixed.md @@ -0,0 +1 @@ +- Fixed `WebsocketService` entering an infinite reconnection loop when a server accepts the WebSocket handshake but immediately closes the connection (e.g. invalid API key, close code 1008). The service now detects connections that fail repeatedly within seconds of being established and stops retrying after 3 consecutive quick failures.