@multiplayer-app/session-recorder-browser 1.2.14 → 1.2.15

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
@@ -67,7 +67,7 @@ SessionRecorder.init({
67
67
  // e.g. if you serve your website from www.example.com
68
68
  // and your backend domain is at api.example.com set value as shown below:
69
69
  // format: string|RegExp|Array
70
- // propagateTraceHeaderCorsUrls: [new RegExp('https://api.example.com', 'i')],
70
+ propagateTraceHeaderCorsUrls: [new RegExp('https://api.example.com', 'i')],
71
71
  })
72
72
 
73
73
  // add any key value pairs which should be associated with a session
@@ -229,7 +229,7 @@ SessionRecorder.stop('Finished session') // optional: pass reason for stopping t
229
229
 
230
230
  ### Continuous session recording
231
231
 
232
- Below is an example showing how to create a session in `CONTINUOUS` mode. Continuous session recordings **stream** all the data received between calling `start` and `stop` -
232
+ Below is an example showing how to create a session in `CONTINUOUS` mode. Continuous session recordings **stream** all the data received between calling `start` and `stop` -
233
233
  but only **save** a rolling window data (90 seconds by default) when:
234
234
 
235
235
  - an exception or error occurs;
@@ -262,22 +262,15 @@ SessionRecorder.stop('Finished session') // optional: pass reason for stopping t
262
262
  Continuous session recordings may also be saved from within any service or component involved in a trace by adding the attributes below to a span:
263
263
 
264
264
  ```javascript
265
- import { trace, context } from "@opentelemetry/api"
266
- import SessionRecorder from "@multiplayer-app/session-recorder-browser"
265
+ import { trace, context } from '@opentelemetry/api'
266
+ import SessionRecorder from '@multiplayer-app/session-recorder-browser'
267
267
 
268
268
  const activeContext = context.active()
269
269
 
270
270
  const activeSpan = trace.getSpan(activeContext)
271
271
 
272
- activeSpan.setAttribute(
273
- SessionRecorder.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE,
274
- true
275
- )
276
- activeSpan.setAttribute(
277
- SessionRecorder.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON,
278
- "Some reason"
279
- )
280
-
272
+ activeSpan.setAttribute(SessionRecorder.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE, true)
273
+ activeSpan.setAttribute(SessionRecorder.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON, 'Some reason')
281
274
  ```
282
275
 
283
276
  ## Session Recorder for Next.js
@@ -379,6 +372,7 @@ SessionRecorder.init({
379
372
 
380
373
  - Next.js: initialize the browser SDK in a Client Component (see example in the browser README). Ensure it runs only in the browser.
381
374
  - CORS: when your frontend calls multiple API domains, set `propagateTraceHeaderCorsUrls` to match them so parent/child spans correlate across services.
375
+
382
376
  ## Documentation
383
377
 
384
378
  For more details on how the Multiplayer Session Recorder integrates with your backend architecture and system auto-documentation, check out our [official documentation](https://www.multiplayer.app/docs/features/system-auto-documentation/).
@@ -25243,7 +25243,7 @@ const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
25243
25243
  const SESSION_RESPONSE = 'multiplayer-debug-session-response';
25244
25244
  const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
25245
25245
  const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
25246
- const PACKAGE_VERSION_EXPORT = "1.2.14" || 0;
25246
+ const PACKAGE_VERSION_EXPORT = "1.2.15" || 0;
25247
25247
  // Regex patterns for OpenTelemetry ignore URLs
25248
25248
  const OTEL_IGNORE_URLS = [
25249
25249
  // Traces endpoint
@@ -25329,6 +25329,7 @@ const BASE_CONFIG = {
25329
25329
  apiBaseUrl: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_BASE_API_URL,
25330
25330
  exporterEndpoint: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,
25331
25331
  recordCanvas: false,
25332
+ recordNavigation: true,
25332
25333
  schemifyDocSpanPayload: true,
25333
25334
  ignoreUrls: [],
25334
25335
  propagateTraceHeaderCorsUrls: [],
@@ -25506,6 +25507,7 @@ const getSessionRecorderConfig = (c) => {
25506
25507
  showWidget: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.showWidget, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.showWidget),
25507
25508
  showContinuousRecording: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.showContinuousRecording, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.showContinuousRecording),
25508
25509
  recordCanvas: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.recordCanvas, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.recordCanvas),
25510
+ recordNavigation: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.recordNavigation, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.recordNavigation),
25509
25511
  widgetButtonPlacement: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidEnum)(c.widgetButtonPlacement, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.widgetButtonPlacement, Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.WidgetButtonPlacement)),
