@multiplayer-app/session-recorder-browser 1.2.37 → 1.3.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.
Files changed (52) hide show
  1. package/dist/browser/index.js +339 -232
  2. package/dist/browser/index.js.map +1 -1
  3. package/dist/config/constants.d.ts +3 -0
  4. package/dist/config/constants.d.ts.map +1 -1
  5. package/dist/config/constants.js +3 -0
  6. package/dist/config/constants.js.map +1 -1
  7. package/dist/config/defaults.d.ts.map +1 -1
  8. package/dist/config/defaults.js +1 -0
  9. package/dist/config/defaults.js.map +1 -1
  10. package/dist/config/session-recorder.d.ts.map +1 -1
  11. package/dist/config/session-recorder.js +2 -0
  12. package/dist/config/session-recorder.js.map +1 -1
  13. package/dist/exporters/index.js +182 -114
  14. package/dist/exporters/index.js.map +1 -1
  15. package/dist/exporters.d.ts +1 -1
  16. package/dist/exporters.d.ts.map +1 -1
  17. package/dist/exporters.js +1 -1
  18. package/dist/exporters.js.map +1 -1
  19. package/dist/index.js +337 -231
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.umd.js +337 -231
  22. package/dist/index.umd.js.map +1 -1
  23. package/dist/otel/index.d.ts.map +1 -1
  24. package/dist/otel/index.js +4 -0
  25. package/dist/otel/index.js.map +1 -1
  26. package/dist/patch/fetch.js +1 -0
  27. package/dist/patch/fetch.js.map +1 -1
  28. package/dist/rrweb/index.d.ts +2 -3
  29. package/dist/rrweb/index.d.ts.map +1 -1
  30. package/dist/rrweb/index.js +7 -11
  31. package/dist/rrweb/index.js.map +1 -1
  32. package/dist/services/api.service.d.ts +8 -2
  33. package/dist/services/api.service.d.ts.map +1 -1
  34. package/dist/services/api.service.js.map +1 -1
  35. package/dist/{rrweb/exporter.d.ts → services/socket.service.d.ts} +12 -3
  36. package/dist/services/socket.service.d.ts.map +1 -0
  37. package/dist/{rrweb/exporter.js → services/socket.service.js} +41 -5
  38. package/dist/services/socket.service.js.map +1 -0
  39. package/dist/sessionRecorder.d.ts +6 -2
  40. package/dist/sessionRecorder.d.ts.map +1 -1
  41. package/dist/sessionRecorder.js +33 -3
  42. package/dist/sessionRecorder.js.map +1 -1
  43. package/dist/types/index.d.ts +1 -0
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/index.js +1 -0
  46. package/dist/types/index.js.map +1 -1
  47. package/dist/types/sessionRecorder.d.ts +5 -0
  48. package/dist/types/sessionRecorder.d.ts.map +1 -1
  49. package/dist/types/sessionRecorder.js.map +1 -1
  50. package/package.json +3 -3
  51. package/dist/rrweb/exporter.d.ts.map +0 -1
  52. package/dist/rrweb/exporter.js.map +0 -1
@@ -10,10 +10,13 @@ export declare const SESSION_SUBSCRIBE_EVENT = "debug-session:subscribe";
10
10
  export declare const SESSION_UNSUBSCRIBE_EVENT = "debug-session:unsubscribe";
11
11
  export declare const SESSION_AUTO_CREATED = "debug-session:auto-created";
12
12
  export declare const SESSION_ADD_EVENT = "debug-session:rrweb:add-event";
13
+ export declare const SOCKET_SET_USER_EVENT = "socket:set-user";
13
14
  export declare const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
14
15
  export declare const SESSION_RESPONSE = "multiplayer-debug-session-response";
15
16
  export declare const CONTINUOUS_DEBUGGING_TIMEOUT = 60000;
16
17
  export declare const DEBUG_SESSION_MAX_DURATION_SECONDS: number;
18
+ export declare const REMOTE_SESSION_RECORDING_START = "remote-session-recording:start";
19
+ export declare const REMOTE_SESSION_RECORDING_STOP = "remote-session-recording:stop";
17
20
  export declare const PACKAGE_VERSION_EXPORT: string;
18
21
  export declare const OTEL_IGNORE_URLS: RegExp[];
