Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes several updates to the WebSocket handling in the
api/websocket_handler.gofile and a minor dependency update in thego.modfile. The most important changes focus on improving the WebSocket connection management and handling.Improvements to WebSocket handling:
api/websocket_handler.go: Added aclosedfield to theWebsocketHandlerstruct to track the connection state and prevent multiple closures.api/websocket_handler.go: Updated thecloseConnectionmethod to use a mutex lock for thread-safe operation and to check if the connection is already closed before proceeding.api/websocket_handler.go: Modified theHandleWebSocketmethod to close the connection gracefully when the request context is done or the channel is closed.api/websocket_handler.go: Added error handling for normal and unexpected WebSocket closures in the message reading loop.Dependency update:
go.mod: Updated theerigontech/erigonwatchdependency from versionv0.1.24tov0.1.26.