25510
25512
  ignoreUrls: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidArray)(c.ignoreUrls, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.ignoreUrls),
25511
25513
  sampleTraceRatio: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidNumber)(c.sampleTraceRatio, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.sampleTraceRatio),
@@ -25639,6 +25641,250 @@ function setupListeners(sessionRecorder) {
25639
25641
  }
25640
25642
 
25641
25643
 
25644
+ /***/ }),
25645
+
25646
+ /***/ "./src/navigation/index.ts":
25647
+ /*!*********************************!*\
25648
+ !*** ./src/navigation/index.ts ***!
25649
+ \*********************************/
25650
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
25651
+
25652
+ "use strict";
25653
+ __webpack_require__.r(__webpack_exports__);
25654
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25655
+ /* harmony export */ NavigationRecorder: () => (/* reexport safe */ _navigationRecorder__WEBPACK_IMPORTED_MODULE_0__.NavigationRecorder)
25656
+ /* harmony export */ });
25657
+ /* harmony import */ var _navigationRecorder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./navigationRecorder */ "./src/navigation/navigationRecorder.ts");
25658
+ /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "./src/navigation/types.ts");
25659
+
25660
+
25661
+
25662
+
25663
+ /***/ }),
25664
+
25665
+ /***/ "./src/navigation/navigationRecorder.ts":
25666
+ /*!**********************************************!*\
25667
+ !*** ./src/navigation/navigationRecorder.ts ***!
25668
+ \**********************************************/
25669
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
25670
+
25671
+ "use strict";
25672
+ __webpack_require__.r(__webpack_exports__);
25673
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25674
+ /* harmony export */ NavigationRecorder: () => (/* binding */ NavigationRecorder)
25675
+ /* harmony export */ });
25676
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
25677
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/status.js");
25678
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
25679
+
25680
+
25681
+ const DEFAULT_CONFIG = {
25682
+ enabled: true,
25683
+ };
25684
+ const DEFAULT_FRAMEWORK = 'web';
25685
+ const DEFAULT_SOURCE = 'router';
25686
+ class NavigationRecorder {
25687
+ constructor() {
25688
+ this.config = { ...DEFAULT_CONFIG };
25689
+ this.isRecording = false;
25690
+ this.currentRoute = null;
25691
+ this.stack = [];
25692
+ this.navigationStartTime = 0;
25693
+ this.sessionContext = {
25694
+ sessionId: null,
25695
+ sessionType: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.SessionType.MANUAL,
25696
+ };
25697
+ this.api = {
25698
+ record: (signal) => this.record(signal),
25699
+ reset: () => this.reset(),
25700
+ getCurrentRoute: () => this.currentRoute,
25701
+ getStack: () => [...this.stack],
25702
+ };
25703
+ }
25704
+ init(config) {
25705
+ this.config = { ...DEFAULT_CONFIG, ...config };
25706
+ }
25707
+ start(context) {
25708
+ var _a, _b;
25709
+ if (!this.config.enabled) {
25710
+ return;
25711
+ }
25712
+ this.sessionContext = {
25713
+ sessionId: (_a = context === null || context === void 0 ? void 0 : context.sessionId) !== null && _a !== void 0 ? _a : null,
25714
+ sessionType: (_b = context === null || context === void 0 ? void 0 : context.sessionType) !== null && _b !== void 0 ? _b : _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.SessionType.MANUAL,
25715
+ };
25716
+ this.isRecording = true;
25717
+ this.navigationStartTime = Date.now();
25718
+ }
25719
+ pause() {
25720
+ this.isRecording = false;
25721
+ }
25722
+ resume() {
25723
+ if (!this.config.enabled) {
25724
+ return;
25725
+ }
25726
+ this.isRecording = true;
25727
+ this.navigationStartTime = Date.now();
25728
+ }
25729
+ stop() {
25730
+ this.isRecording = false;
25731
+ this.reset();
25732
+ }
25733
+ record(signal) {
25734
+ var _a;
25735
+ if (!this.config.enabled || !this.isRecording) {
25736
+ return;
25737
+ }
25738
+ const timestamp = (_a = signal.timestamp) !== null && _a !== void 0 ? _a : Date.now();
25739
+ const routeKey = this.resolveRouteKey(signal);
25740
+ const previousRoute = this.currentRoute;
25741
+ if (routeKey) {
25742
+ this.updateNavigationStack(routeKey, signal.navigationType);
25743
+ this.currentRoute = routeKey;
25744
+ }
25745
+ const metadata = {
25746
+ ...(signal.metadata || {}),
25747
+ framework: signal.framework || DEFAULT_FRAMEWORK,
25748
+ source: signal.source || DEFAULT_SOURCE,
25749
+ navigationType: signal.navigationType || (previousRoute ? 'push' : 'initial'),
25750
+ navigationDuration: timestamp - this.navigationStartTime,
25751
+ stackDepth: this.stack.length,
25752
+ };
25753
+ if (previousRoute) {
25754
+ metadata.previousRoute = previousRoute;
25755
+ }
25756
+ if (signal.path) {
25757
+ metadata.path = signal.path;
25758
+ }
25759
+ if (signal.title) {
25760
+ metadata.documentTitle = signal.title;
25761
+ }
25762
+ if (signal.url) {
25763
+ metadata.url = signal.url;
25764
+ }
25765
+ if (signal.state !== undefined) {
25766
+ metadata.state = this.stringifySafe(signal.state);
25767
+ }
25768
+ const paramsString = signal.params ? this.stringifySafe(signal.params) : undefined;
25769
+ this.recordSpan({
25770
+ timestamp,
25771
+ routeName: signal.routeName || routeKey,
25772
+ paramsString,
25773
+ metadata,
25774
+ });
25775
+ this.navigationStartTime = timestamp;
25776
+ }
25777
+ recordSpan(payload) {
25778
+ var _a;
25779
+ try {
25780
+ const span = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_1__.trace.getTracer('navigation').startSpan('Navigation.navigate', {
25781
+ startTime: payload.timestamp,
25782
+ attributes: {
25783
+ 'navigation.system': 'router',
25784
+ 'navigation.operation': 'navigate',
25785
+ 'navigation.type': 'navigate',
25786
+ 'navigation.platform': 'web',
25787
+ 'navigation.session_id': (_a = this.sessionContext.sessionId) !== null && _a !== void 0 ? _a : undefined,
25788
+ 'navigation.session_type': this.sessionContext.sessionType,
25789
+ 'navigation.application': this.config.application,
25790
+ 'navigation.environment': this.config.environment,
25791
+ 'navigation.version': this.config.version,
25792
+ },
25793
+ });
25794
+ if (payload.routeName) {
25795
+ span.setAttribute('navigation.route_name', payload.routeName);
25796
+ }
25797
+ if (payload.paramsString) {
25798
+ span.setAttribute('navigation.params', payload.paramsString);
25799
+ }
25800
+ Object.entries(payload.metadata).forEach(([key, value]) => {
25801
+ const normalizedValue = typeof value === 'string' ? value : this.stringifySafe(value);
25802
+ span.setAttribute(`navigation.metadata.${key}`, normalizedValue);
25803
+ });
25804
+ span.setStatus({ code: _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.SpanStatusCode.OK });
25805
+ span.end(payload.timestamp);
25806
+ }
25807
+ catch (error) {
25808
+ if (true) {
25809
+ // eslint-disable-next-line no-console
25810
+ console.warn('[SessionRecorder][NavigationRecorder] Failed to record navigation span', error);
25811
+ }
25812
+ }
25813
+ }
25814
+ updateNavigationStack(routeName, navigationType) {
25815
+ const normalized = (navigationType || '').toLowerCase();
25816
+ if (normalized === 'replace') {
25817
+ if (this.stack.length) {
25818
+ this.stack[this.stack.length - 1] = routeName;
25819
+ }
25820
+ else {
25821
+ this.stack.push(routeName);
25822
+ }
25823
+ return;
25824
+ }
25825
+ if (normalized === 'pop' || normalized === 'back' || normalized === 'goback') {
25826
+ const index = this.stack.lastIndexOf(routeName);
25827
+ if (index >= 0) {
25828
+ this.stack = this.stack.slice(0, index + 1);
25829
+ }
25830
+ else if (this.stack.length) {
25831
+ this.stack.pop();
25832
+ }
25833
+ return;
25834
+ }
25835
+ if (!this.stack.length || this.stack[this.stack.length - 1] !== routeName) {
25836
+ this.stack.push(routeName);
25837
+ }
25838
+ }
25839
+ resolveRouteKey(signal) {
25840
+ if (signal.routeName && typeof signal.routeName === 'string') {
25841
+ return signal.routeName;
25842
+ }
25843
+ if (signal.path && typeof signal.path === 'string') {
25844
+ return signal.path;
25845
+ }
25846
+ if (signal.url && typeof signal.url === 'string') {
25847
+ try {
25848
+ return new URL(signal.url).pathname || signal.url;
25849
+ }
25850
+ catch (_error) {
25851
+ return signal.url;
25852
+ }
25853
+ }
25854
+ if (signal.title && typeof signal.title === 'string') {
25855
+ return signal.title;
25856
+ }
25857
+ return 'unknown';
25858
+ }
25859
+ stringifySafe(value) {
25860
+ try {
25861
+ return JSON.stringify(value);
25862
+ }
25863
+ catch (_error) {
25864
+ return String(value);
25865
+ }
25866
+ }
25867
+ reset() {
25868
+ this.stack = [];
25869
+ this.currentRoute = null;
25870
+ this.navigationStartTime = Date.now();
25871
+ }
25872
+ }
25873
+
25874
+
25875
+ /***/ }),
25876
+
25877
+ /***/ "./src/navigation/types.ts":
25878
+ /*!*********************************!*\
25879
+ !*** ./src/navigation/types.ts ***!
25880
+ \*********************************/
25881
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
25882
+
25883
+ "use strict";
25884
+ __webpack_require__.r(__webpack_exports__);
25885
+
25886
+
25887
+
25642
25888
  /***/ }),