19
22
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,0BAA0B,OAAO,CAAA;AAE9C,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAE5D,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAExE,eAAO,MAAM,uBAAuB,8BAA8B,CAAA;AAElE,eAAO,MAAM,sBAAsB,6BAA6B,CAAA;AAEhE,eAAO,MAAM,iBAAiB,6BAA6B,CAAA;AAE3D,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAE5D,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAE5D,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAEhE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAEpE,eAAO,MAAM,oBAAoB,+BAA+B,CAAA;AAEhE,eAAO,MAAM,iBAAiB,kCAAkC,CAAA;AAEhE,eAAO,MAAM,uCAAuC,SAAS,CAAA;AAE7D,eAAO,MAAM,gBAAgB,uCAAuC,CAAA;AAEpE,eAAO,MAAM,4BAA4B,QAAQ,CAAA;AAEjD,eAAO,MAAM,kCAAkC,QAAe,CAAA;AAI9D,eAAO,MAAM,sBAAsB,QAA6B,CAAA;AAIhE,eAAO,MAAM,gBAAgB,UAkB5B,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,0BAA0B,OAAO,CAAA;AAE9C,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAE5D,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAExE,eAAO,MAAM,uBAAuB,8BAA8B,CAAA;AAElE,eAAO,MAAM,sBAAsB,6BAA6B,CAAA;AAEhE,eAAO,MAAM,iBAAiB,6BAA6B,CAAA;AAE3D,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAE5D,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAE5D,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAEhE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAEpE,eAAO,MAAM,oBAAoB,+BAA+B,CAAA;AAEhE,eAAO,MAAM,iBAAiB,kCAAkC,CAAA;AAEhE,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,eAAO,MAAM,uCAAuC,SAAS,CAAA;AAE7D,eAAO,MAAM,gBAAgB,uCAAuC,CAAA;AAEpE,eAAO,MAAM,4BAA4B,QAAQ,CAAA;AAEjD,eAAO,MAAM,kCAAkC,QAAe,CAAA;AAE9D,eAAO,MAAM,8BAA8B,mCAAmC,CAAA;AAE9E,eAAO,MAAM,6BAA6B,kCAAkC,CAAA;AAI5E,eAAO,MAAM,sBAAsB,QAA6B,CAAA;AAIhE,eAAO,MAAM,gBAAgB,UAkB5B,CAAA"}
@@ -10,10 +10,13 @@ export const SESSION_SUBSCRIBE_EVENT = 'debug-session:subscribe';
10
10
  export const SESSION_UNSUBSCRIBE_EVENT = 'debug-session:unsubscribe';
11
11
  export const SESSION_AUTO_CREATED = 'debug-session:auto-created';
12
12
  export const SESSION_ADD_EVENT = 'debug-session:rrweb:add-event';
13
+ export const SOCKET_SET_USER_EVENT = 'socket:set-user';
13
14
  export const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
14
15
  export const SESSION_RESPONSE = 'multiplayer-debug-session-response';
15
16
  export const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
16
17
  export const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
18
+ export const REMOTE_SESSION_RECORDING_START = 'remote-session-recording:start';
19
+ export const REMOTE_SESSION_RECORDING_STOP = 'remote-session-recording:stop';
17
20
  export const PACKAGE_VERSION_EXPORT = PACKAGE_VERSION || '1.0.0';
18
21
  // Regex patterns for OpenTelemetry ignore URLs
