@sailfish-ai/recorder 1.8.7 → 1.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,3 +5,5 @@
5
5
  ## Trigger build - 31112025 1150PM GMT+4
6
6
 
7
7
  ## Trigger build - 06112025 0854PM GMT+4
8
+
9
+ ## Trigger build - 11182025 1125AM GMT+4
package/dist/index.js CHANGED
@@ -403,6 +403,11 @@ function setupXMLHttpRequestInterceptor(domainsToNotPropagateHeaderTo = []) {
403
403
  let finished = false;
404
404
  const requestBody = args[0]; // Capture the request body/payload
405
405
  const requestHeaders = { ...this._capturedRequestHeaders }; // Capture request headers
406
+ // Filter out internal Sailfish headers from the captured headers
407
+ delete requestHeaders[xSf3RidHeader];
408
+ if (funcSpanHeader) {
409
+ delete requestHeaders[funcSpanHeader.name];
410
+ }
406
411
  // 4️⃣ Helper to emit networkRequestFinished
407
412
  const emitFinished = (success, status, errorMsg, responseData, responseHeaders) => {
408
413
  if (finished)
@@ -521,7 +526,8 @@ function setupFetchInterceptor(domainsToNotPropagateHeadersTo = []) {
521
526
  if (!sessionId) {
522
527
  return target.apply(thisArg, args);
523
528
  }
524
- const networkUUID = uuidv4();
529
+ // Generate a fresh UUID for this request attempt
530
+ let networkUUID = uuidv4();
525
531
  const urlAndStoredUuids = getUrlAndStoredUuids();
526
532
  const method = init.method || "GET";
527
533
  const startTime = Date.now();
@@ -569,12 +575,20 @@ function setupFetchInterceptor(domainsToNotPropagateHeadersTo = []) {
569
575
  console.warn("[Sailfish] Failed to capture request data:", e);
570
576
  }
571
577
  }
578
+ // Filter out internal Sailfish headers from captured headers
579
+ delete requestHeaders[xSf3RidHeader];
580
+ const funcSpanHeaderName = getFuncSpanHeader()?.name;
581
+ if (funcSpanHeaderName) {
582
+ delete requestHeaders[funcSpanHeaderName];
583
+ }
572
584
  try {
573
585
  let response = await injectHeader(target, thisArg, input, init, sessionId, urlAndStoredUuids.page_visit_uuid, networkUUID);
574
586
  let isRetry = false;
575
587
  // Retry logic for 400/403 before logging finished event
576
588
  if (BAD_HTTP_STATUS.includes(response.status)) {
577
589
  DEBUG && console.log("Perform retry as status was fail:", response);
590
+ // Generate a NEW UUID for the retry request so each request has a unique ID
591
+ networkUUID = uuidv4();
578
592
  response = await retryWithoutPropagateHeaders(target, thisArg, args, url);
579
593
  isRetry = true;
580
594
  }