From 20f5cdc93fcb253321a3facdf7149972bf4774e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dar=C3=ADo=20Kondratiuk?= Date: Tue, 22 Aug 2023 20:49:32 -0300 Subject: [PATCH] Improve transport event listener --- lib/PuppeteerSharp/Connection.cs | 13 ++++++++++++- lib/PuppeteerSharp/PuppeteerSharp.csproj | 8 ++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/PuppeteerSharp/Connection.cs b/lib/PuppeteerSharp/Connection.cs index e973712f6..f7cb59f41 100644 --- a/lib/PuppeteerSharp/Connection.cs +++ b/lib/PuppeteerSharp/Connection.cs @@ -243,7 +243,18 @@ protected virtual void Dispose(bool disposing) } private async void Transport_MessageReceived(object sender, MessageReceivedEventArgs e) - => await _callbackQueue.Enqueue(() => ProcessMessage(e)).ConfigureAwait(false); + { + try + { + await _callbackQueue.Enqueue(() => ProcessMessage(e)).ConfigureAwait(false); + } + catch (Exception exception) + { + // We could just catch ObjectDisposedException but as this is an event listener + // we don't want to crash the whole process. + _logger.LogError(exception, $"Failed to process message {e.Message}"); + } + } private async Task ProcessMessage(MessageReceivedEventArgs e) { diff --git a/lib/PuppeteerSharp/PuppeteerSharp.csproj b/lib/PuppeteerSharp/PuppeteerSharp.csproj index f2e359354..b43796dd6 100644 --- a/lib/PuppeteerSharp/PuppeteerSharp.csproj +++ b/lib/PuppeteerSharp/PuppeteerSharp.csproj @@ -12,10 +12,10 @@ Headless Browser .NET API PuppeteerSharp - 11.0.0 - 11.0.0 - 11.0.0 - 11.0.0 + 11.0.1 + 11.0.1 + 11.0.1 + 11.0.1 false false embedded