19
22
  export const OTEL_IGNORE_URLS = [
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAA;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAA;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,8BAA8B,CAAA;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAA;AAElE,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAA;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAA;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAA;AAEhE,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAA;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,oCAAoC,CAAA;AAEpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAA,CAAC,YAAY;AAE9D,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,wCAAwC;AAIvG,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,IAAI,OAAO,CAAA;AAGhE,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,kBAAkB;IAClB,gBAAgB;IAChB,2BAA2B;IAC3B,uCAAuC;IACvC,6CAA6C;IAC7C,+CAA+C;IAE/C,sCAAsC;IACtC,kDAAkD;IAClD,wDAAwD;IACxD,0DAA0D;IAE1D,gCAAgC;IAChC,6CAA6C;IAE7C,iEAAiE;IACjE,sBAAsB;CACvB,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAA;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAA;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,8BAA8B,CAAA;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAA;AAElE,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAA;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAA;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAA;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAA;AAEtD,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAA;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,oCAAoC,CAAA;AAEpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAA,CAAC,YAAY;AAE9D,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,wCAAwC;AAEvG,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAgC,CAAA;AAE9E,MAAM,CAAC,MAAM,6BAA6B,GAAG,+BAA+B,CAAA;AAI5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,IAAI,OAAO,CAAA;AAGhE,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,kBAAkB;IAClB,gBAAgB;IAChB,2BAA2B;IAC3B,uCAAuC;IACvC,6CAA6C;IAC7C,+CAA+C;IAE/C,sCAAsC;IACtC,kDAAkD;IAClD,wDAAwD;IACxD,0DAA0D;IAE1D,gCAAgC;IAChC,6CAA6C;IAE7C,iEAAiE;IACjE,sBAAsB;CACvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,sBAAsB,EAEtB,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAOjB,eAAO,MAAM,sBAAsB,EAAE,aASpC,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,yBAqBxC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CA8BxD,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,sBAAsB,EAEtB,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAOjB,eAAO,MAAM,sBAAsB,EAAE,aASpC,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,yBAqBxC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CA+BxD,CAAA"}
@@ -56,5 +56,6 @@ export const BASE_CONFIG = {
56
56
  captureHeaders: true,
57
57
  masking: DEFAULT_MASKING_CONFIG,
58
58
  widgetTextOverrides: DEFAULT_WIDGET_TEXT_CONFIG,
59
+ useWebsocket: true,
59
60
  };
60
61
  //# sourceMappingURL=defaults.js.map
@@ -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,EAGL,qBAAqB,GAEtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,aAAa,CAAA;AACpB,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,EAAE,mOAAmO;IACjQ,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,iJAAiJ;IACvK,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,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;CAEhD,CAAA"}
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,EAGL,qBAAqB,GAEtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,aAAa,CAAA;AACpB,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,EAAE,mOAAmO;IACjQ,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,iJAAiJ;IACvK,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,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;CACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-recorder.d.ts","sourceRoot":"","sources":["../../src/config/session-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAyB,MAAM,UAAU,CAAA;AAwChG,eAAO,MAAM,wBAAwB,MAAO,sBAAsB,KAAG,sBAgCpE,CAAA"}
1
+ {"version":3,"file":"session-recorder.d.ts","sourceRoot":"","sources":["../../src/config/session-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAyB,MAAM,UAAU,CAAA;AAwChG,eAAO,MAAM,wBAAwB,MAAO,sBAAsB,KAAG,sBAiCpE,CAAA"}
@@ -30,6 +30,7 @@ const getWidgetTextOverridesConfig = (config, defaultConfig) => {
30
30
  };
31
31
  };
32
32
  export const getSessionRecorderConfig = (c) => {
33
+ var _a;
33
34
  if (!c) {
34
35
  return BASE_CONFIG;
35
36
  }
@@ -55,6 +56,7 @@ export const getSessionRecorderConfig = (c) => {
55
56
  captureHeaders: isValidBoolean(c.captureHeaders, BASE_CONFIG.captureHeaders),
56
57
  masking: getMaskingConfig(c.masking),
57
58
  widgetTextOverrides: getWidgetTextOverridesConfig(c.widgetTextOverrides, BASE_CONFIG.widgetTextOverrides),
59
+ useWebsocket: isValidBoolean(c.useWebsocket, (_a = BASE_CONFIG.useWebsocket) !== null && _a !== void 0 ? _a : false),
58
60
  };
59
61
  };
60
62
  //# sourceMappingURL=session-recorder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../../src/config/session-recorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../../src/config/session-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAA;AAErB,MAAM,4BAA4B,GAAG,CAAC,MAAW,EAAE,aAAkB,EAAE,EAAE;IACvE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,OAAO;QACL,0BAA0B,EAAE,aAAa,CAAC,MAAM,CAAC,0BAA0B,EAAE,aAAa,CAAC,0BAA0B,CAAC;QACtH,6BAA6B,EAAE,aAAa,CAAC,MAAM,CAAC,6BAA6B,EAAE,aAAa,CAAC,6BAA6B,CAAC;QAC/H,gCAAgC,EAAE,aAAa,CAAC,MAAM,CAAC,gCAAgC,EAAE,aAAa,CAAC,gCAAgC,CAAC;QACxI,mCAAmC,EAAE,aAAa,CAAC,MAAM,CAAC,mCAAmC,EAAE,aAAa,CAAC,mCAAmC,CAAC;QACjJ,wBAAwB,EAAE,aAAa,CAAC,MAAM,CAAC,wBAAwB,EAAE,aAAa,CAAC,wBAAwB,CAAC;QAChH,wBAAwB,EAAE,aAAa,CAAC,MAAM,CAAC,wBAAwB,EAAE,aAAa,CAAC,wBAAwB,CAAC;QAChH,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC;QACtE,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC;QACxF,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,kBAAkB,CAAC;QAC9F,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC;QAClF,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC;QACxF,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,sBAAsB,CAAC;QAC1G,4BAA4B,EAAE,aAAa,CAAC,MAAM,CAAC,4BAA4B,EAAE,aAAa,CAAC,4BAA4B,CAAC;QAC5H,0BAA0B,EAAE,aAAa,CAAC,MAAM,CAAC,0BAA0B,EAAE,aAAa,CAAC,0BAA0B,CAAC;QACtH,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,CAAC;QAC3F,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,oBAAoB,CAAC;QACpG,wBAAwB,EAAE,aAAa,CAAC,MAAM,CAAC,wBAAwB,EAAE,aAAa,CAAC,wBAAwB,CAAC;QAChH,8BAA8B,EAAE,aAAa,CAAC,MAAM,CAAC,8BAA8B,EAAE,aAAa,CAAC,8BAA8B,CAAC;QAClI,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,sBAAsB,CAAC;QAC1G,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,sBAAsB,CAAC;KAC3G,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAyB,EAA0B,EAAE;;IAC5F,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;QACnD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;QACtD,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;QAClE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;QAElE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC;QACjF,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC;QAC/D,sBAAsB,EAAE,cAAc,CAAC,CAAC,CAAC,sBAAsB,EAAE,WAAW,CAAC,sBAAsB,CAAC;QAEpG,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC;QAChE,uBAAuB,EAAE,cAAc,CAAC,CAAC,CAAC,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;QACvG,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC;QACtE,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC;QAClF,qBAAqB,EAAE,WAAW,CAAwB,CAAC,CAAC,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAA4B,CAAC;QACtL,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC;QAC9D,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC;QACjF,4BAA4B,EAAE,CAAC,CAAC,4BAA4B,IAAI,WAAW,CAAC,4BAA4B;QACxG,sBAAsB,EAAE,cAAc,CAAC,CAAC,CAAC,sBAAsB,EAAE,WAAW,CAAC,sBAAsB,CAAC;QACpG,2BAA2B,EAAE,aAAa,CAAC,CAAC,CAAC,2BAA2B,EAAE,WAAW,CAAC,2BAA2B,CAAC;QAElH,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;QACnE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC;QAC5E,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;QACpC,mBAAmB,EAAE,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,CAAC;QAEzG,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,EAAE,MAAA,WAAW,CAAC,YAAY,mCAAI,KAAK,CAAC;KAChF,CAAA;AACH,CAAC,CAAA"}
@@ -9955,11 +9955,14 @@ module.exports = {
9955
9955
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9956
9956
  /* harmony export */ DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE: () => (/* binding */ DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE),
9957
9957
  /* harmony export */ OTEL_MP_SAMPLE_TRACE_RATIO: () => (/* binding */ OTEL_MP_SAMPLE_TRACE_RATIO),
9958
+ /* harmony export */ REMOTE_SESSION_RECORDING_START: () => (/* binding */ REMOTE_SESSION_RECORDING_START),
9959
+ /* harmony export */ REMOTE_SESSION_RECORDING_STOP: () => (/* binding */ REMOTE_SESSION_RECORDING_STOP),
9958
9960
  /* harmony export */ SESSION_ADD_EVENT: () => (/* binding */ SESSION_ADD_EVENT),
9959
9961
  /* harmony export */ SESSION_AUTO_CREATED: () => (/* binding */ SESSION_AUTO_CREATED),
9960
9962
  /* harmony export */ SESSION_STOPPED_EVENT: () => (/* binding */ SESSION_STOPPED_EVENT),
9961
9963
  /* harmony export */ SESSION_SUBSCRIBE_EVENT: () => (/* binding */ SESSION_SUBSCRIBE_EVENT),
9962
- /* harmony export */ SESSION_UNSUBSCRIBE_EVENT: () => (/* binding */ SESSION_UNSUBSCRIBE_EVENT)
9964
+ /* harmony export */ SESSION_UNSUBSCRIBE_EVENT: () => (/* binding */ SESSION_UNSUBSCRIBE_EVENT),
9965
+ /* harmony export */ SOCKET_SET_USER_EVENT: () => (/* binding */ SOCKET_SET_USER_EVENT)
9963
9966
  /* harmony export */ });
