From d3c15f32c88ce685abde336debff67dbae50289a Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Mon, 13 Apr 2026 12:18:57 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Handle=20GA=20script=20load=20fa?= =?UTF-8?q?ilure=20to=20prevent=20bot=20from=20hanging=20(#2446)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Add `script.onerror` handler in `initGoogleAnalytics` so the promise resolves even when the GA script fails to load (ad blockers, network errors), preventing the bot from hanging indefinitely. - Bump `@typebot.io/js` and `@typebot.io/react` versions to `0.10.2`. ## Test plan - [ ] Enable a Google Analytics integration block in a bot - [ ] Block `googletagmanager.com` (e.g. via ad blocker) and verify the bot still loads - [ ] Check that `"Failed to load Google Analytics script"` appears in the console 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 (1M context) --- packages/embeds/js/package.json | 2 +- packages/embeds/js/src/lib/gtag.ts | 4 ++++ packages/embeds/react/package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/embeds/js/package.json b/packages/embeds/js/package.json index 76f3d3449..b251b9942 100644 --- a/packages/embeds/js/package.json +++ b/packages/embeds/js/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/js", - "version": "0.10.1", + "version": "0.10.2", "description": "Javascript library to display typebots on your website", "license": "FSL-1.1-ALv2", "type": "module", diff --git a/packages/embeds/js/src/lib/gtag.ts b/packages/embeds/js/src/lib/gtag.ts index 592f09563..d71d649ca 100644 --- a/packages/embeds/js/src/lib/gtag.ts +++ b/packages/embeds/js/src/lib/gtag.ts @@ -34,6 +34,10 @@ export const initGoogleAnalytics = (id: string): Promise => { script.onload = () => { resolve(); }; + script.onerror = () => { + console.error("Failed to load Google Analytics script"); + resolve(); + }; } if (existingScript) resolve(); }); diff --git a/packages/embeds/react/package.json b/packages/embeds/react/package.json index ac4a2c3ef..331392c2d 100644 --- a/packages/embeds/react/package.json +++ b/packages/embeds/react/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/react", - "version": "0.10.1", + "version": "0.10.2", "description": "Convenient library to display typebots on your React app", "license": "FSL-1.1-ALv2", "type": "module",