From b5f98112526ce99fbfcef11a07b613d828fac411 Mon Sep 17 00:00:00 2001 From: Stefanos Anagnostou Date: Mon, 13 May 2024 15:31:06 +0300 Subject: [PATCH 1/2] fix(clerk-js): Improve logging for CAPTCHA script loading errors --- .changeset/fast-timers-matter.md | 5 +++++ packages/clerk-js/src/core/resources/SignUp.ts | 1 + packages/clerk-js/src/utils/captcha.ts | 11 ++++++----- 3 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 .changeset/fast-timers-matter.md diff --git a/.changeset/fast-timers-matter.md b/.changeset/fast-timers-matter.md new file mode 100644 index 00000000000..df1125bc1a9 --- /dev/null +++ b/.changeset/fast-timers-matter.md @@ -0,0 +1,5 @@ +--- +'@clerk/clerk-js': patch +--- + +Improve logging for CAPTCHA script loading errors diff --git a/packages/clerk-js/src/core/resources/SignUp.ts b/packages/clerk-js/src/core/resources/SignUp.ts index 885699fc9c2..046093dbd03 100644 --- a/packages/clerk-js/src/core/resources/SignUp.ts +++ b/packages/clerk-js/src/core/resources/SignUp.ts @@ -82,6 +82,7 @@ export class SignUp extends BaseResource implements SignUpResource { paramsWithCaptcha.captchaToken = captchaToken; paramsWithCaptcha.captchaWidgetType = captchaWidgetTypeUsed; } catch (e) { + console.error('Clerk CAPTCHA Error: ', e.captchaError || e.message || e); if (e.captchaError) { paramsWithCaptcha.captchaError = e.captchaError; } else { diff --git a/packages/clerk-js/src/utils/captcha.ts b/packages/clerk-js/src/utils/captcha.ts index 370c2308754..252baf0c255 100644 --- a/packages/clerk-js/src/utils/captcha.ts +++ b/packages/clerk-js/src/utils/captcha.ts @@ -1,8 +1,6 @@ import { loadScript } from '@clerk/shared/loadScript'; import type { CaptchaWidgetType } from '@clerk/types'; -import { clerkFailedToLoadThirdPartyScript } from '../core/errors'; - interface RenderOptions { /** * Every widget has a sitekey. This sitekey is associated with the corresponding widget configuration and is created upon the widget creation. @@ -76,9 +74,12 @@ export async function loadCaptcha(url: string) { if (!window.turnstile) { try { await loadScript(url, { defer: true }); - } catch (_) { + } catch { // Rethrow with specific message - clerkFailedToLoadThirdPartyScript('Cloudflare Turnstile'); + console.error('Clerk: Failed to load the CAPTCHA script from the URL: ', url); + throw { + captchaError: 'captcha_script_failed_to_load', + }; } } return window.turnstile; @@ -112,7 +113,7 @@ export const getCaptchaToken = async (captchaOptions: { return div; }; - const captcha = await loadCaptcha(scriptUrl); + const captcha: Turnstile = await loadCaptcha(scriptUrl); let retries = 0; const errorCodes: (string | number)[] = []; From 3984bd90339e94b0502a11cb5ad2674d88685295 Mon Sep 17 00:00:00 2001 From: Stefanos Anagnostou Date: Mon, 13 May 2024 17:03:09 +0300 Subject: [PATCH 2/2] fix(clerk-js): Remove the generic CAPTCHA console error --- packages/clerk-js/src/core/resources/SignUp.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/clerk-js/src/core/resources/SignUp.ts b/packages/clerk-js/src/core/resources/SignUp.ts index 046093dbd03..885699fc9c2 100644 --- a/packages/clerk-js/src/core/resources/SignUp.ts +++ b/packages/clerk-js/src/core/resources/SignUp.ts @@ -82,7 +82,6 @@ export class SignUp extends BaseResource implements SignUpResource { paramsWithCaptcha.captchaToken = captchaToken; paramsWithCaptcha.captchaWidgetType = captchaWidgetTypeUsed; } catch (e) { - console.error('Clerk CAPTCHA Error: ', e.captchaError || e.message || e); if (e.captchaError) { paramsWithCaptcha.captchaError = e.captchaError; } else {