From 5ab757619196003167edf1cd1b03af78df432d06 Mon Sep 17 00:00:00 2001 From: Matthew Fitzpatrick Date: Sun, 18 Jan 2026 17:21:17 -0800 Subject: [PATCH 1/2] prevent non-critical page errors from interrupting login workflow --- src/slic3r/GUI/ConfigWizardWebViewPage.cpp | 15 +++++++++++++-- src/slic3r/GUI/WebViewDialog.cpp | 15 +++++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/ConfigWizardWebViewPage.cpp b/src/slic3r/GUI/ConfigWizardWebViewPage.cpp index 0c5823b7d6a..91f4e903cb1 100644 --- a/src/slic3r/GUI/ConfigWizardWebViewPage.cpp +++ b/src/slic3r/GUI/ConfigWizardWebViewPage.cpp @@ -93,8 +93,19 @@ case type: \ WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER); } - BOOST_LOG_TRIVIAL(error) << "ConfigWizardWebViewPage error: " << category; - load_error_page(); + BOOST_LOG_TRIVIAL(error) << "ConfigWizardWebViewPage error: " << category << " for URL: " << evt.GetURL(); + + // Don't treat wxWEBVIEW_NAV_ERR_OTHER as fatal - it often occurs for subresources + // or cancelled requests while the main page continues loading successfully. + // Only show error page for serious errors like connection or certificate failures. + int err = evt.GetInt(); + if (err == wxWEBVIEW_NAV_ERR_CONNECTION || + err == wxWEBVIEW_NAV_ERR_CERTIFICATE || + err == wxWEBVIEW_NAV_ERR_AUTH || + err == wxWEBVIEW_NAV_ERR_SECURITY) { + load_error_page(); + } + // For wxWEBVIEW_NAV_ERR_OTHER, wxWEBVIEW_NAV_ERR_REQUEST, etc. - just log and continue } void ConfigWizardWebViewPage::load_error_page() { diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 8633daa0628..83d9b00444b 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -417,8 +417,19 @@ case type: \ WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER); } - BOOST_LOG_TRIVIAL(error) << "WebViewDialog error: " << category; - load_error_page(); + BOOST_LOG_TRIVIAL(error) << "WebViewDialog error: " << category << " for URL: " << evt.GetURL(); + + // Don't treat wxWEBVIEW_NAV_ERR_OTHER as fatal - it often occurs for cancelled + // subresource requests while the main page continues loading successfully. + // Only show error page for serious errors like connection or certificate failures. + int err = evt.GetInt(); + if (err == wxWEBVIEW_NAV_ERR_CONNECTION || + err == wxWEBVIEW_NAV_ERR_CERTIFICATE || + err == wxWEBVIEW_NAV_ERR_AUTH || + err == wxWEBVIEW_NAV_ERR_SECURITY) { + load_error_page(); + } + // For wxWEBVIEW_NAV_ERR_OTHER, wxWEBVIEW_NAV_ERR_REQUEST, etc. - just log and continue } void WebViewDialog::load_error_page() From a211cadad82b577afb97c3c17defd90185ec7a38 Mon Sep 17 00:00:00 2001 From: Matthew Fitzpatrick Date: Sun, 18 Jan 2026 17:41:32 -0800 Subject: [PATCH 2/2] remove some temporary diagnostic loggin from the fix --- src/slic3r/GUI/ConfigWizardWebViewPage.cpp | 2 +- src/slic3r/GUI/WebViewDialog.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/ConfigWizardWebViewPage.cpp b/src/slic3r/GUI/ConfigWizardWebViewPage.cpp index 91f4e903cb1..9b3e141ebea 100644 --- a/src/slic3r/GUI/ConfigWizardWebViewPage.cpp +++ b/src/slic3r/GUI/ConfigWizardWebViewPage.cpp @@ -93,7 +93,7 @@ case type: \ WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER); } - BOOST_LOG_TRIVIAL(error) << "ConfigWizardWebViewPage error: " << category << " for URL: " << evt.GetURL(); + BOOST_LOG_TRIVIAL(error) << "ConfigWizardWebViewPage error: " << category; // Don't treat wxWEBVIEW_NAV_ERR_OTHER as fatal - it often occurs for subresources // or cancelled requests while the main page continues loading successfully. diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 83d9b00444b..fc9f6b2bff8 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -417,7 +417,7 @@ case type: \ WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER); } - BOOST_LOG_TRIVIAL(error) << "WebViewDialog error: " << category << " for URL: " << evt.GetURL(); + BOOST_LOG_TRIVIAL(error) << "WebViewDialog error: " << category; // Don't treat wxWEBVIEW_NAV_ERR_OTHER as fatal - it often occurs for cancelled // subresource requests while the main page continues loading successfully.