@multiplayer-app/session-recorder-browser 2.0.18 → 2.0.24
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 +14 -3
- package/dist/browser/index.js +102 -32
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +6 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/exporters/index.js +1 -1
- package/dist/exporters/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +104 -33
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +102 -32
- package/dist/index.umd.js.map +1 -1
- package/dist/rrweb/index.d.ts +1 -0
- package/dist/rrweb/index.d.ts.map +1 -1
- package/dist/rrweb/index.js +10 -2
- package/dist/rrweb/index.js.map +1 -1
- package/dist/services/crashBuffer.service.d.ts +2 -1
- package/dist/services/crashBuffer.service.d.ts.map +1 -1
- package/dist/services/crashBuffer.service.js +5 -1
- package/dist/services/crashBuffer.service.js.map +1 -1
- package/dist/services/socket.service.d.ts +3 -0
- package/dist/services/socket.service.d.ts.map +1 -1
- package/dist/services/socket.service.js +47 -5
- package/dist/services/socket.service.js.map +1 -1
- package/dist/session-recorder.d.ts.map +1 -1
- package/dist/session-recorder.js +31 -20
- package/dist/session-recorder.js.map +1 -1
- package/dist/types/session-recorder.d.ts +5 -2
- package/dist/types/session-recorder.d.ts.map +1 -1
- package/dist/types/session-recorder.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export * from './navigation';
|
|
|
6
6
|
export * from '@multiplayer-app/session-recorder-common';
|
|
7
7
|
declare let SessionRecorderInstance: SessionRecorder;
|
|
8
8
|
export { recorderEventBus };
|
|
9
|
+
export { SessionRecorderInstance as SessionRecorder };
|
|
9
10
|
export default SessionRecorderInstance;
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,0CAA0C,CAAA;AAIxD,QAAA,IAAI,uBAAuB,EAAE,eAAe,CAAA;AAoB5C,OAAO,EAAE,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,0CAA0C,CAAA;AAIxD,QAAA,IAAI,uBAAuB,EAAE,eAAe,CAAA;AAoB5C,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC3B,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,CAAA;AAErD,eAAe,uBAAuB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -24263,7 +24263,7 @@ const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
|
|
|
24263
24263
|
const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
|
|
24264
24264
|
const REMOTE_SESSION_RECORDING_START = 'remote-session-recording:start';
|
|
24265
24265
|
const REMOTE_SESSION_RECORDING_STOP = 'remote-session-recording:stop';
|
|
24266
|
-
const PACKAGE_VERSION_EXPORT = "2.0.
|
|
24266
|
+
const PACKAGE_VERSION_EXPORT = "2.0.24" || 0;
|
|
24267
24267
|
// Regex patterns for OpenTelemetry ignore URLs
|
|
24268
24268
|
const OTEL_IGNORE_URLS = [
|
|
24269
24269
|
// Traces endpoint
|
|
@@ -24347,8 +24347,11 @@ const BASE_CONFIG = {
|
|
|
24347
24347
|
apiBaseUrl: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_BASE_API_URL,
|
|
24348
24348
|
exporterEndpoint: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,
|
|
24349
24349
|
recordCanvas: false,
|
|
24350
|
-
|
|
24351
|
-
|
|
24350
|
+
// Off by default: inlining reads pixels via canvas and requires CORS on cross-origin hosts (e.g. S3).
|
|
24351
|
+
// Set true when asset URLs send Access-Control-Allow-Origin for your app origin.
|
|
24352
|
+
inlineImages: false,
|
|
24353
|
+
// Off by default: inlining fetches stylesheet text; cross-origin <link> assets need CORS when enabled.
|
|
24354
|
+
inlineStylesheet: false,
|
|
24352
24355
|
recordNavigation: true,
|
|
24353
24356
|
schemifyDocSpanPayload: true,
|
|
24354
24357
|
ignoreUrls: [],
|
|
@@ -24361,7 +24364,7 @@ const BASE_CONFIG = {
|
|
|
24361
24364
|
widgetTextOverrides: DEFAULT_WIDGET_TEXT_CONFIG,
|
|
24362
24365
|
useWebsocket: true,
|
|
24363
24366
|
buffering: {
|
|
24364
|
-
enabled:
|
|
24367
|
+
enabled: true,
|
|
24365
24368
|
windowMinutes: 0.5,
|
|
24366
24369
|
snapshotIntervalMs: 20000,
|
|
24367
24370
|
},
|
|
@@ -25948,6 +25951,7 @@ if (typeof XMLHttpRequest !== 'undefined') {
|
|
|
25948
25951
|
|
|
25949
25952
|
class RecorderBrowserSDK {
|
|
25950
25953
|
constructor() {
|
|
25954
|
+
this.generation = 0;
|
|
25951
25955
|
this.intervals = {
|
|
25952
25956
|
restart: null,
|
|
25953
25957
|
bufferSnapshot: null,
|
|
@@ -25983,12 +25987,15 @@ class RecorderBrowserSDK {
|
|
|
25983
25987
|
throw new Error('Configuration not initialized. Call init() before start().');
|
|
25984
25988
|
}
|
|
25985
25989
|
this.startedAt = new Date().toISOString();
|
|
25990
|
+
const gen = ++this.generation;
|
|
25986
25991
|
this.stopFn = (0,rrweb__WEBPACK_IMPORTED_MODULE_6__.record)({
|
|
25987
25992
|
...this._buildRecordOptions(),
|
|
25988
25993
|
emit: async (event) => {
|
|
25994
|
+
if (gen !== this.generation)
|
|
25995
|
+
return;
|
|
25989
25996
|
const ts = event.timestamp;
|
|
25990
25997
|
if (!sessionId) {
|
|
25991
|
-
await this._handleBufferOnlyEvent(event, ts);
|
|
25998
|
+
await this._handleBufferOnlyEvent(event, ts, gen);
|
|
25992
25999
|
return;
|
|
25993
26000
|
}
|
|
25994
26001
|
this._handleLiveSessionEvent(event, ts, sessionId, sessionType);
|
|
@@ -26004,6 +26011,7 @@ class RecorderBrowserSDK {
|
|
|
26004
26011
|
var _a;
|
|
26005
26012
|
try {
|
|
26006
26013
|
(_a = this.stopFn) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
26014
|
+
this.stopFn = undefined;
|
|
26007
26015
|
this.start(sessionId, sessionType);
|
|
26008
26016
|
}
|
|
26009
26017
|
catch (_e) {
|
|
@@ -26017,6 +26025,7 @@ class RecorderBrowserSDK {
|
|
|
26017
26025
|
var _a, _b, _c;
|
|
26018
26026
|
(_a = this.stopFn) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
26019
26027
|
this.stopFn = undefined;
|
|
26028
|
+
this.generation++;
|
|
26020
26029
|
if (!((_b = this.config) === null || _b === void 0 ? void 0 : _b.useWebsocket)) {
|
|
26021
26030
|
(_c = this.socketService) === null || _c === void 0 ? void 0 : _c.close();
|
|
26022
26031
|
}
|
|
@@ -26056,13 +26065,15 @@ class RecorderBrowserSDK {
|
|
|
26056
26065
|
* @param event - Event.
|
|
26057
26066
|
* @param ts - Timestamp.
|
|
26058
26067
|
*/
|
|
26059
|
-
async _handleBufferOnlyEvent(event, ts) {
|
|
26068
|
+
async _handleBufferOnlyEvent(event, ts, gen) {
|
|
26060
26069
|
if (!this.crashBuffer)
|
|
26061
26070
|
return;
|
|
26062
26071
|
try {
|
|
26063
26072
|
this._applyConsoleMasking(event);
|
|
26064
26073
|
const packedEvent = (0,_rrweb_packer__WEBPACK_IMPORTED_MODULE_0__.pack)(event);
|
|
26065
26074
|
this.stoppedAt = new Date(ts).toISOString();
|
|
26075
|
+
if (gen !== this.generation)
|
|
26076
|
+
return;
|
|
26066
26077
|
await this.crashBuffer.appendEvent({
|
|
26067
26078
|
ts,
|
|
26068
26079
|
isFullSnapshot: event.type === _rrweb_types__WEBPACK_IMPORTED_MODULE_1__.EventType.FullSnapshot,
|
|
@@ -26332,10 +26343,11 @@ class ApiService {
|
|
|
26332
26343
|
|
|
26333
26344
|
|
|
26334
26345
|
class CrashBufferService {
|
|
26335
|
-
constructor(db, tabId, windowMs) {
|
|
26346
|
+
constructor(db, tabId, windowMs, ready = Promise.resolve()) {
|
|
26336
26347
|
this.db = db;
|
|
26337
26348
|
this.tabId = tabId;
|
|
26338
26349
|
this.windowMs = windowMs;
|
|
26350
|
+
this.ready = ready;
|
|
26339
26351
|
this.lastPruneAt = 0;
|
|
26340
26352
|
this.pruneInFlight = null;
|
|
26341
26353
|
this.isActive = true;
|
|
@@ -26358,6 +26370,7 @@ class CrashBufferService {
|
|
|
26358
26370
|
if (!this.isActive)
|
|
26359
26371
|
return;
|
|
26360
26372
|
const isFullSnapshot = Boolean(payload.isFullSnapshot);
|
|
26373
|
+
await this.ready;
|
|
26361
26374
|
await this._safe(async () => {
|
|
26362
26375
|
await this.db.appendEvent({
|
|
26363
26376
|
tabId: this.tabId,
|
|
@@ -26378,6 +26391,7 @@ class CrashBufferService {
|
|
|
26378
26391
|
if (!this.isActive)
|
|
26379
26392
|
return;
|
|
26380
26393
|
let errorEvent = null;
|
|
26394
|
+
await this.ready;
|
|
26381
26395
|
await this._safe(async () => {
|
|
26382
26396
|
const records = payload.map((p) => {
|
|
26383
26397
|
var _a, _b;
|
|
@@ -26426,6 +26440,7 @@ class CrashBufferService {
|
|
|
26426
26440
|
}
|
|
26427
26441
|
async snapshot(_windowMs, now = Date.now()) {
|
|
26428
26442
|
var _a, _b;
|
|
26443
|
+
await this.ready;
|
|
26429
26444
|
const stoppedAt = now;
|
|
26430
26445
|
const startedAt = Math.max(0, stoppedAt - this.windowMs);
|
|
26431
26446
|
// Always include a full snapshot "anchor" if one exists at/before the window start.
|
|
@@ -27060,6 +27075,8 @@ class SocketService extends lib0_observable__WEBPACK_IMPORTED_MODULE_4__.Observa
|
|
|
27060
27075
|
this.sessionId = null;
|
|
27061
27076
|
this.usePostMessage = false;
|
|
27062
27077
|
this.isInitialized = false;
|
|
27078
|
+
this.lastUserPayload = null;
|
|
27079
|
+
this.lastSubscribeSession = null;
|
|
27063
27080
|
this.options = {
|
|
27064
27081
|
apiKey: '',
|
|
27065
27082
|
socketUrl: '',
|
|
@@ -27122,6 +27139,15 @@ class SocketService extends lib0_observable__WEBPACK_IMPORTED_MODULE_4__.Observa
|
|
|
27122
27139
|
this.isConnecting = false;
|
|
27123
27140
|
this.isConnected = true;
|
|
27124
27141
|
this.usePostMessage = false;
|
|
27142
|
+
// Re-establish identity and session on every (re)connect: socket.io's auto-reconnect
|
|
27143
|
+
// fires 'ready' again after a drop, but the server has no memory of the previous
|
|
27144
|
+
// setUser/subscribe calls — the client must replay them.
|
|
27145
|
+
if (this.lastUserPayload && this.socket) {
|
|
27146
|
+
this.socket.emit(_config__WEBPACK_IMPORTED_MODULE_2__.SOCKET_SET_USER_EVENT, this.lastUserPayload);
|
|
27147
|
+
}
|
|
27148
|
+
if (this.lastSubscribeSession) {
|
|
27149
|
+
this._emitSubscribe(this.lastSubscribeSession);
|
|
27150
|
+
}
|
|
27125
27151
|
this.flushQueue();
|
|
27126
27152
|
});
|
|
27127
27153
|
this.socket.on('disconnect', (err) => {
|
|
@@ -27188,16 +27214,33 @@ class SocketService extends lib0_observable__WEBPACK_IMPORTED_MODULE_4__.Observa
|
|
|
27188
27214
|
this.emitSocketEvent(_config__WEBPACK_IMPORTED_MODULE_2__.SESSION_ADD_EVENT, event);
|
|
27189
27215
|
}
|
|
27190
27216
|
subscribeToSession(session) {
|
|
27217
|
+
// Remember the session so reconnects replay subscribe + started.
|
|
27218
|
+
this.lastSubscribeSession = session;
|
|
27219
|
+
this._emitSubscribe(session);
|
|
27220
|
+
}
|
|
27221
|
+
_emitSubscribe(session) {
|
|
27191
27222
|
this.sessionId = session.shortId || session._id;
|
|
27192
|
-
const
|
|
27223
|
+
const subscribePayload = {
|
|
27193
27224
|
projectId: session.project,
|
|
27194
27225
|
workspaceId: session.workspace,
|
|
27195
27226
|
debugSessionId: this.sessionId,
|
|
27196
27227
|
sessionType: session.creationType,
|
|
27197
27228
|
};
|
|
27198
|
-
|
|
27199
|
-
//
|
|
27200
|
-
|
|
27229
|
+
const startedPayload = { debugSessionId: session._id };
|
|
27230
|
+
// Send directly (not via the queue). The queue would cause a duplicate emit on
|
|
27231
|
+
// the next 'ready' alongside the replay, since 'ready' also replays lastSubscribeSession.
|
|
27232
|
+
if (this.usePostMessage) {
|
|
27233
|
+
this.sendViaPostMessage(_config__WEBPACK_IMPORTED_MODULE_2__.SESSION_SUBSCRIBE_EVENT, subscribePayload);
|
|
27234
|
+
this.sendViaPostMessage(_config__WEBPACK_IMPORTED_MODULE_2__.SESSION_STARTED_EVENT, startedPayload);
|
|
27235
|
+
}
|
|
27236
|
+
else if (this.socket && this.isConnected) {
|
|
27237
|
+
this.socket.emit(_config__WEBPACK_IMPORTED_MODULE_2__.SESSION_SUBSCRIBE_EVENT, subscribePayload);
|
|
27238
|
+
this.socket.emit(_config__WEBPACK_IMPORTED_MODULE_2__.SESSION_STARTED_EVENT, startedPayload);
|
|
27239
|
+
}
|
|
27240
|
+
else {
|
|
27241
|
+
// Not connected: 'ready' will replay via lastSubscribeSession once the socket is up.
|
|
27242
|
+
this._initConnection();
|
|
27243
|
+
}
|
|
27201
27244
|
}
|
|
27202
27245
|
unsubscribeFromSession(stopSession) {
|
|
27203
27246
|
if (this.sessionId) {
|
|
@@ -27206,9 +27249,23 @@ class SocketService extends lib0_observable__WEBPACK_IMPORTED_MODULE_4__.Observa
|
|
|
27206
27249
|
this.emitSocketEvent(_config__WEBPACK_IMPORTED_MODULE_2__.SESSION_STOPPED_EVENT, {});
|
|
27207
27250
|
}
|
|
27208
27251
|
}
|
|
27252
|
+
this.lastSubscribeSession = null;
|
|
27209
27253
|
}
|
|
27210
27254
|
setUser(data) {
|
|
27211
|
-
|
|
27255
|
+
// Remember the last identity so 'ready' (initial connect + every reconnect) can replay it.
|
|
27256
|
+
// Send directly here rather than queuing: the queue would cause a duplicate emit on the
|
|
27257
|
+
// next 'ready' alongside the replay.
|
|
27258
|
+
this.lastUserPayload = data;
|
|
27259
|
+
if (this.usePostMessage) {
|
|
27260
|
+
this.sendViaPostMessage(_config__WEBPACK_IMPORTED_MODULE_2__.SOCKET_SET_USER_EVENT, data);
|
|
27261
|
+
}
|
|
27262
|
+
else if (this.socket && this.isConnected) {
|
|
27263
|
+
this.socket.emit(_config__WEBPACK_IMPORTED_MODULE_2__.SOCKET_SET_USER_EVENT, data);
|
|
27264
|
+
}
|
|
27265
|
+
else {
|
|
27266
|
+
// Not connected yet: 'ready' will replay lastUserPayload once the socket is up.
|
|
27267
|
+
this._initConnection();
|
|
27268
|
+
}
|
|
27212
27269
|
}
|
|
27213
27270
|
close() {
|
|
27214
27271
|
return new Promise((resolve) => {
|
|
@@ -27449,13 +27506,11 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27449
27506
|
this._start();
|
|
27450
27507
|
}
|
|
27451
27508
|
else {
|
|
27452
|
-
// Buffer-only recording when there is no active debug session.
|
|
27453
27509
|
this._startBufferOnlyRecording();
|
|
27454
27510
|
}
|
|
27455
27511
|
this._registerWidgetEvents();
|
|
27456
27512
|
this._registerSocketServiceListeners();
|
|
27457
27513
|
_services_messaging_service__WEBPACK_IMPORTED_MODULE_9__["default"].sendMessage('state-change', this.sessionState);
|
|
27458
|
-
// Emit init observable event
|
|
27459
27514
|
this.emit('init', [this]);
|
|
27460
27515
|
}
|
|
27461
27516
|
_setupCrashBuffer() {
|
|
@@ -27463,7 +27518,8 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27463
27518
|
if ((_a = this._configs.buffering) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
27464
27519
|
const windowMinutes = this._configs.buffering.windowMinutes || 0.5;
|
|
27465
27520
|
const windowMs = Math.max(10000, windowMinutes * 60 * 1000);
|
|
27466
|
-
|
|
27521
|
+
const ready = this._bufferDb.clearTab(this._tabId).catch(() => undefined);
|
|
27522
|
+
this._crashBuffer = new _services_crashBuffer_service__WEBPACK_IMPORTED_MODULE_13__.CrashBufferService(this._bufferDb, this._tabId, windowMs, ready);
|
|
27467
27523
|
this._recorder.setCrashBuffer(this._crashBuffer);
|
|
27468
27524
|
this._tracer.setCrashBuffer(this._crashBuffer);
|
|
27469
27525
|
this._crashBuffer.on('error-span-appended', (payload) => {
|
|
@@ -27515,10 +27571,14 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27515
27571
|
}
|
|
27516
27572
|
_startBufferOnlyRecording() {
|
|
27517
27573
|
var _a, _b;
|
|
27518
|
-
|
|
27519
|
-
|
|
27520
|
-
|
|
27521
|
-
|
|
27574
|
+
// NOTE: `this.sessionId` is intentionally NOT checked. `_stop()` runs
|
|
27575
|
+
// before `_clearSession()` (the stopSession API call sits between them),
|
|
27576
|
+
// so the clear().then() chain fires while sessionId is still set.
|
|
27577
|
+
// Bailing on sessionId here meant rrweb never restarted after manual
|
|
27578
|
+
// stop, leaving the buffer with no FullSnapshot and silently breaking
|
|
27579
|
+
// exception-triggered flushBuffer. `_recorder.restart(null, ...)` passes
|
|
27580
|
+
// null explicitly, so it's safe regardless of `this.sessionId`.
|
|
27581
|
+
if (!this._crashBuffer || !((_b = (_a = this._configs) === null || _a === void 0 ? void 0 : _a.buffering) === null || _b === void 0 ? void 0 : _b.enabled) || this.sessionState !== _types__WEBPACK_IMPORTED_MODULE_4__.SessionState.stopped) {
|
|
27522
27582
|
return;
|
|
27523
27583
|
}
|
|
27524
27584
|
void this._recorder.restart(null, _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.SessionType.MANUAL);
|
|
@@ -27588,9 +27648,10 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27588
27648
|
async stop(comment) {
|
|
27589
27649
|
try {
|
|
27590
27650
|
this._checkOperation('stop');
|
|
27651
|
+
const sid = this.sessionId;
|
|
27591
27652
|
this._stop();
|
|
27592
27653
|
if (this.continuousRecording) {
|
|
27593
|
-
await this._apiService.stopContinuousDebugSession(
|
|
27654
|
+
await this._apiService.stopContinuousDebugSession(sid);
|
|
27594
27655
|
this.sessionType = _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.SessionType.MANUAL;
|
|
27595
27656
|
}
|
|
27596
27657
|
else {
|
|
@@ -27598,10 +27659,9 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27598
27659
|
sessionAttributes: { comment },
|
|
27599
27660
|
stoppedAt: this._recorder.stoppedAt,
|
|
27600
27661
|
};
|
|
27601
|
-
const response = await this._apiService.stopSession(
|
|
27662
|
+
const response = await this._apiService.stopSession(sid, request);
|
|
27602
27663
|
_eventBus__WEBPACK_IMPORTED_MODULE_7__.recorderEventBus.emit(_config__WEBPACK_IMPORTED_MODULE_5__.SESSION_RESPONSE, response);
|
|
27603
27664
|
}
|
|
27604
|
-
this._clearSession();
|
|
27605
27665
|
}
|
|
27606
27666
|
catch (error) {
|
|
27607
27667
|
this.error = error.message;
|
|
@@ -27637,15 +27697,15 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27637
27697
|
async cancel() {
|
|
27638
27698
|
try {
|
|
27639
27699
|
this._checkOperation('cancel');
|
|
27700
|
+
const sid = this.sessionId;
|
|
27640
27701
|
this._stop();
|
|
27641
27702
|
if (this.continuousRecording) {
|
|
27642
|
-
await this._apiService.stopContinuousDebugSession(
|
|
27703
|
+
await this._apiService.stopContinuousDebugSession(sid);
|
|
27643
27704
|
this.sessionType = _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.SessionType.MANUAL;
|
|
27644
27705
|
}
|
|
27645
27706
|
else {
|
|
27646
|
-
await this._apiService.cancelSession(
|
|
27707
|
+
await this._apiService.cancelSession(sid);
|
|
27647
27708
|
}
|
|
27648
|
-
this._clearSession();
|
|
27649
27709
|
}
|
|
27650
27710
|
catch (error) {
|
|
27651
27711
|
this.error = error.message;
|
|
@@ -27697,12 +27757,7 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27697
27757
|
}
|
|
27698
27758
|
}
|
|
27699
27759
|
async _flushBuffer(sessionId) {
|
|
27700
|
-
|
|
27701
|
-
if (!sessionId ||
|
|
27702
|
-
!this._crashBuffer ||
|
|
27703
|
-
this._isFlushingBuffer ||
|
|
27704
|
-
!((_b = (_a = this._configs) === null || _a === void 0 ? void 0 : _a.buffering) === null || _b === void 0 ? void 0 : _b.enabled) ||
|
|
27705
|
-
this.sessionState !== _types__WEBPACK_IMPORTED_MODULE_4__.SessionState.stopped) {
|
|
27760
|
+
if (!sessionId || !this._crashBuffer || this._isFlushingBuffer) {
|
|
27706
27761
|
return null;
|
|
27707
27762
|
}
|
|
27708
27763
|
this._isFlushingBuffer = true;
|
|
@@ -27892,6 +27947,8 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27892
27947
|
});
|
|
27893
27948
|
this._socketService.on(_config__WEBPACK_IMPORTED_MODULE_5__.SESSION_SAVE_BUFFER_EVENT, (payload) => {
|
|
27894
27949
|
var _a;
|
|
27950
|
+
if (this.sessionState !== _types__WEBPACK_IMPORTED_MODULE_4__.SessionState.stopped)
|
|
27951
|
+
return;
|
|
27895
27952
|
this._flushBuffer((_a = payload === null || payload === void 0 ? void 0 : payload.debugSession) === null || _a === void 0 ? void 0 : _a._id);
|
|
27896
27953
|
});
|
|
27897
27954
|
}
|
|
@@ -27962,7 +28019,18 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_16__.Obse
|
|
|
27962
28019
|
this._tracer.stop();
|
|
27963
28020
|
this._recorder.stop();
|
|
27964
28021
|
this._navigationRecorder.stop();
|
|
27965
|
-
|
|
28022
|
+
// Clear session identity synchronously. The buffer-restart chain and the
|
|
28023
|
+
// error-span-appended listener both gate on `this.sessionId === null`;
|
|
28024
|
+
// deferring this to `_clearSession()` (after the network stopSession
|
|
28025
|
+
// call) left them seeing a stale id and silently no-oping. Callers that
|
|
28026
|
+
// need the id for the stop/cancel API must capture it before _stop().
|
|
28027
|
+
this.session = null;
|
|
28028
|
+
this.sessionId = null;
|
|
28029
|
+
// rrweb assigns new node IDs on each record() call, so the next buffer
|
|
28030
|
+
// segment must not carry events from the previous generation. Await the
|
|
28031
|
+
// clear so its IDB tx can't race past the fresh FullSnapshot.
|
|
28032
|
+
const cleared = this._crashBuffer ? this._crashBuffer.clear() : Promise.resolve();
|
|
28033
|
+
void cleared.catch(() => undefined).then(() => this._startBufferOnlyRecording());
|
|
27966
28034
|
}
|
|
27967
28035
|
/**
|
|
27968
28036
|
* Pause the session tracing and recording
|
|
@@ -56528,6 +56596,7 @@ var __webpack_exports__ = {};
|
|
|
56528
56596
|
/* harmony export */ MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_7__.MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX),
|
|
56529
56597
|
/* harmony export */ MULTIPLAYER_TRACE_SESSION_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_7__.MULTIPLAYER_TRACE_SESSION_PREFIX),
|
|
56530
56598
|
/* harmony export */ NavigationRecorder: () => (/* reexport safe */ _navigation__WEBPACK_IMPORTED_MODULE_6__.NavigationRecorder),
|
|
56599
|
+
/* harmony export */ SessionRecorder: () => (/* binding */ SessionRecorderInstance),
|
|
56531
56600
|
/* harmony export */ SessionRecorderBrowserTraceExporter: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_7__.SessionRecorderBrowserTraceExporter),
|
|
56532
56601
|
/* harmony export */ SessionRecorderIdGenerator: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_7__.SessionRecorderIdGenerator),
|
|
56533
56602
|
/* harmony export */ SessionRecorderSdk: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_7__.SessionRecorderSdk),
|
|
@@ -56575,6 +56644,7 @@ else {
|
|
|
56575
56644
|
SessionRecorderInstance = new _session_recorder__WEBPACK_IMPORTED_MODULE_3__.SessionRecorder();
|
|
56576
56645
|
}
|
|
56577
56646
|
|
|
56647
|
+
|
|
56578
56648
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SessionRecorderInstance);
|
|
56579
56649
|
|
|
56580
56650
|
})();
|
|
@@ -56629,6 +56699,7 @@ var __webpack_exports__MULTIPLAYER_TRACE_PREFIX_MAP = __webpack_exports__.MULTIP
|
|
|
56629
56699
|
var __webpack_exports__MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX = __webpack_exports__.MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX;
|
|
56630
56700
|
var __webpack_exports__MULTIPLAYER_TRACE_SESSION_PREFIX = __webpack_exports__.MULTIPLAYER_TRACE_SESSION_PREFIX;
|
|
56631
56701
|
var __webpack_exports__NavigationRecorder = __webpack_exports__.NavigationRecorder;
|
|
56702
|
+
var __webpack_exports__SessionRecorder = __webpack_exports__.SessionRecorder;
|
|
56632
56703
|
var __webpack_exports__SessionRecorderBrowserTraceExporter = __webpack_exports__.SessionRecorderBrowserTraceExporter;
|
|
56633
56704
|
var __webpack_exports__SessionRecorderIdGenerator = __webpack_exports__.SessionRecorderIdGenerator;
|
|
56634
56705
|
var __webpack_exports__SessionRecorderSdk = __webpack_exports__.SessionRecorderSdk;
|
|
@@ -56639,6 +56710,6 @@ var __webpack_exports__UserType = __webpack_exports__.UserType;
|
|
|
56639
56710
|
var __webpack_exports__WidgetButtonPlacement = __webpack_exports__.WidgetButtonPlacement;
|
|
56640
56711
|
var __webpack_exports__default = __webpack_exports__["default"];
|
|
56641
56712
|
var __webpack_exports__recorderEventBus = __webpack_exports__.recorderEventBus;
|
|
56642
|
-
export { __webpack_exports__ATTR_MULTIPLAYER_CLIENT_ID as ATTR_MULTIPLAYER_CLIENT_ID, __webpack_exports__ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE as ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE, __webpack_exports__ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON as ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON, __webpack_exports__ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE as ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING as ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE as ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_HTTP_PROXY as ATTR_MULTIPLAYER_HTTP_PROXY, __webpack_exports__ATTR_MULTIPLAYER_HTTP_PROXY_TYPE as ATTR_MULTIPLAYER_HTTP_PROXY_TYPE, __webpack_exports__ATTR_MULTIPLAYER_HTTP_REQUEST_BODY as ATTR_MULTIPLAYER_HTTP_REQUEST_BODY, __webpack_exports__ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS as ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS, __webpack_exports__ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY as ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY, __webpack_exports__ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING as ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS as ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS, __webpack_exports__ATTR_MULTIPLAYER_INTEGRATION_ID as ATTR_MULTIPLAYER_INTEGRATION_ID, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_COMPONENT_HASH as ATTR_MULTIPLAYER_ISSUE_COMPONENT_HASH, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH as ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_HASH as ATTR_MULTIPLAYER_ISSUE_HASH, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_TITLE_HASH as ATTR_MULTIPLAYER_ISSUE_TITLE_HASH, __webpack_exports__ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY as ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY, __webpack_exports__ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING as ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_PLATFORM_ID as ATTR_MULTIPLAYER_PLATFORM_ID, __webpack_exports__ATTR_MULTIPLAYER_PLATFORM_NAME as ATTR_MULTIPLAYER_PLATFORM_NAME, __webpack_exports__ATTR_MULTIPLAYER_PROJECT_ID as ATTR_MULTIPLAYER_PROJECT_ID, __webpack_exports__ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE as ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING as ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE as ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_SESSION_CLIENT_ID as ATTR_MULTIPLAYER_SESSION_CLIENT_ID, __webpack_exports__ATTR_MULTIPLAYER_SESSION_ID as ATTR_MULTIPLAYER_SESSION_ID, __webpack_exports__ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION as ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION, __webpack_exports__ATTR_MULTIPLAYER_USER_HASH as ATTR_MULTIPLAYER_USER_HASH, __webpack_exports__ATTR_MULTIPLAYER_WORKSPACE_ID as ATTR_MULTIPLAYER_WORKSPACE_ID, __webpack_exports__DebugSessionDataType as DebugSessionDataType, __webpack_exports__MASK_PLACEHOLDER as MASK_PLACEHOLDER, __webpack_exports__MULTIPLAYER_ATTRIBUTE_PREFIX as MULTIPLAYER_ATTRIBUTE_PREFIX, __webpack_exports__MULTIPLAYER_BASE_API_URL as MULTIPLAYER_BASE_API_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL as MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL as MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL as MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL as MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL as MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL as MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL, __webpack_exports__MULTIPLAYER_TRACE_CLIENT_ID_LENGTH as MULTIPLAYER_TRACE_CLIENT_ID_LENGTH, __webpack_exports__MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX as MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_DEBUG_PREFIX as MULTIPLAYER_TRACE_DEBUG_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH as MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH, __webpack_exports__MULTIPLAYER_TRACE_DOC_PREFIX as MULTIPLAYER_TRACE_DOC_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_PREFIX_MAP as MULTIPLAYER_TRACE_PREFIX_MAP, __webpack_exports__MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX as MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_SESSION_PREFIX as MULTIPLAYER_TRACE_SESSION_PREFIX, __webpack_exports__NavigationRecorder as NavigationRecorder, __webpack_exports__SessionRecorderBrowserTraceExporter as SessionRecorderBrowserTraceExporter, __webpack_exports__SessionRecorderIdGenerator as SessionRecorderIdGenerator, __webpack_exports__SessionRecorderSdk as SessionRecorderSdk, __webpack_exports__SessionRecorderTraceIdRatioBasedSampler as SessionRecorderTraceIdRatioBasedSampler, __webpack_exports__SessionState as SessionState, __webpack_exports__SessionType as SessionType, __webpack_exports__UserType as UserType, __webpack_exports__WidgetButtonPlacement as WidgetButtonPlacement, __webpack_exports__default as default, __webpack_exports__recorderEventBus as recorderEventBus };
|
|
56713
|
+
export { __webpack_exports__ATTR_MULTIPLAYER_CLIENT_ID as ATTR_MULTIPLAYER_CLIENT_ID, __webpack_exports__ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE as ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE, __webpack_exports__ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON as ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON, __webpack_exports__ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE as ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING as ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE as ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_HTTP_PROXY as ATTR_MULTIPLAYER_HTTP_PROXY, __webpack_exports__ATTR_MULTIPLAYER_HTTP_PROXY_TYPE as ATTR_MULTIPLAYER_HTTP_PROXY_TYPE, __webpack_exports__ATTR_MULTIPLAYER_HTTP_REQUEST_BODY as ATTR_MULTIPLAYER_HTTP_REQUEST_BODY, __webpack_exports__ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS as ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS, __webpack_exports__ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY as ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY, __webpack_exports__ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING as ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS as ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS, __webpack_exports__ATTR_MULTIPLAYER_INTEGRATION_ID as ATTR_MULTIPLAYER_INTEGRATION_ID, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_COMPONENT_HASH as ATTR_MULTIPLAYER_ISSUE_COMPONENT_HASH, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH as ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_HASH as ATTR_MULTIPLAYER_ISSUE_HASH, __webpack_exports__ATTR_MULTIPLAYER_ISSUE_TITLE_HASH as ATTR_MULTIPLAYER_ISSUE_TITLE_HASH, __webpack_exports__ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY as ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY, __webpack_exports__ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING as ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_PLATFORM_ID as ATTR_MULTIPLAYER_PLATFORM_ID, __webpack_exports__ATTR_MULTIPLAYER_PLATFORM_NAME as ATTR_MULTIPLAYER_PLATFORM_NAME, __webpack_exports__ATTR_MULTIPLAYER_PROJECT_ID as ATTR_MULTIPLAYER_PROJECT_ID, __webpack_exports__ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE as ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING as ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING, __webpack_exports__ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE as ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE, __webpack_exports__ATTR_MULTIPLAYER_SESSION_CLIENT_ID as ATTR_MULTIPLAYER_SESSION_CLIENT_ID, __webpack_exports__ATTR_MULTIPLAYER_SESSION_ID as ATTR_MULTIPLAYER_SESSION_ID, __webpack_exports__ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION as ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION, __webpack_exports__ATTR_MULTIPLAYER_USER_HASH as ATTR_MULTIPLAYER_USER_HASH, __webpack_exports__ATTR_MULTIPLAYER_WORKSPACE_ID as ATTR_MULTIPLAYER_WORKSPACE_ID, __webpack_exports__DebugSessionDataType as DebugSessionDataType, __webpack_exports__MASK_PLACEHOLDER as MASK_PLACEHOLDER, __webpack_exports__MULTIPLAYER_ATTRIBUTE_PREFIX as MULTIPLAYER_ATTRIBUTE_PREFIX, __webpack_exports__MULTIPLAYER_BASE_API_URL as MULTIPLAYER_BASE_API_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL as MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL as MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL as MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL as MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL as MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL, __webpack_exports__MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL as MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL, __webpack_exports__MULTIPLAYER_TRACE_CLIENT_ID_LENGTH as MULTIPLAYER_TRACE_CLIENT_ID_LENGTH, __webpack_exports__MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX as MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_DEBUG_PREFIX as MULTIPLAYER_TRACE_DEBUG_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH as MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH, __webpack_exports__MULTIPLAYER_TRACE_DOC_PREFIX as MULTIPLAYER_TRACE_DOC_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_PREFIX_MAP as MULTIPLAYER_TRACE_PREFIX_MAP, __webpack_exports__MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX as MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX, __webpack_exports__MULTIPLAYER_TRACE_SESSION_PREFIX as MULTIPLAYER_TRACE_SESSION_PREFIX, __webpack_exports__NavigationRecorder as NavigationRecorder, __webpack_exports__SessionRecorder as SessionRecorder, __webpack_exports__SessionRecorderBrowserTraceExporter as SessionRecorderBrowserTraceExporter, __webpack_exports__SessionRecorderIdGenerator as SessionRecorderIdGenerator, __webpack_exports__SessionRecorderSdk as SessionRecorderSdk, __webpack_exports__SessionRecorderTraceIdRatioBasedSampler as SessionRecorderTraceIdRatioBasedSampler, __webpack_exports__SessionState as SessionState, __webpack_exports__SessionType as SessionType, __webpack_exports__UserType as UserType, __webpack_exports__WidgetButtonPlacement as WidgetButtonPlacement, __webpack_exports__default as default, __webpack_exports__recorderEventBus as recorderEventBus };
|
|
56643
56714
|
|
|
56644
56715
|
//# sourceMappingURL=index.js.map
|