From e9125b84bc974282fee6dbae2540a4cd5bcc64fd Mon Sep 17 00:00:00 2001 From: Ahmed alaa Date: Thu, 20 Mar 2025 23:37:13 +0200 Subject: [PATCH 1/2] fix: prevent not sending the unSent xhrRequest --- src/utils/XhrNetworkInterceptor.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/utils/XhrNetworkInterceptor.ts b/src/utils/XhrNetworkInterceptor.ts index 4443940362..615bf4f522 100644 --- a/src/utils/XhrNetworkInterceptor.ts +++ b/src/utils/XhrNetworkInterceptor.ts @@ -85,7 +85,7 @@ const getTraceparentHeader = async (networkData: NetworkData) => { }); }; -export const injectHeaders = async ( +export const injectHeaders = ( networkData: NetworkData, featureFlags: { isW3cExternalTraceIDEnabled: boolean; @@ -113,10 +113,7 @@ export const injectHeaders = async ( return injectionMethodology; }; -const identifyCaughtHeader = async ( - networkData: NetworkData, - isW3cCaughtHeaderEnabled: boolean, -) => { +const identifyCaughtHeader = (networkData: NetworkData, isW3cCaughtHeaderEnabled: boolean) => { if (isW3cCaughtHeaderEnabled) { networkData.w3cCaughtHeader = networkData.requestHeaders.traceparent; return networkData.requestHeaders.traceparent; @@ -314,7 +311,11 @@ export default { if (traceparent) { this.setRequestHeader('Traceparent', traceparent); } - originalXHRSend.apply(this, [data]); + if (this.readyState === this.UNSENT) { + return; // Prevent sending the request if not opened + } + + originalXHRSend.apply(this, [data]); // This line is essential }; isInterceptorEnabled = true; }, From d8059650913ccd28f5d0cd58cec4e262df82f303 Mon Sep 17 00:00:00 2001 From: Ahmed alaa Date: Thu, 20 Mar 2025 23:43:06 +0200 Subject: [PATCH 2/2] fix: prevent not sending the unSent xhrRequest --- src/utils/XhrNetworkInterceptor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/XhrNetworkInterceptor.ts b/src/utils/XhrNetworkInterceptor.ts index 615bf4f522..4eee6dd90c 100644 --- a/src/utils/XhrNetworkInterceptor.ts +++ b/src/utils/XhrNetworkInterceptor.ts @@ -315,7 +315,7 @@ export default { return; // Prevent sending the request if not opened } - originalXHRSend.apply(this, [data]); // This line is essential + originalXHRSend.apply(this, [data]); }; isInterceptorEnabled = true; },