9964
9967
  /* unused harmony exports SESSION_ID_PROP_NAME, SESSION_SHORT_ID_PROP_NAME, SESSION_STATE_PROP_NAME, SESSION_TYPE_PROP_NAME, SESSION_PROP_NAME, SESSION_STARTED_EVENT, SESSION_RESPONSE, CONTINUOUS_DEBUGGING_TIMEOUT, DEBUG_SESSION_MAX_DURATION_SECONDS, PACKAGE_VERSION_EXPORT, OTEL_IGNORE_URLS */
9965
9968
  const OTEL_MP_SAMPLE_TRACE_RATIO = 0.15;
@@ -9974,11 +9977,14 @@ const SESSION_SUBSCRIBE_EVENT = 'debug-session:subscribe';
9974
9977
  const SESSION_UNSUBSCRIBE_EVENT = 'debug-session:unsubscribe';
9975
9978
  const SESSION_AUTO_CREATED = 'debug-session:auto-created';
9976
9979
  const SESSION_ADD_EVENT = 'debug-session:rrweb:add-event';
9980
+ const SOCKET_SET_USER_EVENT = 'socket:set-user';
9977
9981
  const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
9978
9982
  const SESSION_RESPONSE = 'multiplayer-debug-session-response';
9979
9983
  const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
9980
9984
  const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
9981
- const PACKAGE_VERSION_EXPORT = "1.2.37" || 0;
9985
+ const REMOTE_SESSION_RECORDING_START = 'remote-session-recording:start';
9986
+ const REMOTE_SESSION_RECORDING_STOP = 'remote-session-recording:stop';
9987
+ const PACKAGE_VERSION_EXPORT = "1.3.0" || 0;
9982
9988
  // Regex patterns for OpenTelemetry ignore URLs
