From 441717a90692917eaf10a11ea2df5c27d471f680 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Thu, 16 Jul 2026 11:16:12 +0545 Subject: [PATCH] fix(premiumGeoDB): treat webhook-race 404 on addon confirm as success --- .../settings/premiumGeoDBEnableModal.svelte | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte index 9edc2b4910..4fb52a373b 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/premiumGeoDBEnableModal.svelte @@ -60,10 +60,23 @@ return; } - await sdk.forConsoleIn(page.params.region).projects.confirmAddonPayment({ - projectId: page.params.project, - addonId: paymentAuth.addonId - }); + try { + await sdk.forConsoleIn(page.params.region).projects.confirmAddonPayment({ + projectId: page.params.project, + addonId: paymentAuth.addonId + }); + } catch (e) { + // A 404 here means the Stripe webhook already consumed the invoice + // and activated the addon (race) — the addon is enabled, so sync + // state and assume success rather than surfacing the error. + if ( + e?.type !== 'billing_invoice_not_found' && + e?.type !== 'addon_not_found' && + e?.code !== 404 + ) { + throw e; + } + } await Promise.all([ invalidate(Dependencies.ADDONS),