25643
25889
 
25644
25890
  /***/ "./src/otel/helpers.ts":
@@ -26969,7 +27215,9 @@ __webpack_require__.r(__webpack_exports__);
26969
27215
  /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./index.scss */ "./src/index.scss");
26970
27216
  /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
26971
27217
  /* harmony import */ var _sessionWidget_buttonStateConfigs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./sessionWidget/buttonStateConfigs */ "./src/sessionWidget/buttonStateConfigs.ts");
26972
- /* harmony import */ var lib0_observable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! lib0/observable */ "../../node_modules/lib0/observable.js");
27218
+ /* harmony import */ var lib0_observable__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! lib0/observable */ "../../node_modules/lib0/observable.js");
27219
+ /* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./navigation */ "./src/navigation/index.ts");
27220
+
26973
27221
 
26974
27222
 
26975
27223
 
@@ -26984,7 +27232,10 @@ __webpack_require__.r(__webpack_exports__);
26984
27232
 
26985
27233
 
26986
27234
 
26987
- class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Observable {
27235
+ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_14__.Observable {
27236
+ get navigation() {
27237
+ return this._navigationRecorder.api;
27238
+ }
26988
27239
  get isInitialized() {
26989
27240
  return this._isInitialized;
26990
27241
  }
@@ -27032,14 +27283,13 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27032
27283
  set sessionAttributes(attributes) {
27033
27284
  this._sessionAttributes = attributes;
27034
27285
  }
27035
- /**
27036
- * Error message getter and setter to reflect on the session widget
27037
- */
27038
27286
  get error() {
27039
- return this._sessionWidget.error;
27287
+ return this._error;
27040
27288
  }
27041
27289
  set error(v) {
27290
+ this._error = v;
27042
27291
  this._sessionWidget.error = v;
27292
+ this.emit('error', [v]);
27043
27293
  }
27044
27294
  /**
27045
27295
  * Returns the HTML button element for the session widget's recorder button.
@@ -27061,6 +27311,7 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27061
27311
  this._tracer = new _otel__WEBPACK_IMPORTED_MODULE_0__.TracerBrowserSDK();
27062
27312
  this._recorder = new _rrweb__WEBPACK_IMPORTED_MODULE_1__.RecorderBrowserSDK();
27063
27313
  this._sessionWidget = new _sessionWidget__WEBPACK_IMPORTED_MODULE_7__.SessionWidget();
27314
+ this._navigationRecorder = new _navigation__WEBPACK_IMPORTED_MODULE_13__.NavigationRecorder();
27064
27315
  this._startRequestController = null;
27065
27316
  this._isInitialized = false;
27066
27317
  // Session ID and state are stored in localStorage
@@ -27069,6 +27320,10 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27069
27320
  this._sessionState = null;
27070
27321
  this._session = null;
27071
27322
  this._sessionAttributes = null;
27323
+ /**
27324
+ * Error message getter and setter
27325
+ */
27326
+ this._error = '';
27072
27327
  const sessionLocal = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getStoredItem)(_config__WEBPACK_IMPORTED_MODULE_4__.SESSION_PROP_NAME, true);
27073
27328
  const sessionIdLocal = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getStoredItem)(_config__WEBPACK_IMPORTED_MODULE_4__.SESSION_ID_PROP_NAME);