9983
9989
  const OTEL_IGNORE_URLS = [
9984
9990
  // Traces endpoint
@@ -10072,6 +10078,7 @@ const BASE_CONFIG = {
10072
10078
  captureHeaders: true,
10073
10079
  masking: DEFAULT_MASKING_CONFIG,
10074
10080
  widgetTextOverrides: DEFAULT_WIDGET_TEXT_CONFIG,
10081
+ useWebsocket: true,
10075
10082
  };
10076
10083
 
10077
10084
 
@@ -10084,11 +10091,14 @@ const BASE_CONFIG = {
10084
10091
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10085
10092
 
10086
10093
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10094
+ /* harmony export */ REMOTE_SESSION_RECORDING_START: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.REMOTE_SESSION_RECORDING_START),
10095
+ /* harmony export */ REMOTE_SESSION_RECORDING_STOP: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.REMOTE_SESSION_RECORDING_STOP),
10087
10096
  /* harmony export */ SESSION_ADD_EVENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SESSION_ADD_EVENT),
10088
10097
  /* harmony export */ SESSION_AUTO_CREATED: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SESSION_AUTO_CREATED),
10089
10098
  /* harmony export */ SESSION_STOPPED_EVENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SESSION_STOPPED_EVENT),
10090
10099
  /* harmony export */ SESSION_SUBSCRIBE_EVENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SESSION_SUBSCRIBE_EVENT),
10091
- /* harmony export */ SESSION_UNSUBSCRIBE_EVENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SESSION_UNSUBSCRIBE_EVENT)
10100
+ /* harmony export */ SESSION_UNSUBSCRIBE_EVENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SESSION_UNSUBSCRIBE_EVENT),
10101
+ /* harmony export */ SOCKET_SET_USER_EVENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SOCKET_SET_USER_EVENT)
10092
10102
  /* harmony export */ });
10093
10103
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/config/constants.ts");
10094
10104
  /* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaults */ "./src/config/defaults.ts");
@@ -10193,6 +10203,7 @@ const getWidgetTextOverridesConfig = (config, defaultConfig) => {
10193
10203
  };
10194
10204
  };
10195
10205
  const getSessionRecorderConfig = (c) => {
10206
+ var _a;
10196
10207
  if (!c) {
10197
10208
  return _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG;
10198
10209
  }
@@ -10218,6 +10229,7 @@ const getSessionRecorderConfig = (c) => {
10218
10229
  captureHeaders: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.captureHeaders, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.captureHeaders),
10219
10230
  masking: (0,_masking__WEBPACK_IMPORTED_MODULE_2__.getMaskingConfig)(c.masking),
10220
10231
  widgetTextOverrides: getWidgetTextOverridesConfig(c.widgetTextOverrides, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.widgetTextOverrides),
10232
+ useWebsocket: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.useWebsocket, (_a = _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.useWebsocket) !== null && _a !== void 0 ? _a : false),
10221
10233
  };
10222
10234
  };
10223
10235
 
@@ -10284,15 +10296,122 @@ const recorderEventBus = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
10284
10296
 
10285
10297
  /***/ }),
10286
10298
 
