swetrix 4.3.0 → 4.4.0
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 +35 -0
- package/dist/esnext/Lib.d.ts +4 -0
- package/dist/esnext/Lib.js +138 -16
- package/dist/esnext/Lib.js.map +1 -1
- package/dist/swetrix.cjs.js +139 -17
- package/dist/swetrix.cjs.js.map +1 -1
- package/dist/swetrix.es5.js +139 -17
- package/dist/swetrix.es5.js.map +1 -1
- package/dist/swetrix.js +1 -1
- package/dist/swetrix.js.map +1 -1
- package/package.json +1 -1
- package/src/Lib.ts +192 -20
- package/tests/sessionReplay.test.ts +211 -0
package/dist/swetrix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swetrix.js","sources":["../src/utils.ts","../src/Lib.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":["findInSearch","exp","res","location","search","match","undefined","utmSourceRegex","utmCampaignRegex","utmMediumRegex","utmTermRegex","utmContentRegex","gclidRegex","isInBrowser","window","getLocale","navigator","languages","language","getTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","e","getReferrer","document","referrer","getQueryString","length","slice","hashIndex","hash","indexOf","hashQuery","getUTMSource","getUTMMedium","getUTMCampaign","getUTMTerm","getUTMContent","getPath","options","result","pathname","substring","SESSION_REPLAY_PRIVACY_VALUES","defaultActions","stop","defaultSessionReplayActions","flush","DEFAULT_RRWEB_FILE","DEFAULT_RRWEB_URL","SESSION_REPLAY_ACTIVITY_EVENTS","DEFAULT_CACHE_DURATION","Lib","constructor","projectID","this","pageData","pageViewsOptions","errorsOptions","perfStatsCollected","activePage","errorListenerExists","cachedData","rrwebLoader","sessionReplayActions","sessionReplayInitPromise","trackPathChange","bind","heartbeat","captureError","getSessionReplayPreloadOption","preloadSessionReplay","catch","event","_a","sampleRate","Math","random","submitError","filename","lineno","colno","name","_b","error","message","_c","stackTrace","_d","stack","trackErrors","canTrack","addEventListener","removeEventListener","payload","evokeCallback","privateData","pid","errorPayload","pg","lc","tz","callback","callbackResult","Object","assign","sendRequest","track","data","ref","so","me","ca","te","co","qs","profileId","trackPageViews","actions","interval","unique","setInterval","setTimeout","hbInterval","path","clearInterval","trackPage","getPerformanceStats","performance","getEntriesByType","perf","dns","domainLookupEnd","domainLookupStart","tls","secureConnectionStart","requestStart","conn","connectStart","connectEnd","response","responseEnd","responseStart","render","domComplete","domContentLoadedEventEnd","dom_load","page_load","loadEventStart","ttfb","getFeatureFlags","forceRefresh","requestedProfileId","now","Date","timestamp","flags","fetchFlagsAndExperiments","console","warn","apiBase","getApiBase","body","fetch","method","headers","JSON","stringify","ok","status","json","cachedProfileId","experiments","getFeatureFlag","key","defaultValue","clearFeatureFlagsCache","getExperiments","getExperiment","experimentId","defaultVariant","clearExperimentsCache","getProfileId","getSessionId","sessionId","startSessionReplay","initPromise","initialiseSessionReplay","shouldSampleSessionReplay","rrweb","record","privacy","getSessionReplayPrivacy","replayId","createReplayId","sendSessionReplayStart","flushIntervalMs","maxEventsPerChunk","floor","maxDurationMs","idleTimeoutMs","maxDurationTimer","idleTimer","chunkIndex","stopped","events","flushing","Promise","resolve","async","useBeacon","chunk","currentChunkIndex","then","sendSessionReplayChunk","userEmit","emit","recordOptions","getSessionReplayRecordOptions","push","stopRecording","timer","flushOnPageExit","flushOnHidden","visibilityState","clearIdleTimer","clearTimeout","stopSessionReplay","forEach","eventName","resetIdleTimer","passive","includes","apiURL","replace","heartbeatOnBackground","newPath","submitPageView","pvPayload","disabled","respectDNT","doNotTrack","devMode","hostname","webdriver","getSessionReplayUrl","replayOption","rrwebUrl","getDefaultSessionReplayUrl","trackerScript","getTrackerScript","src","URL","test","toString","Array","from","scripts","find","script","__SWETRIX_RRWEB_LOADING__","loadSessionReplayRecorder","loader","loadSessionReplayScript","loadSessionReplayPackage","rrwebModule","import","default","url","reject","createElement","crossOrigin","onload","onerror","Error","head","appendChild","userOptions","maskInputOptions","resolvedPrivacy","maskAllInputs","maskTextSelector","blockSelector","mergeSelectors","recordCanvas","inlineImages","password","existing","required","trim","crypto","randomUUID","sendBeacon","Blob","type","keepalive","host","LIB_INSTANCE","Boolean","_prev","readyState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"swetrix.js","sources":["../src/utils.ts","../src/Lib.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":["findInSearch","exp","res","location","search","match","undefined","utmSourceRegex","utmCampaignRegex","utmMediumRegex","utmTermRegex","utmContentRegex","gclidRegex","isInBrowser","window","getLocale","navigator","languages","language","getTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","e","getReferrer","document","referrer","getQueryString","length","slice","hashIndex","hash","indexOf","hashQuery","getUTMSource","getUTMMedium","getUTMCampaign","getUTMTerm","getUTMContent","getPath","options","result","pathname","substring","SESSION_REPLAY_PRIVACY_VALUES","defaultActions","stop","defaultSessionReplayActions","flush","DEFAULT_RRWEB_FILE","DEFAULT_RRWEB_URL","DEFAULT_SESSION_REPLAY_SAMPLING","mousemove","scroll","input","DEFAULT_SESSION_REPLAY_SLIM_DOM_OPTIONS","script","comment","headFavicon","headWhitespace","headMetaDescKeywords","headMetaSocial","headMetaRobots","headMetaHttpEquiv","headMetaAuthorship","headMetaVerification","SESSION_REPLAY_ACTIVITY_EVENTS","DEFAULT_CACHE_DURATION","Lib","constructor","projectID","this","pageData","pageViewsOptions","errorsOptions","perfStatsCollected","activePage","errorListenerExists","cachedData","rrwebLoader","sessionReplayActions","sessionReplayInitPromise","trackPathChange","bind","heartbeat","captureError","getSessionReplayPreloadOption","preloadSessionReplay","catch","event","_a","sampleRate","Math","random","submitError","filename","lineno","colno","name","_b","error","message","_c","stackTrace","_d","stack","trackErrors","canTrack","addEventListener","removeEventListener","payload","evokeCallback","privateData","pid","errorPayload","pg","lc","tz","callback","callbackResult","Object","assign","sendRequest","track","data","ref","so","me","ca","te","co","qs","profileId","trackPageViews","actions","interval","unique","setInterval","setTimeout","hbInterval","path","clearInterval","trackPage","getPerformanceStats","performance","getEntriesByType","perf","dns","domainLookupEnd","domainLookupStart","tls","secureConnectionStart","requestStart","conn","connectStart","connectEnd","response","responseEnd","responseStart","render","domComplete","domContentLoadedEventEnd","dom_load","page_load","loadEventStart","ttfb","getFeatureFlags","forceRefresh","requestedProfileId","now","Date","timestamp","flags","fetchFlagsAndExperiments","console","warn","apiBase","getApiBase","body","fetch","method","headers","JSON","stringify","ok","status","json","cachedProfileId","experiments","getFeatureFlag","key","defaultValue","clearFeatureFlagsCache","getExperiments","getExperiment","experimentId","defaultVariant","clearExperimentsCache","getProfileId","getSessionId","sessionId","startSessionReplay","initPromise","initialiseSessionReplay","maxDurationMs","shouldSampleSessionReplay","rrweb","record","privacy","getSessionReplayPrivacy","proposedReplayId","createReplayId","started","sendSessionReplayStart","replayId","flushIntervalMs","maxEventsPerChunk","floor","maxBytesPerChunkCandidate","maxBytesPerChunk","Number","NaN","maxBytesPerEventCandidate","maxBytesPerEvent","idleTimeoutMs","maxDurationTimer","idleTimer","chunkIndex","nextChunkIndex","stopped","events","eventsByteLength","flushing","Promise","resolve","async","useBeacon","chunk","currentChunkIndex","then","sendSessionReplayChunk","userEmit","emit","recordOptions","getSessionReplayRecordOptions","eventByteLength","value","TextEncoder","encode","Blob","size","push","Boolean","recordIframes","maskAllText","stopRecording","timer","flushOnPageExit","flushOnHidden","visibilityState","clearIdleTimer","clearTimeout","stopSessionReplay","forEach","eventName","resetIdleTimer","passive","includes","apiURL","replace","heartbeatOnBackground","newPath","submitPageView","pvPayload","disabled","respectDNT","doNotTrack","devMode","hostname","webdriver","getSessionReplayUrl","replayOption","rrwebUrl","getDefaultSessionReplayUrl","trackerScript","getTrackerScript","src","URL","test","toString","Array","from","scripts","find","__SWETRIX_RRWEB_LOADING__","loadSessionReplayRecorder","loader","loadSessionReplayScript","loadSessionReplayPackage","rrwebModule","import","default","url","reject","createElement","crossOrigin","onload","onerror","Error","head","appendChild","userOptions","hasUserSampling","prototype","hasOwnProperty","call","hasUserSlimDOMOptions","sampling","slimDOMOptions","recordCanvas","recordCrossOriginIframes","collectFonts","inlineImages","maskInputOptions","resolvedPrivacy","defaultBlockSelector","textMaskingOptions","maskTextSelector","maskAllInputs","blockSelector","mergeSelectors","password","existing","required","trim","crypto","randomUUID","resolvedReplayId","isFinite","_e","sendBeacon","type","keepalive","host","LIB_INSTANCE","_prev","readyState"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Lib.ts
CHANGED
|
@@ -34,6 +34,11 @@ type RrwebModule = RrwebGlobal & {
|
|
|
34
34
|
|
|
35
35
|
type SessionReplayPreloadOption = boolean | { rrwebUrl?: string }
|
|
36
36
|
|
|
37
|
+
interface SessionReplayStartResponse {
|
|
38
|
+
replayId: string
|
|
39
|
+
nextChunkIndex: number
|
|
40
|
+
}
|
|
41
|
+
|
|
37
42
|
declare global {
|
|
38
43
|
interface Window {
|
|
39
44
|
rrweb?: RrwebGlobal
|
|
@@ -208,9 +213,13 @@ export interface SessionReplayOptions {
|
|
|
208
213
|
rrweb?: RrwebRecordOptions
|
|
209
214
|
flushIntervalMs?: number
|
|
210
215
|
maxEventsPerChunk?: number
|
|
216
|
+
maxBytesPerChunk?: number
|
|
217
|
+
maxBytesPerEvent?: number
|
|
211
218
|
sampleRate?: number
|
|
212
219
|
maxDurationMs?: number
|
|
213
220
|
idleTimeoutMs?: number
|
|
221
|
+
maskAllText?: boolean
|
|
222
|
+
recordIframes?: boolean
|
|
214
223
|
}
|
|
215
224
|
|
|
216
225
|
export interface SessionReplayActions {
|
|
@@ -291,7 +300,27 @@ const DEFAULT_RRWEB_FILE = 'replaylibrary.min.js'
|
|
|
291
300
|
const DEFAULT_RRWEB_URL = `https://cdn.jsdelivr.net/npm/swetrix@latest/dist/${DEFAULT_RRWEB_FILE}`
|
|
292
301
|
const DEFAULT_SESSION_REPLAY_FLUSH_INTERVAL = 5000
|
|
293
302
|
const DEFAULT_SESSION_REPLAY_MAX_EVENTS = 100
|
|
303
|
+
const DEFAULT_SESSION_REPLAY_MAX_CHUNK_BYTES = 512 * 1024
|
|
304
|
+
const DEFAULT_SESSION_REPLAY_MAX_EVENT_BYTES = 5 * 1024 * 1024
|
|
305
|
+
const DEFAULT_SESSION_REPLAY_MAX_DURATION_MS = 30 * 60 * 1000
|
|
294
306
|
const DEFAULT_SESSION_REPLAY_PRIVACY: SessionReplayPrivacy = 'total'
|
|
307
|
+
const DEFAULT_SESSION_REPLAY_SAMPLING = {
|
|
308
|
+
mousemove: 50,
|
|
309
|
+
scroll: 150,
|
|
310
|
+
input: 'last',
|
|
311
|
+
}
|
|
312
|
+
const DEFAULT_SESSION_REPLAY_SLIM_DOM_OPTIONS = {
|
|
313
|
+
script: true,
|
|
314
|
+
comment: true,
|
|
315
|
+
headFavicon: true,
|
|
316
|
+
headWhitespace: true,
|
|
317
|
+
headMetaDescKeywords: true,
|
|
318
|
+
headMetaSocial: true,
|
|
319
|
+
headMetaRobots: true,
|
|
320
|
+
headMetaHttpEquiv: true,
|
|
321
|
+
headMetaAuthorship: true,
|
|
322
|
+
headMetaVerification: true,
|
|
323
|
+
}
|
|
295
324
|
const SESSION_REPLAY_ACTIVITY_EVENTS = [
|
|
296
325
|
'click',
|
|
297
326
|
'keydown',
|
|
@@ -304,6 +333,18 @@ const SESSION_REPLAY_ACTIVITY_EVENTS = [
|
|
|
304
333
|
// Default cache duration: 5 minutes
|
|
305
334
|
const DEFAULT_CACHE_DURATION = 5 * 60 * 1000
|
|
306
335
|
|
|
336
|
+
const getStringByteLength = (value: string) => {
|
|
337
|
+
if (typeof TextEncoder !== 'undefined') {
|
|
338
|
+
return new TextEncoder().encode(value).length
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
if (typeof Blob !== 'undefined') {
|
|
342
|
+
return new Blob([value]).size
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
return value.length
|
|
346
|
+
}
|
|
347
|
+
|
|
307
348
|
export class Lib {
|
|
308
349
|
private pageData: PageData | null = null
|
|
309
350
|
private pageViewsOptions?: PageViewsOptions | null = null
|
|
@@ -818,6 +859,11 @@ export class Lib {
|
|
|
818
859
|
return defaultSessionReplayActions
|
|
819
860
|
}
|
|
820
861
|
|
|
862
|
+
const maxDurationMs =
|
|
863
|
+
typeof options.maxDurationMs === 'number' && options.maxDurationMs > 0
|
|
864
|
+
? options.maxDurationMs
|
|
865
|
+
: DEFAULT_SESSION_REPLAY_MAX_DURATION_MS
|
|
866
|
+
|
|
821
867
|
if (!this.shouldSampleSessionReplay(options.sampleRate)) {
|
|
822
868
|
return defaultSessionReplayActions
|
|
823
869
|
}
|
|
@@ -834,13 +880,15 @@ export class Lib {
|
|
|
834
880
|
}
|
|
835
881
|
|
|
836
882
|
const privacy = this.getSessionReplayPrivacy(options.privacy)
|
|
837
|
-
const
|
|
838
|
-
const started = await this.sendSessionReplayStart(
|
|
883
|
+
const proposedReplayId = this.createReplayId()
|
|
884
|
+
const started = await this.sendSessionReplayStart(proposedReplayId, privacy)
|
|
839
885
|
|
|
840
886
|
if (!started) {
|
|
841
887
|
return defaultSessionReplayActions
|
|
842
888
|
}
|
|
843
889
|
|
|
890
|
+
const replayId = started.replayId
|
|
891
|
+
|
|
844
892
|
const flushIntervalMs =
|
|
845
893
|
typeof options.flushIntervalMs === 'number' && options.flushIntervalMs > 0
|
|
846
894
|
? options.flushIntervalMs
|
|
@@ -850,18 +898,31 @@ export class Lib {
|
|
|
850
898
|
options.maxEventsPerChunk > 0
|
|
851
899
|
? Math.floor(options.maxEventsPerChunk)
|
|
852
900
|
: DEFAULT_SESSION_REPLAY_MAX_EVENTS
|
|
853
|
-
const
|
|
854
|
-
typeof options.
|
|
855
|
-
? options.
|
|
856
|
-
:
|
|
901
|
+
const maxBytesPerChunkCandidate =
|
|
902
|
+
typeof options.maxBytesPerChunk === 'number'
|
|
903
|
+
? Math.floor(options.maxBytesPerChunk)
|
|
904
|
+
: Number.NaN
|
|
905
|
+
const maxBytesPerChunk =
|
|
906
|
+
maxBytesPerChunkCandidate >= 1
|
|
907
|
+
? maxBytesPerChunkCandidate
|
|
908
|
+
: DEFAULT_SESSION_REPLAY_MAX_CHUNK_BYTES
|
|
909
|
+
const maxBytesPerEventCandidate =
|
|
910
|
+
typeof options.maxBytesPerEvent === 'number'
|
|
911
|
+
? Math.floor(options.maxBytesPerEvent)
|
|
912
|
+
: Number.NaN
|
|
913
|
+
const maxBytesPerEvent =
|
|
914
|
+
maxBytesPerEventCandidate >= 1
|
|
915
|
+
? maxBytesPerEventCandidate
|
|
916
|
+
: DEFAULT_SESSION_REPLAY_MAX_EVENT_BYTES
|
|
857
917
|
const idleTimeoutMs =
|
|
858
918
|
typeof options.idleTimeoutMs === 'number' && options.idleTimeoutMs > 0
|
|
859
919
|
? options.idleTimeoutMs
|
|
860
920
|
: null
|
|
861
921
|
|
|
862
|
-
let chunkIndex =
|
|
922
|
+
let chunkIndex = started.nextChunkIndex
|
|
863
923
|
let stopped = false
|
|
864
924
|
let events: RrwebEvent[] = []
|
|
925
|
+
let eventsByteLength = 0
|
|
865
926
|
let flushing = Promise.resolve()
|
|
866
927
|
let maxDurationTimer: ReturnType<typeof setTimeout> | undefined
|
|
867
928
|
let idleTimer: ReturnType<typeof setTimeout> | undefined
|
|
@@ -871,6 +932,7 @@ export class Lib {
|
|
|
871
932
|
|
|
872
933
|
const chunk = events
|
|
873
934
|
events = []
|
|
935
|
+
eventsByteLength = 0
|
|
874
936
|
const currentChunkIndex = chunkIndex++
|
|
875
937
|
|
|
876
938
|
flushing = flushing
|
|
@@ -897,11 +959,36 @@ export class Lib {
|
|
|
897
959
|
userEmit?.(event)
|
|
898
960
|
} catch {}
|
|
899
961
|
|
|
962
|
+
let eventByteLength = 0
|
|
963
|
+
|
|
964
|
+
try {
|
|
965
|
+
eventByteLength = getStringByteLength(JSON.stringify(event))
|
|
966
|
+
} catch {
|
|
967
|
+
return
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
if (eventByteLength > maxBytesPerEvent) {
|
|
971
|
+
return
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
if (
|
|
975
|
+
events.length &&
|
|
976
|
+
eventsByteLength + eventByteLength > maxBytesPerChunk
|
|
977
|
+
) {
|
|
978
|
+
void flush()
|
|
979
|
+
}
|
|
980
|
+
|
|
900
981
|
events.push(event)
|
|
901
|
-
|
|
982
|
+
eventsByteLength += eventByteLength
|
|
983
|
+
if (
|
|
984
|
+
events.length >= maxEventsPerChunk ||
|
|
985
|
+
eventsByteLength >= maxBytesPerChunk
|
|
986
|
+
) {
|
|
902
987
|
void flush()
|
|
903
988
|
}
|
|
904
989
|
},
|
|
990
|
+
Boolean(options.recordIframes),
|
|
991
|
+
options.maskAllText,
|
|
905
992
|
)
|
|
906
993
|
|
|
907
994
|
const stopRecording = rrweb.record(recordOptions)
|
|
@@ -945,12 +1032,10 @@ export class Lib {
|
|
|
945
1032
|
window.addEventListener('pagehide', flushOnPageExit)
|
|
946
1033
|
document.addEventListener('visibilitychange', flushOnHidden)
|
|
947
1034
|
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
)
|
|
953
|
-
}
|
|
1035
|
+
maxDurationTimer = setTimeout(
|
|
1036
|
+
() => void stopSessionReplay(),
|
|
1037
|
+
maxDurationMs,
|
|
1038
|
+
)
|
|
954
1039
|
|
|
955
1040
|
if (idleTimeoutMs) {
|
|
956
1041
|
SESSION_REPLAY_ACTIVITY_EVENTS.forEach((eventName) => {
|
|
@@ -1246,9 +1331,42 @@ export class Lib {
|
|
|
1246
1331
|
privacy: unknown,
|
|
1247
1332
|
userOptions: RrwebRecordOptions | undefined,
|
|
1248
1333
|
emit: RrwebEmit,
|
|
1334
|
+
recordIframes: boolean,
|
|
1335
|
+
maskAllText?: boolean,
|
|
1249
1336
|
): RrwebRecordOptions {
|
|
1337
|
+
const hasUserSampling =
|
|
1338
|
+
userOptions &&
|
|
1339
|
+
Object.prototype.hasOwnProperty.call(userOptions, 'sampling')
|
|
1340
|
+
const hasUserSlimDOMOptions =
|
|
1341
|
+
userOptions &&
|
|
1342
|
+
Object.prototype.hasOwnProperty.call(userOptions, 'slimDOMOptions')
|
|
1343
|
+
const sampling =
|
|
1344
|
+
typeof userOptions?.sampling === 'object' && userOptions.sampling !== null
|
|
1345
|
+
? {
|
|
1346
|
+
...DEFAULT_SESSION_REPLAY_SAMPLING,
|
|
1347
|
+
...(userOptions.sampling as Record<string, unknown>),
|
|
1348
|
+
}
|
|
1349
|
+
: hasUserSampling
|
|
1350
|
+
? userOptions?.sampling
|
|
1351
|
+
: DEFAULT_SESSION_REPLAY_SAMPLING
|
|
1352
|
+
const slimDOMOptions =
|
|
1353
|
+
typeof userOptions?.slimDOMOptions === 'object' &&
|
|
1354
|
+
userOptions.slimDOMOptions !== null
|
|
1355
|
+
? {
|
|
1356
|
+
...DEFAULT_SESSION_REPLAY_SLIM_DOM_OPTIONS,
|
|
1357
|
+
...(userOptions.slimDOMOptions as Record<string, unknown>),
|
|
1358
|
+
}
|
|
1359
|
+
: hasUserSlimDOMOptions
|
|
1360
|
+
? userOptions?.slimDOMOptions
|
|
1361
|
+
: DEFAULT_SESSION_REPLAY_SLIM_DOM_OPTIONS
|
|
1250
1362
|
const options: RrwebRecordOptions = {
|
|
1363
|
+
recordCanvas: false,
|
|
1364
|
+
recordCrossOriginIframes: false,
|
|
1365
|
+
collectFonts: false,
|
|
1366
|
+
inlineImages: false,
|
|
1251
1367
|
...userOptions,
|
|
1368
|
+
sampling,
|
|
1369
|
+
slimDOMOptions,
|
|
1252
1370
|
emit,
|
|
1253
1371
|
}
|
|
1254
1372
|
|
|
@@ -1259,14 +1377,22 @@ export class Lib {
|
|
|
1259
1377
|
: {}
|
|
1260
1378
|
|
|
1261
1379
|
const resolvedPrivacy = this.getSessionReplayPrivacy(privacy)
|
|
1380
|
+
const defaultBlockSelector = recordIframes ? undefined : 'iframe'
|
|
1381
|
+
const resolvedMaskAllText =
|
|
1382
|
+
typeof maskAllText === 'boolean'
|
|
1383
|
+
? maskAllText
|
|
1384
|
+
: resolvedPrivacy === 'total'
|
|
1385
|
+
const textMaskingOptions = resolvedMaskAllText
|
|
1386
|
+
? { maskTextSelector: '*' }
|
|
1387
|
+
: {}
|
|
1262
1388
|
|
|
1263
1389
|
if (resolvedPrivacy === 'total') {
|
|
1264
1390
|
return {
|
|
1265
1391
|
...options,
|
|
1392
|
+
...textMaskingOptions,
|
|
1266
1393
|
maskAllInputs: true,
|
|
1267
|
-
maskTextSelector: '*',
|
|
1268
1394
|
blockSelector: this.mergeSelectors(
|
|
1269
|
-
options.blockSelector,
|
|
1395
|
+
this.mergeSelectors(options.blockSelector, defaultBlockSelector),
|
|
1270
1396
|
'img, picture, video, audio, canvas, svg',
|
|
1271
1397
|
),
|
|
1272
1398
|
recordCanvas: false,
|
|
@@ -1278,13 +1404,23 @@ export class Lib {
|
|
|
1278
1404
|
if (resolvedPrivacy === 'normal') {
|
|
1279
1405
|
return {
|
|
1280
1406
|
...options,
|
|
1407
|
+
...textMaskingOptions,
|
|
1281
1408
|
maskAllInputs: true,
|
|
1409
|
+
blockSelector: this.mergeSelectors(
|
|
1410
|
+
options.blockSelector,
|
|
1411
|
+
defaultBlockSelector,
|
|
1412
|
+
),
|
|
1282
1413
|
emit,
|
|
1283
1414
|
}
|
|
1284
1415
|
}
|
|
1285
1416
|
|
|
1286
1417
|
return {
|
|
1287
1418
|
...options,
|
|
1419
|
+
...textMaskingOptions,
|
|
1420
|
+
blockSelector: this.mergeSelectors(
|
|
1421
|
+
options.blockSelector,
|
|
1422
|
+
defaultBlockSelector,
|
|
1423
|
+
),
|
|
1288
1424
|
maskInputOptions: {
|
|
1289
1425
|
...maskInputOptions,
|
|
1290
1426
|
password: true,
|
|
@@ -1293,7 +1429,14 @@ export class Lib {
|
|
|
1293
1429
|
}
|
|
1294
1430
|
}
|
|
1295
1431
|
|
|
1296
|
-
private mergeSelectors(
|
|
1432
|
+
private mergeSelectors(
|
|
1433
|
+
existing: unknown,
|
|
1434
|
+
required?: string,
|
|
1435
|
+
): string | undefined {
|
|
1436
|
+
if (!required) {
|
|
1437
|
+
return typeof existing === 'string' ? existing : undefined
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1297
1440
|
if (typeof existing === 'string' && existing.trim()) {
|
|
1298
1441
|
return `${existing}, ${required}`
|
|
1299
1442
|
}
|
|
@@ -1312,7 +1455,7 @@ export class Lib {
|
|
|
1312
1455
|
private async sendSessionReplayStart(
|
|
1313
1456
|
replayId: string,
|
|
1314
1457
|
privacy: SessionReplayPrivacy,
|
|
1315
|
-
): Promise<
|
|
1458
|
+
): Promise<SessionReplayStartResponse | null> {
|
|
1316
1459
|
try {
|
|
1317
1460
|
const apiBase = this.getApiBase()
|
|
1318
1461
|
const response = await fetch(`${apiBase}/log/session-replay/start`, {
|
|
@@ -1336,9 +1479,38 @@ export class Lib {
|
|
|
1336
1479
|
}),
|
|
1337
1480
|
})
|
|
1338
1481
|
|
|
1339
|
-
|
|
1482
|
+
if (!response.ok) {
|
|
1483
|
+
return null
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
try {
|
|
1487
|
+
const result = (await response.json()) as Partial<{
|
|
1488
|
+
replayId: unknown
|
|
1489
|
+
nextChunkIndex: unknown
|
|
1490
|
+
}>
|
|
1491
|
+
const resolvedReplayId =
|
|
1492
|
+
typeof result.replayId === 'string' && result.replayId
|
|
1493
|
+
? result.replayId
|
|
1494
|
+
: replayId
|
|
1495
|
+
const resolvedChunkIndex =
|
|
1496
|
+
typeof result.nextChunkIndex === 'number' &&
|
|
1497
|
+
Number.isFinite(result.nextChunkIndex) &&
|
|
1498
|
+
result.nextChunkIndex >= 0
|
|
1499
|
+
? Math.floor(result.nextChunkIndex)
|
|
1500
|
+
: 0
|
|
1501
|
+
|
|
1502
|
+
return {
|
|
1503
|
+
replayId: resolvedReplayId,
|
|
1504
|
+
nextChunkIndex: resolvedChunkIndex,
|
|
1505
|
+
}
|
|
1506
|
+
} catch {
|
|
1507
|
+
return {
|
|
1508
|
+
replayId,
|
|
1509
|
+
nextChunkIndex: 0,
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1340
1512
|
} catch {
|
|
1341
|
-
return
|
|
1513
|
+
return null
|
|
1342
1514
|
}
|
|
1343
1515
|
}
|
|
1344
1516
|
|