27074
27329
  const sessionStateLocal = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getStoredItem)(_config__WEBPACK_IMPORTED_MODULE_4__.SESSION_STATE_PROP_NAME);
@@ -27103,6 +27358,12 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27103
27358
  this._tracer.init(this._configs);
27104
27359
  this._apiService.init(this._configs);
27105
27360
  this._sessionWidget.init(this._configs);
27361
+ this._navigationRecorder.init({
27362
+ enabled: this._configs.recordNavigation,
27363
+ application: this._configs.application,
27364
+ environment: this._configs.environment,
27365
+ version: this._configs.version,
27366
+ });
27106
27367
  if (this._configs.apiKey) {
27107
27368
  this._recorder.init(this._configs);
27108
27369
  }
@@ -27114,7 +27375,7 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27114
27375
  this._registerSessionAutoCreation();
27115
27376
  _services_messaging_service__WEBPACK_IMPORTED_MODULE_8__["default"].sendMessage('state-change', this.sessionState);
27116
27377
  // Emit init observable event
27117
- this.emit('init', []);
27378
+ this.emit('init', [this]);
27118
27379
  }
27119
27380
  /**
27120
27381
  * Save the continuous recording session
@@ -27403,6 +27664,7 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27403
27664
  this.sessionType = this.sessionType;
27404
27665
  this._tracer.start(this.sessionId, this.sessionType);
27405
27666
  this._recorder.start(this.sessionId, this.sessionType);
27667
+ this._navigationRecorder.start({ sessionId: this.sessionId, sessionType: this.sessionType, });
27406
27668
  if (this.session) {
27407
27669
  _eventBus__WEBPACK_IMPORTED_MODULE_6__.recorderEventBus.emit(_config__WEBPACK_IMPORTED_MODULE_4__.SESSION_STARTED_EVENT, this.session);
27408
27670
  this._recorder.subscribeToSession(this.session);
@@ -27416,6 +27678,7 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27416
27678
  this.sessionState = _types__WEBPACK_IMPORTED_MODULE_3__.SessionState.stopped;
27417
27679
  this._tracer.stop();
27418
27680
  this._recorder.stop();
27681
+ this._navigationRecorder.stop();
27419
27682
  }
27420
27683
  /**
27421
27684
  * Pause the session tracing and recording
@@ -27423,6 +27686,7 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27423
27686
  _pause() {
27424
27687
  this._tracer.stop();
27425
27688
  this._recorder.stop();
27689
+ this._navigationRecorder.pause();
27426
27690
  this.sessionState = _types__WEBPACK_IMPORTED_MODULE_3__.SessionState.paused;
27427
27691
  }
27428
27692
  /**
@@ -27431,6 +27695,7 @@ class SessionRecorder extends lib0_observable__WEBPACK_IMPORTED_MODULE_13__.Obse
27431
27695
  _resume() {
27432
27696
  this._tracer.start(this.sessionId, this.sessionType);
27433
27697
  this._recorder.start(this.sessionId, this.sessionType);
27698
+ this._navigationRecorder.resume();
27434
27699
  this.sessionState = _types__WEBPACK_IMPORTED_MODULE_3__.SessionState.started;
27435
27700
  }
27436
27701
  _setupSessionAndStart(session, configureExporters = true) {
@@ -48942,50 +49207,54 @@ var __webpack_exports__ = {};
48942
49207
  \**********************/
