@multiplayer-app/session-recorder-browser 2.0.18 → 2.0.23
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 +13 -2
- package/dist/browser/index.js +6 -3
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -2
- 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.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +6 -3
- package/dist/index.umd.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/README.md
CHANGED
|
@@ -98,8 +98,8 @@ SessionRecorder.init({
|
|
|
98
98
|
|
|
99
99
|
showWidget: true, // show in‑app recording widget (default: true)
|
|
100
100
|
recordCanvas: true, // record canvas elements (default: false)
|
|
101
|
-
inlineImages: true, // inline images as base64
|
|
102
|
-
inlineStylesheet: true, // inline stylesheets
|
|
101
|
+
inlineImages: true, // opt-in: inline images as base64 (requires CORS on cross-origin asset hosts; default: false)
|
|
102
|
+
inlineStylesheet: true, // opt-in: inline stylesheets (cross-origin hosts may need CORS; default: false)
|
|
103
103
|
// Add domains to not capture OTLP data in the session recording
|
|
104
104
|
ignoreUrls: [
|
|
105
105
|
/https:\/\/domain\.to\.ignore\/.*/, // can be regex or string
|
|
@@ -222,6 +222,15 @@ SessionRecorder.init({
|
|
|
222
222
|
})
|
|
223
223
|
```
|
|
224
224
|
|
|
225
|
+
### Important: Inlining images and stylesheets (CORS)
|
|
226
|
+
|
|
227
|
+
By default, **`inlineImages`** and **`inlineStylesheet`** are **`false`**. That avoids failed cross-origin requests and DevTools noise when assets are served from another host (for example S3 or a CDN) that does not send CORS headers such as **`Access-Control-Allow-Origin`** for your app.
|
|
228
|
+
|
|
229
|
+
If you enable either option:
|
|
230
|
+
|
|
231
|
+
- The browser must be allowed to **read** those resources from script (image pixels for base64 inlining, or stylesheet text for inlining). Configure CORS on the asset host for your frontend origin, or serve assets same-origin via a proxy.
|
|
232
|
+
- With defaults left off, recordings still store normal **`src`** and stylesheet links; replay loads them like a normal page when URLs remain valid.
|
|
233
|
+
|
|
225
234
|
### Manual session recording
|
|
226
235
|
|
|
227
236
|
Below is an example showing how to create a session recording in `MANUAL` mode. Manual session recordings stream and save all the data between calling `start` and `stop`.
|
|
@@ -388,6 +397,8 @@ For React Native applications (iOS and Android), use the dedicated React Native
|
|
|
388
397
|
|
|
389
398
|
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/).
|
|
390
399
|
|
|
400
|
+
**Inlining and CORS:** See [Inlining images and stylesheets (CORS)](#important-inlining-images-and-stylesheets-cors) above for defaults and when you must configure CORS on asset hosts.
|
|
401
|
+
|
|
391
402
|
## License
|
|
392
403
|
|
|
393
404
|
This library is distributed under the [MIT License](./LICENSE).
|
package/dist/browser/index.js
CHANGED
|
@@ -25163,7 +25163,7 @@ const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
|
|
|
25163
25163
|
const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
|
|
25164
25164
|
const REMOTE_SESSION_RECORDING_START = 'remote-session-recording:start';
|
|
25165
25165
|
const REMOTE_SESSION_RECORDING_STOP = 'remote-session-recording:stop';
|
|
25166
|
-
const PACKAGE_VERSION_EXPORT = "2.0.
|
|
25166
|
+
const PACKAGE_VERSION_EXPORT = "2.0.23" || 0;
|
|
25167
25167
|
// Regex patterns for OpenTelemetry ignore URLs
|
|
25168
25168
|
const OTEL_IGNORE_URLS = [
|
|
25169
25169
|
// Traces endpoint
|
|
@@ -25249,8 +25249,11 @@ const BASE_CONFIG = {
|
|
|
25249
25249
|
apiBaseUrl: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_BASE_API_URL,
|
|
25250
25250
|
exporterEndpoint: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,
|
|
25251
25251
|
recordCanvas: false,
|
|
25252
|
-
|
|
25253
|
-
|
|
25252
|
+
// Off by default: inlining reads pixels via canvas and requires CORS on cross-origin hosts (e.g. S3).
|
|
25253
|
+
// Set true when asset URLs send Access-Control-Allow-Origin for your app origin.
|
|
25254
|
+
inlineImages: false,
|
|
25255
|
+
// Off by default: inlining fetches stylesheet text; cross-origin <link> assets need CORS when enabled.
|
|
25256
|
+
inlineStylesheet: false,
|
|
25254
25257
|
recordNavigation: true,
|
|
25255
25258
|
schemifyDocSpanPayload: true,
|
|
25256
25259
|
ignoreUrls: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAyB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAIlH,eAAO,MAAM,sBAAsB,EAAE,aASpC,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,yBAuBxC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAyB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAIlH,eAAO,MAAM,sBAAsB,EAAE,aASpC,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,yBAuBxC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CA0CxD,CAAA"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -46,8 +46,11 @@ export const BASE_CONFIG = {
|
|
|
46
46
|
apiBaseUrl: MULTIPLAYER_BASE_API_URL,
|
|
47
47
|
exporterEndpoint: MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,
|
|
48
48
|
recordCanvas: false,
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
// Off by default: inlining reads pixels via canvas and requires CORS on cross-origin hosts (e.g. S3).
|
|
50
|
+
// Set true when asset URLs send Access-Control-Allow-Origin for your app origin.
|
|
51
|
+
inlineImages: false,
|
|
52
|
+
// Off by default: inlining fetches stylesheet text; cross-origin <link> assets need CORS when enabled.
|
|
53
|
+
inlineStylesheet: false,
|
|
51
54
|
recordNavigation: true,
|
|
52
55
|
schemifyDocSpanPayload: true,
|
|
53
56
|
ignoreUrls: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iDAAiD,GAClD,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAyC,qBAAqB,EAA6B,MAAM,UAAU,CAAA;AAClH,OAAO,EAAE,0BAA0B,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAA;AACjG,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,aAAa,EAAE,IAAI;IACnB,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA8B;IACnE,0BAA0B,EAAE,uBAAuB;IACnD,6BAA6B,EAAE,uBAAuB;IACtD,gCAAgC,EAAE,kEAAkE;IACpG,mCAAmC,EAAE,kEAAkE;IACvG,wBAAwB,EAAE,sBAAsB;IAChD,wBAAwB,EAAE,iBAAiB;IAC3C,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0FAA0F;IAC5G,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,mCAAmC;IAC3D,4BAA4B,EAC1B,mOAAmO;IACrO,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAClB,iJAAiJ;IACnJ,wBAAwB,EAAE,+CAA+C;IACzE,8BAA8B,EAAE,kBAAkB;IAClD,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,QAAQ;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,MAAM,EAAE,EAAE;IAEV,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IAEf,UAAU,EAAE,IAAI;IAChB,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC,WAAW;IAExD,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE,wBAAwB;IACpC,gBAAgB,EAAE,iDAAiD;IAEnE,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iDAAiD,GAClD,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAyC,qBAAqB,EAA6B,MAAM,UAAU,CAAA;AAClH,OAAO,EAAE,0BAA0B,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAA;AACjG,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,aAAa,EAAE,IAAI;IACnB,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA8B;IACnE,0BAA0B,EAAE,uBAAuB;IACnD,6BAA6B,EAAE,uBAAuB;IACtD,gCAAgC,EAAE,kEAAkE;IACpG,mCAAmC,EAAE,kEAAkE;IACvG,wBAAwB,EAAE,sBAAsB;IAChD,wBAAwB,EAAE,iBAAiB;IAC3C,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0FAA0F;IAC5G,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,mCAAmC;IAC3D,4BAA4B,EAC1B,mOAAmO;IACrO,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAClB,iJAAiJ;IACnJ,wBAAwB,EAAE,+CAA+C;IACzE,8BAA8B,EAAE,kBAAkB;IAClD,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,QAAQ;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,MAAM,EAAE,EAAE;IAEV,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IAEf,UAAU,EAAE,IAAI;IAChB,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC,WAAW;IAExD,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE,wBAAwB;IACpC,gBAAgB,EAAE,iDAAiD;IAEnE,YAAY,EAAE,KAAK;IACnB,sGAAsG;IACtG,iFAAiF;IACjF,YAAY,EAAE,KAAK;IACnB,uGAAuG;IACvG,gBAAgB,EAAE,KAAK;IACvB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;IAE5B,UAAU,EAAE,EAAE;IACd,4BAA4B,EAAE,EAAE;IAEhC,gBAAgB,EAAE,0BAA0B;IAC5C,2BAA2B,EAAE,uCAAuC;IAEpE,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,sBAAsB;IAC/B,mBAAmB,EAAE,0BAA0B;IAE/C,YAAY,EAAE,IAAI;IAElB,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,GAAG;QAClB,kBAAkB,EAAE,KAAK;KAC1B;CACF,CAAA"}
|