From 1cf1c3688a1ee32ab8eae9e6d8206b11f14fd53e Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Thu, 17 Aug 2023 16:00:25 +0200 Subject: [PATCH] fix(tracker): fix for setSessionTokenHeader --- tracker/tracker/CHANGELOG.md | 9 +++++++++ tracker/tracker/package.json | 2 +- .../tracker/src/main/modules/Network/fetchProxy.ts | 13 ++++++++++++- .../tracker/src/main/modules/Network/xhrProxy.ts | 3 +++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/tracker/tracker/CHANGELOG.md b/tracker/tracker/CHANGELOG.md index b373ae6d6..1a84cc1da 100644 --- a/tracker/tracker/CHANGELOG.md +++ b/tracker/tracker/CHANGELOG.md @@ -1,3 +1,12 @@ +# 9.0.2 + +- fix "setSessionTokenHeader" method + +# 9.0.1 + +- Warning about SSR mode +- Prevent crashes due to network proxy in SSR + # 9.0.0 - Option to disable string dictionary `{disableStringDict: true}` in Tracker constructor diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json index 00df991e9..4da35b8d4 100644 --- a/tracker/tracker/package.json +++ b/tracker/tracker/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker", "description": "The OpenReplay tracker main package", - "version": "9.0.1", + "version": "9.0.2", "keywords": [ "logging", "replay" diff --git a/tracker/tracker/src/main/modules/Network/fetchProxy.ts b/tracker/tracker/src/main/modules/Network/fetchProxy.ts index 6667a3e4f..5583efb90 100644 --- a/tracker/tracker/src/main/modules/Network/fetchProxy.ts +++ b/tracker/tracker/src/main/modules/Network/fetchProxy.ts @@ -81,8 +81,10 @@ export class ResponseProxyHandler implements ProxyHandler // @ts-ignore readerReceivedValue = new Uint8Array(result.value) } else { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const newValue = new Uint8Array(readerReceivedValue.length + result.value!.length) newValue.set(readerReceivedValue) + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion newValue.set(result.value!, readerReceivedValue.length) readerReceivedValue = newValue } @@ -125,7 +127,7 @@ export class FetchProxyHandler implements ProxyHandler boolean, ) {} - public apply(target: T, thisArg: typeof window, argsList: [RequestInfo | URL, RequestInit]) { + public apply(target: T, _: typeof window, argsList: [RequestInfo | URL, RequestInit]) { const input = argsList[0] const init = argsList[1] @@ -141,6 +143,15 @@ export class FetchProxyHandler implements ProxyHandler { + argsList[1] = { + ...argsList[1], + headers: { + ...argsList[1]?.headers, + [name]: value, + }, + } + }) return (>target.apply(window, argsList)) .then(this.afterFetch(item)) .catch((e) => { diff --git a/tracker/tracker/src/main/modules/Network/xhrProxy.ts b/tracker/tracker/src/main/modules/Network/xhrProxy.ts index c97048b03..2940d310e 100644 --- a/tracker/tracker/src/main/modules/Network/xhrProxy.ts +++ b/tracker/tracker/src/main/modules/Network/xhrProxy.ts @@ -42,6 +42,9 @@ export class XHRProxyHandler implements ProxyHandler { + target.setRequestHeader(name, value) + }) return this.getSend(target) case 'setRequestHeader': return this.getSetRequestHeader(target)