Add error handling for cookies

This commit is contained in:
Michael Bucari-Tovo
2025-11-24 11:41:29 -07:00
parent 9fc5a7d834
commit 022a6e979d
2 changed files with 20 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ using AudibleUtilities;
using Avalonia.Controls;
using Avalonia.Platform;
using Avalonia.Threading;
using Dinah.Core;
using LibationFileManager;
using LibationUiBase.Forms;
using System;
@@ -67,8 +68,17 @@ namespace LibationAvalonia.Dialogs.Login
{
if (dialog.TryGetCookieManager() is NativeWebViewCookieManager cookieManager)
{
foreach (System.Net.Cookie c in shoiceIn.SignInCookies)
cookieManager.AddOrUpdateCookie(c);
foreach (System.Net.Cookie c in shoiceIn.SignInCookies ?? [])
{
try
{
cookieManager.AddOrUpdateCookie(c);
}
catch (Exception ex)
{
Serilog.Log.Logger.Error(ex, $"Failed to set cookie {c.Name} for domain {c.Domain}");
}
}
}
//Set the source only after loading cookies
dialog.Source = new Uri(shoiceIn.LoginUrl);

View File

@@ -41,7 +41,14 @@ namespace LibationWinForms.Login
//Load init cookies
foreach (System.Net.Cookie cookie in choiceIn.SignInCookies ?? [])
{
webView.CoreWebView2.CookieManager.AddOrUpdateCookie(webView.CoreWebView2.CookieManager.CreateCookieWithSystemNetCookie(cookie));
try
{
webView.CoreWebView2.CookieManager.AddOrUpdateCookie(webView.CoreWebView2.CookieManager.CreateCookieWithSystemNetCookie(cookie));
}
catch (Exception ex)
{
Serilog.Log.Logger.Error(ex, $"Failed to set cookie {cookie.Name} for domain {cookie.Domain}");
}
}
webView.CoreWebView2.DOMContentLoaded += CoreWebView2_DOMContentLoaded;