diff --git a/v1/client/client.go b/v1/client/client.go index 9331db2..2206b21 100644 --- a/v1/client/client.go +++ b/v1/client/client.go @@ -253,30 +253,28 @@ func (wsClient *SafeWebsocketClient) startReceiveHandler(ctx context.Context) { log.Println("receive handler stopped") return default: - if err := wsClient.mu.ReadHandler(func() error { - conn := wsClient.conn + conn := wsClient.conn - if conn == nil { - wsClient.triggerReconnect() - return fmt.Errorf("connection closed") - } - _, message, err := conn.ReadMessage() - if err != nil { - wsClient.triggerReconnect() - return fmt.Errorf("failed to read message: %v", err) - } - select { - case wsClient.dataChannel <- message: - case <-ctx.Done(): - log.Println("Reconnect handler stopped") - return nil - default: - log.Println("Data channel full, dropping message") - } - return nil - }); err != nil { + if conn == nil { + wsClient.triggerReconnect() + return + // return fmt.Errorf("connection closed") + } + _, message, err := conn.ReadMessage() + if err != nil { + wsClient.triggerReconnect() + // return fmt.Errorf("failed to read message: %v", err) return } + select { + case wsClient.dataChannel <- message: + case <-ctx.Done(): + log.Println("Reconnect handler stopped") + return + default: + log.Println("Data channel full, dropping message") + } + return } } }