10287
- /***/ "./src/rrweb/exporter.ts":
10288
- /*!*******************************!*\
10289
- !*** ./src/rrweb/exporter.ts ***!
10290
- \*******************************/
10299
+ /***/ "./src/services/messaging.service.ts":
10300
+ /*!*******************************************!*\
10301
+ !*** ./src/services/messaging.service.ts ***!
10302
+ \*******************************************/
10303
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10304
+
10305
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10306
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
10307
+ /* harmony export */ });
10308
+ class MessagingService {
10309
+ constructor() {
10310
+ this.promiseIdCounter = 0;
10311
+ this.promiseMap = new Map();
10312
+ this.messagingServices = new Map();
10313
+ this.isBrowser = typeof window !== 'undefined';
10314
+ this.setupMessageListener();
10315
+ }
10316
+ generatePromiseId() {
10317
+ return `promise_${++this.promiseIdCounter}`;
10318
+ }
10319
+ sendMessage(action, payload) {
10320
+ if (!this.isBrowser)
10321
+ return;
10322
+ const message = {
10323
+ type: 'MULTIPLAYER_SESSION_DEBUGGER_LIB',
10324
+ action,
10325
+ payload,
10326
+ };
10327
+ window.postMessage(message, '*');
10328
+ }
10329
+ sendMessagePromise(action, payload) {
10330
+ if (!this.isBrowser) {
10331
+ return Promise.reject(new Error('Not in browser environment'));
10332
+ }
10333
+ const promiseId = this.generatePromiseId();
10334
+ const promise = new Promise((resolve, reject) => {
10335
+ this.promiseMap.set(promiseId, { resolve, reject });
10336
+ });
10337
+ const message = {
10338
+ type: 'MULTIPLAYER_SESSION_DEBUGGER_LIB',
10339
+ action,
10340
+ payload,
10341
+ promiseId,
10342
+ };
10343
+ window.postMessage(message, '*');
10344
+ return promise;
10345
+ }
10346
+ on(action, handler) {
10347
+ const handlers = this.messagingServices.get(action) || [];
10348
+ handlers.push(handler);
10349
+ this.messagingServices.set(action, handlers);
10350
+ }
10351
+ off(action, handler) {
10352
+ if (!handler) {
10353
+ // Remove all handlers for this action
10354
+ this.messagingServices.delete(action);
10355
+ return;
10356
+ }
10357
+ const handlers = this.messagingServices.get(action);
10358
+ if (handlers) {
10359
+ const index = handlers.indexOf(handler);
10360
+ if (index !== -1) {
10361
+ handlers.splice(index, 1);
10362
+ if (handlers.length === 0) {
10363
+ this.messagingServices.delete(action);
10364
+ }
10365
+ else {
10366
+ this.messagingServices.set(action, handlers);
10367
+ }
10368
+ }
10369
+ }
10370
+ }
10371
+ setupMessageListener() {
10372
+ if (!this.isBrowser)
10373
+ return;
10374
+ window.addEventListener('message', (event) => {
10375
+ const { type, action, payload, promiseId } = event.data;
10376
+ if (type !== 'MULTIPLAYER_SESSION_DEBUGGER_EXTENSION' || !action)
10377
+ return;
10378
+ // Handle promise response
10379
+ if (promiseId && this.promiseMap.has(promiseId)) {
10380
+ const { resolve, reject } = this.promiseMap.get(promiseId);
10381
+ const { error, response } = payload;
10382
+ if (error) {
10383
+ reject(error);
10384
+ }
10385
+ else {
10386
+ resolve(response);
10387
+ }
10388
+ this.promiseMap.delete(promiseId);
10389
+ return;
10390
+ }
10391
+ // Handle regular message handlers
10392
+ const handlers = this.messagingServices.get(action);
10393
+ if (handlers) {
10394
+ handlers.forEach(handler => handler(payload));
10395
+ }
10396
+ });
10397
+ }
10398
+ }
10399
+ const messagingService = new MessagingService();
10400
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (messagingService);
10401
+
10402
+
10403
+ /***/ }),
10404
+
10405
+ /***/ "./src/services/socket.service.ts":
10406
+ /*!****************************************!*\
10407
+ !*** ./src/services/socket.service.ts ***!
10408
+ \****************************************/
10291
10409
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10292
10410
 
10293
10411
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10294
- /* harmony export */ RrwebEventExporter: () => (/* binding */ RrwebEventExporter)
10412
+ /* harmony export */ SocketService: () => (/* binding */ SocketService)
10295
10413
  /* harmony export */ });
10414
+ /* unused harmony exports socketService, createSocketService */
10296
10415
  /* harmony import */ var socket_io_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! socket.io-client */ "../../node_modules/socket.io-client/build/esm/index.js");
10297
10416
  /* harmony import */ var _eventBus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../eventBus */ "./src/eventBus.ts");
10298
10417
  /* harmony import */ var _services_messaging_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/messaging.service */ "./src/services/messaging.service.ts");
@@ -10302,7 +10421,7 @@ const recorderEventBus = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
10302
10421
 
10303
10422
 
10304
10423
  const MAX_RECONNECTION_ATTEMPTS = 2;
