From ae69cb456c90223c0d6b3082efb5b2090addaac2 Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Thu, 23 Apr 2026 08:54:13 +0200 Subject: [PATCH 1/7] disable "Continue" button in LE settings wizard if ACME failed --- .../SettingsCertificatesPage/SettingsCertificatesPage.tsx | 7 ++++++- ...ttingsEdgeCertificateWizardExternalUrlSslConfigStep.tsx | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/web/src/pages/settings/SettingsCertificatesPage/SettingsCertificatesPage.tsx b/web/src/pages/settings/SettingsCertificatesPage/SettingsCertificatesPage.tsx index caacaa31d..40bb61e01 100644 --- a/web/src/pages/settings/SettingsCertificatesPage/SettingsCertificatesPage.tsx +++ b/web/src/pages/settings/SettingsCertificatesPage/SettingsCertificatesPage.tsx @@ -45,10 +45,15 @@ const breadcrumbs = [ , ]; + export const SettingsCertificatesPage = () => { + const navigate = useNavigate(); + const onBack = () => { + navigate({ to: "/settings" }) + }; return ( - + } > diff --git a/web/src/pages/settings/SettingsCertificatesPage/SettingsEdgeCertificateWizardPage/steps/SettingsEdgeCertificateWizardExternalUrlSslConfigStep.tsx b/web/src/pages/settings/SettingsCertificatesPage/SettingsEdgeCertificateWizardPage/steps/SettingsEdgeCertificateWizardExternalUrlSslConfigStep.tsx index c06b30bcd..28177cdc3 100644 --- a/web/src/pages/settings/SettingsCertificatesPage/SettingsEdgeCertificateWizardPage/steps/SettingsEdgeCertificateWizardExternalUrlSslConfigStep.tsx +++ b/web/src/pages/settings/SettingsCertificatesPage/SettingsEdgeCertificateWizardPage/steps/SettingsEdgeCertificateWizardExternalUrlSslConfigStep.tsx @@ -36,6 +36,7 @@ type AcmeStepState = { currentStep: AcmeStepId | null; isComplete: boolean; isProcessing: boolean; + isFailed: boolean; errorMessage: string | null; proxyLogs: string[]; }; @@ -52,6 +53,7 @@ const defaultAcmeState: AcmeStepState = { currentStep: null, isComplete: false, isProcessing: false, + isFailed: false, errorMessage: null, proxyLogs: [], }; @@ -74,6 +76,7 @@ export const SettingsEdgeCertificateWizardExternalUrlSslConfigStep = () => { currentStep: event.step, isComplete: event.step === 'Done', isProcessing: event.step !== 'Done' && !event.error, + isFailed: Boolean(event.error), errorMessage: event.error ? (event.message ?? m.initial_setup_auto_adoption_external_url_ssl_lets_encrypt_error_default()) @@ -301,6 +304,7 @@ export const SettingsEdgeCertificateWizardExternalUrlSslConfigStep = () => { const isLetsEncryptProcessing = sslType === 'lets_encrypt' && acmeState.isProcessing; const isLetsEncryptIncomplete = sslType === 'lets_encrypt' && !acmeState.isComplete && !acmeState.errorMessage; + const isLetsEncryptFailed = acmeState.isFailed; return ( @@ -311,7 +315,7 @@ export const SettingsEdgeCertificateWizardExternalUrlSslConfigStep = () => {