48943
49208
  __webpack_require__.r(__webpack_exports__);
48944
49209
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48945
- /* harmony export */ ATTR_MULTIPLAYER_CLIENT_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_CLIENT_ID),
48946
- /* harmony export */ ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE),
48947
- /* harmony export */ ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON),
48948
- /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE),
48949
- /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING),
48950
- /* harmony export */ ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE),
48951
- /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_PROXY),
48952
- /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY_TYPE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_PROXY_TYPE),
48953
- /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_REQUEST_BODY),
48954
- /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS),
48955
- /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY),
48956
- /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING),
48957
- /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS),
48958
- /* harmony export */ ATTR_MULTIPLAYER_INTEGRATION_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_INTEGRATION_ID),
48959
- /* harmony export */ ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH),
48960
- /* harmony export */ ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY),
48961
- /* harmony export */ ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING),
48962
- /* harmony export */ ATTR_MULTIPLAYER_PLATFORM_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_PLATFORM_ID),
48963
- /* harmony export */ ATTR_MULTIPLAYER_PLATFORM_NAME: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_PLATFORM_NAME),
48964
- /* harmony export */ ATTR_MULTIPLAYER_PROJECT_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_PROJECT_ID),
48965
- /* harmony export */ ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE),
48966
- /* harmony export */ ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING),
48967
- /* harmony export */ ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE),
48968
- /* harmony export */ ATTR_MULTIPLAYER_SESSION_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_SESSION_ID),
48969
- /* harmony export */ ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION),
48970
- /* harmony export */ ATTR_MULTIPLAYER_WORKSPACE_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_WORKSPACE_ID),
48971
- /* harmony export */ MASK_PLACEHOLDER: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MASK_PLACEHOLDER),
48972
- /* harmony export */ MULTIPLAYER_ATTRIBUTE_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_ATTRIBUTE_PREFIX),
48973
- /* harmony export */ MULTIPLAYER_BASE_API_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_BASE_API_URL),
48974
- /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL),
48975
- /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL),
48976
- /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL),
48977
- /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL),
48978
- /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL),
48979
- /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL),
48980
- /* harmony export */ MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX),
48981
- /* harmony export */ MULTIPLAYER_TRACE_DEBUG_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_TRACE_DEBUG_PREFIX),
48982
- /* harmony export */ MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH),
48983
- /* harmony export */ MULTIPLAYER_TRACE_DOC_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.MULTIPLAYER_TRACE_DOC_PREFIX),
48984
- /* harmony export */ SessionRecorderBrowserTraceExporter: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.SessionRecorderBrowserTraceExporter),
48985
- /* harmony export */ SessionRecorderIdGenerator: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.SessionRecorderIdGenerator),
48986
- /* harmony export */ SessionRecorderSdk: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.SessionRecorderSdk),
48987
- /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.SessionRecorderTraceIdRatioBasedSampler),
48988
- /* harmony export */ SessionType: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.SessionType),
49210
+ /* harmony export */ ATTR_MULTIPLAYER_CLIENT_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_CLIENT_ID),
49211
+ /* harmony export */ ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE),
49212
+ /* harmony export */ ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON),
49213
+ /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE),
49214
+ /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING),
49215
+ /* harmony export */ ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE),
49216
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_HTTP_PROXY),
49217
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY_TYPE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_HTTP_PROXY_TYPE),
49218
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_HTTP_REQUEST_BODY),
49219
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS),
49220
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY),
49221
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY_ENCODING),
49222
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_HTTP_RESPONSE_HEADERS),
49223
+ /* harmony export */ ATTR_MULTIPLAYER_INTEGRATION_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_INTEGRATION_ID),
49224
+ /* harmony export */ ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_ISSUE_CUSTOM_HASH),
49225
+ /* harmony export */ ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY),
49226
+ /* harmony export */ ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_MESSAGING_MESSAGE_BODY_ENCODING),
49227
+ /* harmony export */ ATTR_MULTIPLAYER_PLATFORM_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_PLATFORM_ID),
49228
+ /* harmony export */ ATTR_MULTIPLAYER_PLATFORM_NAME: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_PLATFORM_NAME),
49229
+ /* harmony export */ ATTR_MULTIPLAYER_PROJECT_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_PROJECT_ID),
49230
+ /* harmony export */ ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE),
49231
+ /* harmony export */ ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_RPC_REQUEST_MESSAGE_ENCODING),
49232
+ /* harmony export */ ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_RPC_RESPONSE_MESSAGE),
49233
+ /* harmony export */ ATTR_MULTIPLAYER_SESSION_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_SESSION_ID),
49234
+ /* harmony export */ ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_SESSION_RECORDER_VERSION),
49235
+ /* harmony export */ ATTR_MULTIPLAYER_WORKSPACE_ID: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.ATTR_MULTIPLAYER_WORKSPACE_ID),
49236
+ /* harmony export */ DebugSessionDataType: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_4__.DebugSessionDataType),
49237
+ /* harmony export */ MASK_PLACEHOLDER: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MASK_PLACEHOLDER),
49238
+ /* harmony export */ MULTIPLAYER_ATTRIBUTE_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_ATTRIBUTE_PREFIX),
49239
+ /* harmony export */ MULTIPLAYER_BASE_API_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_BASE_API_URL),
49240
+ /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_GRPC_URL),
49241
+ /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_HTTP_URL),
49242
+ /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_OTEL_DEFAULT_LOGS_EXPORTER_URL),
49243
+ /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_GRPC_URL),
49244
+ /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL),
49245
+ /* harmony export */ MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL),
49246
+ /* harmony export */ MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX),
49247
+ /* harmony export */ MULTIPLAYER_TRACE_DEBUG_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_TRACE_DEBUG_PREFIX),
49248
+ /* harmony export */ MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH),
49249
+ /* harmony export */ MULTIPLAYER_TRACE_DOC_PREFIX: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.MULTIPLAYER_TRACE_DOC_PREFIX),
49250
+ /* harmony export */ NavigationRecorder: () => (/* reexport safe */ _navigation__WEBPACK_IMPORTED_MODULE_5__.NavigationRecorder),
49251
+ /* harmony export */ SessionRecorderBrowserTraceExporter: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.SessionRecorderBrowserTraceExporter),
49252
+ /* harmony export */ SessionRecorderIdGenerator: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.SessionRecorderIdGenerator),
49253
+ /* harmony export */ SessionRecorderSdk: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.SessionRecorderSdk),
49254
+ /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.SessionRecorderTraceIdRatioBasedSampler),
49255
+ /* harmony export */ SessionState: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_4__.SessionState),
49256
+ /* harmony export */ SessionType: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__.SessionType),
49257
+ /* harmony export */ WidgetButtonPlacement: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_4__.WidgetButtonPlacement),
48989
49258
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
48990
49259
  /* harmony export */ recorderEventBus: () => (/* reexport safe */ _eventBus__WEBPACK_IMPORTED_MODULE_2__.recorderEventBus)
48991
49260
  /* harmony export */ });
@@ -48993,7 +49262,11 @@ __webpack_require__.r(__webpack_exports__);
48993
49262
  /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listeners */ "./src/listeners.ts");
48994
49263
  /* harmony import */ var _eventBus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eventBus */ "./src/eventBus.ts");
48995
49264
  /* harmony import */ var _sessionRecorder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sessionRecorder */ "./src/sessionRecorder.ts");
48996
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
49265
+ /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./types */ "./src/types/index.ts");
49266
+ /* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./navigation */ "./src/navigation/index.ts");
49267
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
49268
+
49269
+
48997
49270
 
48998
49271
 
48999
49272
 
@@ -49006,8 +49279,8 @@ if (typeof window !== 'undefined') {
49006
49279
  window['SessionRecorder'] = SessionRecorderInstance;
49007
49280
  (0,_listeners__WEBPACK_IMPORTED_MODULE_1__.setupListeners)(SessionRecorderInstance);
49008
49281
  }
49009
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SessionRecorderInstance);
49010
49282
 
49283
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SessionRecorderInstance);
49011
49284
 
49012
49285
  })();
49013
49286