10305
- class RrwebEventExporter {
10424
+ class SocketService {
10306
10425
  constructor(options) {
10307
10426
  this.options = options;
10308
10427
  this.socket = null;
@@ -10312,6 +10431,11 @@ class RrwebEventExporter {
10312
10431
  this.usePostMessage = false;
10313
10432
  this.attempts = 0;
10314
10433
  this.sessionId = null;
10434
+ if (this.options.keepAlive
10435
+ && this.options.socketUrl
10436
+ && this.options.apiKey) {
10437
+ this.init();
10438
+ }
10315
10439
  }
10316
10440
  init() {
10317
10441
  if (this.isConnecting || this.isConnected)
@@ -10355,6 +10479,12 @@ class RrwebEventExporter {
10355
10479
  this.socket.on(_config__WEBPACK_IMPORTED_MODULE_3__.SESSION_AUTO_CREATED, (data) => {
10356
10480
  _eventBus__WEBPACK_IMPORTED_MODULE_1__.recorderEventBus.emit(_config__WEBPACK_IMPORTED_MODULE_3__.SESSION_AUTO_CREATED, data);
10357
10481
  });
10482
+ this.socket.on(_config__WEBPACK_IMPORTED_MODULE_3__.REMOTE_SESSION_RECORDING_START, (data) => {
10483
+ _eventBus__WEBPACK_IMPORTED_MODULE_1__.recorderEventBus.emit(_config__WEBPACK_IMPORTED_MODULE_3__.REMOTE_SESSION_RECORDING_START, data);
10484
+ });
10485
+ this.socket.on(_config__WEBPACK_IMPORTED_MODULE_3__.REMOTE_SESSION_RECORDING_STOP, (data) => {
10486
+ _eventBus__WEBPACK_IMPORTED_MODULE_1__.recorderEventBus.emit(_config__WEBPACK_IMPORTED_MODULE_3__.REMOTE_SESSION_RECORDING_STOP, data);
10487
+ });
10358
10488
  }
10359
10489
  checkReconnectionAttempts() {
10360
10490
  if (this.attempts >= MAX_RECONNECTION_ATTEMPTS) {
@@ -10414,16 +10544,34 @@ class RrwebEventExporter {
10414
10544
  sessionType: session.creationType,
10415
10545
  };
10416
10546
  if (this.usePostMessage) {
10417
- this.sendViaPostMessage({ type: _config__WEBPACK_IMPORTED_MODULE_3__.SESSION_SUBSCRIBE_EVENT, ...payload });
10547
+ this.sendViaPostMessage({
10548
+ type: _config__WEBPACK_IMPORTED_MODULE_3__.SESSION_SUBSCRIBE_EVENT,
10549
+ ...payload,
10550
+ });
10418
10551
  }
10419
10552
  else if ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.connected) {
10420
10553
  this.socket.emit(_config__WEBPACK_IMPORTED_MODULE_3__.SESSION_SUBSCRIBE_EVENT, payload);
10421
10554
  }
10422
10555
  else {
10423
- this.queue.push({ data: payload, name: _config__WEBPACK_IMPORTED_MODULE_3__.SESSION_SUBSCRIBE_EVENT });
10556
+ this.queue.push({
10557
+ data: payload,
10558
+ name: _config__WEBPACK_IMPORTED_MODULE_3__.SESSION_SUBSCRIBE_EVENT,
10559
+ });
10424
10560
  this.init();
10425
10561
  }
10426
10562
  }
10563
+ setUser(userAttributes) {
10564
+ var _a;
10565
+ if (this.usePostMessage) {
10566
+ this.sendViaPostMessage({
10567
+ type: _config__WEBPACK_IMPORTED_MODULE_3__.SOCKET_SET_USER_EVENT,
10568
+ data: userAttributes,
10569
+ });
10570
+ }
10571
+ else if ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.connected) {
10572
+ this.socket.emit(_config__WEBPACK_IMPORTED_MODULE_3__.SOCKET_SET_USER_EVENT, userAttributes);
10573
+ }
10574
+ }
10427
10575
  close() {
10428
10576
  var _a;
10429
10577
  if (this.usePostMessage) {
@@ -10442,112 +10590,30 @@ class RrwebEventExporter {
10442
10590
  }
10443
10591
  }
10444
10592
  }
10593
+ let socketService = null;
10594
+ const createSocketService = (options) => {
10595
+ if (!socketService) {
10596
+ socketService = new SocketService(options);
10597
+ }
10598
+ return socketService;
10599
+ };
10445
10600
 
10446
10601
 
10447
10602
  /***/ }),
10448
10603
 
10449
- /***/ "./src/services/messaging.service.ts":
10450
- /*!*******************************************!*\
10451
- !*** ./src/services/messaging.service.ts ***!
10452
- \*******************************************/
10604
+ /***/ "./src/types/client-type.enum.ts":
10605
+ /*!***************************************!*\
10606
+ !*** ./src/types/client-type.enum.ts ***!
10607
+ \***************************************/
10453
10608
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10454
10609
 
10455
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10456
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
10457
- /* harmony export */ });
10458
- class MessagingService {
10459
- constructor() {
10460
- this.promiseIdCounter = 0;
10461
- this.promiseMap = new Map();
10462
- this.messagingServices = new Map();
10463
- this.isBrowser = typeof window !== 'undefined';
10464
- this.setupMessageListener();
10465
- }
10466
- generatePromiseId() {
10467
- return `promise_${++this.promiseIdCounter}`;
10468
- }
10469
- sendMessage(action, payload) {
10470
- if (!this.isBrowser)
10471
- return;
10472
- const message = {
10473
- type: 'MULTIPLAYER_SESSION_DEBUGGER_LIB',
10474
- action,
10475
- payload,
10476
- };
10477
- window.postMessage(message, '*');
10478
- }
10479
- sendMessagePromise(action, payload) {
10480
- if (!this.isBrowser) {
10481
- return Promise.reject(new Error('Not in browser environment'));
10482
- }
10483
- const promiseId = this.generatePromiseId();
10484
- const promise = new Promise((resolve, reject) => {
10485
- this.promiseMap.set(promiseId, { resolve, reject });
10486
- });
10487
- const message = {
10488
- type: 'MULTIPLAYER_SESSION_DEBUGGER_LIB',
10489
- action,
10490
- payload,
10491
- promiseId,
10492
- };
10493
- window.postMessage(message, '*');
10494
- return promise;
10495
- }
10496
- on(action, handler) {
10497
- const handlers = this.messagingServices.get(action) || [];
10498
- handlers.push(handler);
10499
- this.messagingServices.set(action, handlers);
10500
- }
10501
- off(action, handler) {
10502
- if (!handler) {
10503
- // Remove all handlers for this action
10504
- this.messagingServices.delete(action);
10505
- return;
10506
- }
10507
- const handlers = this.messagingServices.get(action);
10508
- if (handlers) {
10509
- const index = handlers.indexOf(handler);
10510
- if (index !== -1) {
10511
- handlers.splice(index, 1);
10512
- if (handlers.length === 0) {
10513
- this.messagingServices.delete(action);
10514
- }
10515
- else {
10516
- this.messagingServices.set(action, handlers);
10517
- }
10518
- }
10519
- }
10520
- }
10521
- setupMessageListener() {
10522
- if (!this.isBrowser)
10523
- return;
10524
- window.addEventListener('message', (event) => {
10525
- const { type, action, payload, promiseId } = event.data;
10526
- if (type !== 'MULTIPLAYER_SESSION_DEBUGGER_EXTENSION' || !action)
10527
- return;
10528
- // Handle promise response
10529
- if (promiseId && this.promiseMap.has(promiseId)) {
10530
- const { resolve, reject } = this.promiseMap.get(promiseId);
10531
- const { error, response } = payload;
10532
- if (error) {
10533
- reject(error);
10534
- }
10535
- else {
10536
- resolve(response);
10537
- }
10538
- this.promiseMap.delete(promiseId);
10539
- return;
10540
- }
10541
- // Handle regular message handlers
10542
- const handlers = this.messagingServices.get(action);
10543
- if (handlers) {
10544
- handlers.forEach(handler => handler(payload));
10545
- }
10546
- });
10547
- }
10548
- }
10549
- const messagingService = new MessagingService();
10550
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (messagingService);
10610
+ /* unused harmony export UserType */
10611
+ var UserType;
10612
+ (function (UserType) {
10613
+ UserType["USER"] = "USER";
10614
+ UserType["VISITOR"] = "VISITOR";
10615
+ UserType["API_CLIENT"] = "API_CLIENT";
10616
+ })(UserType || (UserType = {}));
10551
10617
 
10552
10618
 
10553
10619
  /***/ }),
@@ -10564,6 +10630,8 @@ const messagingService = new MessagingService();
10564
10630
  /* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./widget */ "./src/types/widget.ts");
10565
10631
  /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./session */ "./src/types/session.ts");
10566
10632
  /* harmony import */ var _sessionRecorder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sessionRecorder */ "./src/types/sessionRecorder.ts");
10633
+ /* harmony import */ var _client_type_enum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./client-type.enum */ "./src/types/client-type.enum.ts");
10634
+
10567
10635
 
10568
10636
 
10569
10637
 
@@ -16168,15 +16236,15 @@ var __webpack_exports__ = {};
16168
16236
  !*** ./src/exporters.ts ***!
16169
16237
  \**************************/
16170
16238
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
16171
- /* harmony export */ RrwebEventExporter: () => (/* reexport safe */ _rrweb_exporter__WEBPACK_IMPORTED_MODULE_0__.RrwebEventExporter),
16239
+ /* harmony export */ RrwebEventExporter: () => (/* reexport safe */ _services_socket_service__WEBPACK_IMPORTED_MODULE_0__.SocketService),
16172
16240
  /* harmony export */ TraceExporter: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__.SessionRecorderBrowserTraceExporter)
16173
16241
  /* harmony export */ });
16174
- /* harmony import */ var _rrweb_exporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rrweb/exporter */ "./src/rrweb/exporter.ts");
16242
+ /* harmony import */ var _services_socket_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./services/socket.service */ "./src/services/socket.service.ts");
16175
16243
  /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
16176
16244
 
16177
16245
 
16178
16246
  window['__MP_SDK_EXPORTS__'] = {
16179
- RrwebEventExporter: _rrweb_exporter__WEBPACK_IMPORTED_MODULE_0__.RrwebEventExporter,
16247
+ RrwebEventExporter: _services_socket_service__WEBPACK_IMPORTED_MODULE_0__.SocketService,
16180
16248
  TraceExporter: _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__.SessionRecorderBrowserTraceExporter,
16181
16249
  };
16182
16250