@multiplayer-app/session-recorder-react-native 1.3.15 → 1.3.21

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 (56) hide show
  1. package/lib/module/config/constants.js +3 -0
  2. package/lib/module/config/constants.js.map +1 -1
  3. package/lib/module/config/defaults.js +5 -1
  4. package/lib/module/config/defaults.js.map +1 -1
  5. package/lib/module/config/session-recorder.js +5 -1
  6. package/lib/module/config/session-recorder.js.map +1 -1
  7. package/lib/module/otel/CrashBufferSpanProcessor.js +41 -0
  8. package/lib/module/otel/CrashBufferSpanProcessor.js.map +1 -0
  9. package/lib/module/otel/index.js +28 -9
  10. package/lib/module/otel/index.js.map +1 -1
  11. package/lib/module/patch/fetch.js +71 -11
  12. package/lib/module/patch/fetch.js.map +1 -1
  13. package/lib/module/recorder/index.js +15 -1
  14. package/lib/module/recorder/index.js.map +1 -1
  15. package/lib/module/services/api.service.js +24 -2
  16. package/lib/module/services/api.service.js.map +1 -1
  17. package/lib/module/services/crashBuffer.service.js +248 -0
  18. package/lib/module/services/crashBuffer.service.js.map +1 -0
  19. package/lib/module/services/socket.service.js +9 -2
  20. package/lib/module/services/socket.service.js.map +1 -1
  21. package/lib/module/session-recorder.js +152 -6
  22. package/lib/module/session-recorder.js.map +1 -1
  23. package/lib/module/types/session-recorder.js.map +1 -1
  24. package/lib/typescript/src/config/constants.d.ts +1 -0
  25. package/lib/typescript/src/config/constants.d.ts.map +1 -1
  26. package/lib/typescript/src/config/defaults.d.ts.map +1 -1
  27. package/lib/typescript/src/config/session-recorder.d.ts.map +1 -1
  28. package/lib/typescript/src/otel/CrashBufferSpanProcessor.d.ts +18 -0
  29. package/lib/typescript/src/otel/CrashBufferSpanProcessor.d.ts.map +1 -0
  30. package/lib/typescript/src/otel/index.d.ts +8 -0
  31. package/lib/typescript/src/otel/index.d.ts.map +1 -1
  32. package/lib/typescript/src/recorder/index.d.ts +8 -1
  33. package/lib/typescript/src/recorder/index.d.ts.map +1 -1
  34. package/lib/typescript/src/services/api.service.d.ts +27 -2
  35. package/lib/typescript/src/services/api.service.d.ts.map +1 -1
  36. package/lib/typescript/src/services/crashBuffer.service.d.ts +46 -0
  37. package/lib/typescript/src/services/crashBuffer.service.d.ts.map +1 -0
  38. package/lib/typescript/src/services/socket.service.d.ts +4 -3
  39. package/lib/typescript/src/services/socket.service.d.ts.map +1 -1
  40. package/lib/typescript/src/session-recorder.d.ts +8 -0
  41. package/lib/typescript/src/session-recorder.d.ts.map +1 -1
  42. package/lib/typescript/src/types/session-recorder.d.ts +18 -0
  43. package/lib/typescript/src/types/session-recorder.d.ts.map +1 -1
  44. package/package.json +2 -2
  45. package/src/config/constants.ts +3 -0
  46. package/src/config/defaults.ts +5 -0
  47. package/src/config/session-recorder.ts +5 -0
  48. package/src/otel/CrashBufferSpanProcessor.ts +61 -0
  49. package/src/otel/index.ts +90 -34
  50. package/src/patch/fetch.ts +73 -11
  51. package/src/recorder/index.ts +30 -3
  52. package/src/services/api.service.ts +68 -13
  53. package/src/services/crashBuffer.service.ts +327 -0
  54. package/src/services/socket.service.ts +36 -22
  55. package/src/session-recorder.ts +226 -19
  56. package/src/types/session-recorder.ts +18 -0
@@ -12,6 +12,9 @@ export const SESSION_SUBSCRIBE_EVENT = 'debug-session:subscribe';
12
12
  export const SESSION_UNSUBSCRIBE_EVENT = 'debug-session:unsubscribe';
13
13
  export const SESSION_AUTO_CREATED = 'debug-session:auto-created';
14
14
  export const SESSION_ADD_EVENT = 'debug-session:rrweb:add-event';
15
+
16
+ // Backend-triggered flush of client-side crash buffer
17
+ export const SESSION_SAVE_BUFFER_EVENT = 'debug-session:save-buffer';
15
18
  export const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
16
19
  export const SESSION_RESPONSE = 'multiplayer-debug-session-response';
17
20
  export const REMOTE_SESSION_RECORDING_START = 'remote-session-recording:start';
@@ -1 +1 @@
1
- {"version":3,"names":["OTEL_MP_SAMPLE_TRACE_RATIO","SESSION_ID_PROP_NAME","SESSION_SHORT_ID_PROP_NAME","SESSION_STATE_PROP_NAME","SESSION_TYPE_PROP_NAME","SESSION_PROP_NAME","SESSION_STARTED_EVENT","SESSION_STOPPED_EVENT","SESSION_SUBSCRIBE_EVENT","SESSION_UNSUBSCRIBE_EVENT","SESSION_AUTO_CREATED","SESSION_ADD_EVENT","DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE","SESSION_RESPONSE","REMOTE_SESSION_RECORDING_START","REMOTE_SESSION_RECORDING_STOP","SOCKET_SET_USER_EVENT","CONTINUOUS_DEBUGGING_TIMEOUT","DEBUG_SESSION_MAX_DURATION_SECONDS","OTEL_IGNORE_URLS"],"sourceRoot":"../../../src","sources":["config/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,0BAA0B,GAAG,IAAI;AAE9C,OAAO,MAAMC,oBAAoB,GAAG,wBAAwB;AAE5D,OAAO,MAAMC,0BAA0B,GAAG,8BAA8B;AAExE,OAAO,MAAMC,uBAAuB,GAAG,2BAA2B;AAElE,OAAO,MAAMC,sBAAsB,GAAG,0BAA0B;AAEhE,OAAO,MAAMC,iBAAiB,GAAG,0BAA0B;AAE3D,OAAO,MAAMC,qBAAqB,GAAG,uBAAuB;AAE5D,OAAO,MAAMC,qBAAqB,GAAG,uBAAuB;AAE5D,OAAO,MAAMC,uBAAuB,GAAG,yBAAyB;AAEhE,OAAO,MAAMC,yBAAyB,GAAG,2BAA2B;AAEpE,OAAO,MAAMC,oBAAoB,GAAG,4BAA4B;AAEhE,OAAO,MAAMC,iBAAiB,GAAG,+BAA+B;AAEhE,OAAO,MAAMC,uCAAuC,GAAG,MAAM;AAE7D,OAAO,MAAMC,gBAAgB,GAAG,oCAAoC;AAEpE,OAAO,MAAMC,8BAA8B,GAAG,gCAAgC;AAE9E,OAAO,MAAMC,6BAA6B,GAAG,+BAA+B;AAE5E,OAAO,MAAMC,qBAAqB,GAAG,iBAAiB;AAEtD,OAAO,MAAMC,4BAA4B,GAAG,KAAK,CAAC,CAAC;;AAEnD,OAAO,MAAMC,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;;AAEhE;AACA;AACA;;AAEA;AACA,OAAO,MAAMC,gBAAgB,GAAG;AAC9B;AACA,gBAAgB;AAChB;AACA,0CAA0C,EAC1C,gDAAgD,EAChD,kDAAkD;AAElD;AACA,qDAAqD,EACrD,2DAA2D,EAC3D,6DAA6D;AAE7D;AACA,gDAAgD;AAEhD;AACA,+CAA+C,EAC/C,8CAA8C,EAC9C,6CAA6C,EAC7C,4DAA4D,EAC5D,4DAA4D,EAC5D;;AAEA;AACA;AAAA,CACD","ignoreList":[]}
1
+ {"version":3,"names":["OTEL_MP_SAMPLE_TRACE_RATIO","SESSION_ID_PROP_NAME","SESSION_SHORT_ID_PROP_NAME","SESSION_STATE_PROP_NAME","SESSION_TYPE_PROP_NAME","SESSION_PROP_NAME","SESSION_STARTED_EVENT","SESSION_STOPPED_EVENT","SESSION_SUBSCRIBE_EVENT","SESSION_UNSUBSCRIBE_EVENT","SESSION_AUTO_CREATED","SESSION_ADD_EVENT","SESSION_SAVE_BUFFER_EVENT","DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE","SESSION_RESPONSE","REMOTE_SESSION_RECORDING_START","REMOTE_SESSION_RECORDING_STOP","SOCKET_SET_USER_EVENT","CONTINUOUS_DEBUGGING_TIMEOUT","DEBUG_SESSION_MAX_DURATION_SECONDS","OTEL_IGNORE_URLS"],"sourceRoot":"../../../src","sources":["config/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,0BAA0B,GAAG,IAAI;AAE9C,OAAO,MAAMC,oBAAoB,GAAG,wBAAwB;AAE5D,OAAO,MAAMC,0BAA0B,GAAG,8BAA8B;AAExE,OAAO,MAAMC,uBAAuB,GAAG,2BAA2B;AAElE,OAAO,MAAMC,sBAAsB,GAAG,0BAA0B;AAEhE,OAAO,MAAMC,iBAAiB,GAAG,0BAA0B;AAE3D,OAAO,MAAMC,qBAAqB,GAAG,uBAAuB;AAE5D,OAAO,MAAMC,qBAAqB,GAAG,uBAAuB;AAE5D,OAAO,MAAMC,uBAAuB,GAAG,yBAAyB;AAEhE,OAAO,MAAMC,yBAAyB,GAAG,2BAA2B;AAEpE,OAAO,MAAMC,oBAAoB,GAAG,4BAA4B;AAEhE,OAAO,MAAMC,iBAAiB,GAAG,+BAA+B;;AAEhE;AACA,OAAO,MAAMC,yBAAyB,GAAG,2BAA2B;AAEpE,OAAO,MAAMC,uCAAuC,GAAG,MAAM;AAE7D,OAAO,MAAMC,gBAAgB,GAAG,oCAAoC;AAEpE,OAAO,MAAMC,8BAA8B,GAAG,gCAAgC;AAE9E,OAAO,MAAMC,6BAA6B,GAAG,+BAA+B;AAE5E,OAAO,MAAMC,qBAAqB,GAAG,iBAAiB;AAEtD,OAAO,MAAMC,4BAA4B,GAAG,KAAK,CAAC,CAAC;;AAEnD,OAAO,MAAMC,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;;AAEhE;AACA;AACA;;AAEA;AACA,OAAO,MAAMC,gBAAgB,GAAG;AAC9B;AACA,gBAAgB;AAChB;AACA,0CAA0C,EAC1C,gDAAgD,EAChD,kDAAkD;AAElD;AACA,qDAAqD,EACrD,2DAA2D,EAC3D,6DAA6D;AAE7D;AACA,gDAAgD;AAEhD;AACA,+CAA+C,EAC/C,8CAA8C,EAC9C,6CAA6C,EAC7C,4DAA4D,EAC5D,4DAA4D,EAC5D;;AAEA;AACA;AAAA,CACD","ignoreList":[]}
@@ -77,6 +77,10 @@ export const BASE_CONFIG = {
77
77
  enabled: false,
78
78
  level: LogLevel.INFO
79
79
  },
80
- useWebsocket: true
80
+ useWebsocket: true,
81
+ buffering: {
82
+ enabled: true,
83
+ windowMinutes: 1
84
+ }
81
85
  };
82
86
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SessionRecorderSdk","MULTIPLAYER_BASE_API_URL","MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL","LogLevel","WidgetButtonPlacement","OTEL_MP_SAMPLE_TRACE_RATIO","DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE","mask","sensitiveFields","sensitiveHeaders","DEFAULT_MASKING_CONFIG","isContentMaskingEnabled","maskBody","maskHeaders","maskBodyFieldsList","maskHeadersList","headersToInclude","headersToExclude","maskImages","maskLabels","maskButtons","maskWebViews","maskTextInputs","maskSandboxedViews","DEFAULT_WIDGET_TEXT_CONFIG","initialTitleWithContinuous","initialTitleWithoutContinuous","initialDescriptionWithContinuous","initialDescriptionWithoutContinuous","continuousRecordingLabel","startRecordingButtonText","finalTitle","finalDescription","commentPlaceholder","saveButtonText","cancelButtonText","continuousOverlayTitle","continuousOverlayDescription","saveLastSnapshotButtonText","submitDialogTitle","submitDialogSubtitle","submitDialogCommentLabel","submitDialogCommentPlaceholder","submitDialogSubmitText","submitDialogCancelText","BASE_CONFIG","apiKey","version","application","environment","showContinuousRecording","widget","enabled","button","visible","placement","bottomRight","textOverrides","apiBaseUrl","exporterEndpoint","schemifyDocSpanPayload","ignoreUrls","propagateTraceHeaderCorsUrls","sampleTraceRatio","maxCapturingHttpPayloadSize","captureBody","captureHeaders","masking","recordScreen","recordGestures","recordNavigation","logger","level","INFO","useWebsocket"],"sourceRoot":"../../../src","sources":["config/defaults.ts"],"mappings":";;AAAA,SACEA,kBAAkB,EAClBC,wBAAwB,EACxBC,iDAAiD,QAC5C,0CAA0C;AACjD,SACEC,QAAQ,EACRC,qBAAqB,QAEhB,mBAAU;AACjB,SACEC,0BAA0B,EAC1BC,uCAAuC,QAClC,gBAAa;AAEpB,MAAM;EAAEC,IAAI;EAAEC,eAAe;EAAEC;AAAiB,CAAC,GAAGT,kBAAkB;AAEtE,OAAO,MAAMU,sBAAyD,GAAG;EACvEC,uBAAuB,EAAE,IAAI;EAC7BC,QAAQ,EAAEL,IAAI,CAACC,eAAe,CAAC;EAC/BK,WAAW,EAAEN,IAAI,CAACE,gBAAgB,CAAC;EACnCK,kBAAkB,EAAEN,eAAe;EACnCO,eAAe,EAAEN,gBAAgB;EACjCO,gBAAgB,EAAE,EAAE;EACpBC,gBAAgB,EAAE,EAAE;EACpB;EACAC,UAAU,EAAE,KAAK;EACjBC,UAAU,EAAE,KAAK;EACjBC,WAAW,EAAE,KAAK;EAClBC,YAAY,EAAE,KAAK;EACnBC,cAAc,EAAE,KAAK;EACrBC,kBAAkB,EAAE;AACtB,CAAC;AAED,OAAO,MAAMC,0BAA6E,GAC1F;EACEC,0BAA0B,EAAE,uBAAuB;EACnDC,6BAA6B,EAAE,uBAAuB;EACtDC,gCAAgC,EAC9B,kEAAkE;EACpEC,mCAAmC,EACjC,kEAAkE;EACpEC,wBAAwB,EAAE,sBAAsB;EAChDC,wBAAwB,EAAE,iBAAiB;EAC3CC,UAAU,EAAE,iBAAiB;EAC7BC,gBAAgB,EACd,0FAA0F;EAC5FC,kBAAkB,EAAE,kBAAkB;EACtCC,cAAc,EAAE,kBAAkB;EAClCC,gBAAgB,EAAE,kBAAkB;EACpCC,sBAAsB,EAAE,mCAAmC;EAC3DC,4BAA4B,EAC1B,mOAAmO;EACrOC,0BAA0B,EAAE,gBAAgB;EAC5CC,iBAAiB,EAAE,gBAAgB;EACnCC,oBAAoB,EAClB,iJAAiJ;EACnJC,wBAAwB,EAAE,+CAA+C;EACzEC,8BAA8B,EAAE,kBAAkB;EAClDC,sBAAsB,EAAE,MAAM;EAC9BC,sBAAsB,EAAE;AAC1B,CAAC;AAED,OAAO,MAAMC,WAAmC,GAAG;EACjDC,MAAM,EAAE,EAAE;EAEVC,OAAO,EAAE,EAAE;EACXC,WAAW,EAAE,EAAE;EACfC,WAAW,EAAE,EAAE;EAEfC,uBAAuB,EAAE,IAAI;EAE7BC,MAAM,EAAE;IACNC,OAAO,EAAE,IAAI;IACbC,MAAM,EAAE;MACNC,OAAO,EAAE,IAAI;MACbC,SAAS,EAAEnD,qBAAqB,CAACoD;IACnC,CAAC;IACDC,aAAa,EAAEjC;EACjB,CAAC;EAEDkC,UAAU,EAAEzD,wBAAwB;EACpC0D,gBAAgB,EAAEzD,iDAAiD;EAEnE0D,sBAAsB,EAAE,IAAI;EAE5BC,UAAU,EAAE,EAAE;EACdC,4BAA4B,EAAE,EAAE;EAEhCC,gBAAgB,EAAE1D,0BAA0B;EAC5C2D,2BAA2B,EAAE1D,uCAAuC;EAEpE2D,WAAW,EAAE,IAAI;EACjBC,cAAc,EAAE,IAAI;EACpBC,OAAO,EAAEzD,sBAAsB;EAE/B0D,YAAY,EAAE,IAAI;EAClBC,cAAc,EAAE,IAAI;EACpBC,gBAAgB,EAAE,IAAI;EAEtBC,MAAM,EAAE;IACNnB,OAAO,EAAE,KAAK;IACdoB,KAAK,EAAErE,QAAQ,CAACsE;EAClB,CAAC;EAEDC,YAAY,EAAE;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["SessionRecorderSdk","MULTIPLAYER_BASE_API_URL","MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL","LogLevel","WidgetButtonPlacement","OTEL_MP_SAMPLE_TRACE_RATIO","DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE","mask","sensitiveFields","sensitiveHeaders","DEFAULT_MASKING_CONFIG","isContentMaskingEnabled","maskBody","maskHeaders","maskBodyFieldsList","maskHeadersList","headersToInclude","headersToExclude","maskImages","maskLabels","maskButtons","maskWebViews","maskTextInputs","maskSandboxedViews","DEFAULT_WIDGET_TEXT_CONFIG","initialTitleWithContinuous","initialTitleWithoutContinuous","initialDescriptionWithContinuous","initialDescriptionWithoutContinuous","continuousRecordingLabel","startRecordingButtonText","finalTitle","finalDescription","commentPlaceholder","saveButtonText","cancelButtonText","continuousOverlayTitle","continuousOverlayDescription","saveLastSnapshotButtonText","submitDialogTitle","submitDialogSubtitle","submitDialogCommentLabel","submitDialogCommentPlaceholder","submitDialogSubmitText","submitDialogCancelText","BASE_CONFIG","apiKey","version","application","environment","showContinuousRecording","widget","enabled","button","visible","placement","bottomRight","textOverrides","apiBaseUrl","exporterEndpoint","schemifyDocSpanPayload","ignoreUrls","propagateTraceHeaderCorsUrls","sampleTraceRatio","maxCapturingHttpPayloadSize","captureBody","captureHeaders","masking","recordScreen","recordGestures","recordNavigation","logger","level","INFO","useWebsocket","buffering","windowMinutes"],"sourceRoot":"../../../src","sources":["config/defaults.ts"],"mappings":";;AAAA,SACEA,kBAAkB,EAClBC,wBAAwB,EACxBC,iDAAiD,QAC5C,0CAA0C;AACjD,SACEC,QAAQ,EACRC,qBAAqB,QAEhB,mBAAU;AACjB,SACEC,0BAA0B,EAC1BC,uCAAuC,QAClC,gBAAa;AAEpB,MAAM;EAAEC,IAAI;EAAEC,eAAe;EAAEC;AAAiB,CAAC,GAAGT,kBAAkB;AAEtE,OAAO,MAAMU,sBAAyD,GAAG;EACvEC,uBAAuB,EAAE,IAAI;EAC7BC,QAAQ,EAAEL,IAAI,CAACC,eAAe,CAAC;EAC/BK,WAAW,EAAEN,IAAI,CAACE,gBAAgB,CAAC;EACnCK,kBAAkB,EAAEN,eAAe;EACnCO,eAAe,EAAEN,gBAAgB;EACjCO,gBAAgB,EAAE,EAAE;EACpBC,gBAAgB,EAAE,EAAE;EACpB;EACAC,UAAU,EAAE,KAAK;EACjBC,UAAU,EAAE,KAAK;EACjBC,WAAW,EAAE,KAAK;EAClBC,YAAY,EAAE,KAAK;EACnBC,cAAc,EAAE,KAAK;EACrBC,kBAAkB,EAAE;AACtB,CAAC;AAED,OAAO,MAAMC,0BAA6E,GAC1F;EACEC,0BAA0B,EAAE,uBAAuB;EACnDC,6BAA6B,EAAE,uBAAuB;EACtDC,gCAAgC,EAC9B,kEAAkE;EACpEC,mCAAmC,EACjC,kEAAkE;EACpEC,wBAAwB,EAAE,sBAAsB;EAChDC,wBAAwB,EAAE,iBAAiB;EAC3CC,UAAU,EAAE,iBAAiB;EAC7BC,gBAAgB,EACd,0FAA0F;EAC5FC,kBAAkB,EAAE,kBAAkB;EACtCC,cAAc,EAAE,kBAAkB;EAClCC,gBAAgB,EAAE,kBAAkB;EACpCC,sBAAsB,EAAE,mCAAmC;EAC3DC,4BAA4B,EAC1B,mOAAmO;EACrOC,0BAA0B,EAAE,gBAAgB;EAC5CC,iBAAiB,EAAE,gBAAgB;EACnCC,oBAAoB,EAClB,iJAAiJ;EACnJC,wBAAwB,EAAE,+CAA+C;EACzEC,8BAA8B,EAAE,kBAAkB;EAClDC,sBAAsB,EAAE,MAAM;EAC9BC,sBAAsB,EAAE;AAC1B,CAAC;AAED,OAAO,MAAMC,WAAmC,GAAG;EACjDC,MAAM,EAAE,EAAE;EAEVC,OAAO,EAAE,EAAE;EACXC,WAAW,EAAE,EAAE;EACfC,WAAW,EAAE,EAAE;EAEfC,uBAAuB,EAAE,IAAI;EAE7BC,MAAM,EAAE;IACNC,OAAO,EAAE,IAAI;IACbC,MAAM,EAAE;MACNC,OAAO,EAAE,IAAI;MACbC,SAAS,EAAEnD,qBAAqB,CAACoD;IACnC,CAAC;IACDC,aAAa,EAAEjC;EACjB,CAAC;EAEDkC,UAAU,EAAEzD,wBAAwB;EACpC0D,gBAAgB,EAAEzD,iDAAiD;EAEnE0D,sBAAsB,EAAE,IAAI;EAE5BC,UAAU,EAAE,EAAE;EACdC,4BAA4B,EAAE,EAAE;EAEhCC,gBAAgB,EAAE1D,0BAA0B;EAC5C2D,2BAA2B,EAAE1D,uCAAuC;EAEpE2D,WAAW,EAAE,IAAI;EACjBC,cAAc,EAAE,IAAI;EACpBC,OAAO,EAAEzD,sBAAsB;EAE/B0D,YAAY,EAAE,IAAI;EAClBC,cAAc,EAAE,IAAI;EACpBC,gBAAgB,EAAE,IAAI;EAEtBC,MAAM,EAAE;IACNnB,OAAO,EAAE,KAAK;IACdoB,KAAK,EAAErE,QAAQ,CAACsE;EAClB,CAAC;EAEDC,YAAY,EAAE,IAAI;EAElBC,SAAS,EAAE;IACTvB,OAAO,EAAE,IAAI;IACbwB,aAAa,EAAE;EACjB;AACF,CAAC","ignoreList":[]}
@@ -39,7 +39,11 @@ export const getSessionRecorderConfig = c => {
39
39
  masking: getMaskingConfig(c.masking),
40
40
  widget: getWidgetConfig(c.widget),
41
41
  logger: getLoggerConfig(c.logger),
42
- useWebsocket: isValidBoolean(c.useWebsocket, BASE_CONFIG.useWebsocket)
42
+ useWebsocket: isValidBoolean(c.useWebsocket, BASE_CONFIG.useWebsocket),
43
+ buffering: {
44
+ enabled: isValidBoolean(c.buffering?.enabled, BASE_CONFIG.buffering.enabled),
45
+ windowMinutes: isValidNumber(c.buffering?.windowMinutes, BASE_CONFIG.buffering.windowMinutes)
46
+ }
43
47
  };
44
48
  };
45
49
  //# sourceMappingURL=session-recorder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LogLevel","BASE_CONFIG","getMaskingConfig","isValidString","isValidNumber","isValidBoolean","isValidArray","getWidgetConfig","getLoggerConfig","config","logger","level","INFO","enabled","getSessionRecorderConfig","c","apiKey","version","application","environment","exporterEndpoint","apiBaseUrl","showContinuousRecording","ignoreUrls","sampleTraceRatio","propagateTraceHeaderCorsUrls","schemifyDocSpanPayload","maxCapturingHttpPayloadSize","captureBody","captureHeaders","recordScreen","recordGestures","recordNavigation","masking","widget","useWebsocket"],"sourceRoot":"../../../src","sources":["config/session-recorder.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["LogLevel","BASE_CONFIG","getMaskingConfig","isValidString","isValidNumber","isValidBoolean","isValidArray","getWidgetConfig","getLoggerConfig","config","logger","level","INFO","enabled","getSessionRecorderConfig","c","apiKey","version","application","environment","exporterEndpoint","apiBaseUrl","showContinuousRecording","ignoreUrls","sampleTraceRatio","propagateTraceHeaderCorsUrls","schemifyDocSpanPayload","maxCapturingHttpPayloadSize","captureBody","captureHeaders","recordScreen","recordGestures","recordNavigation","masking","widget","useWebsocket","buffering","windowMinutes"],"sourceRoot":"../../../src","sources":["config/session-recorder.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import { MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX, MULTIPLAYER_TRACE_CONTINUOUS_SESSION_CACHE_PREFIX } from '@multiplayer-app/session-recorder-common';
4
+ import { TraceFlags } from '@opentelemetry/api';
5
+ /**
6
+ * Implementation of the {@link SpanProcessor} that batches spans exported by
7
+ * the SDK then pushes them to the exporter pipeline.
8
+ */
9
+ export class CrashBufferSpanProcessor {
10
+ constructor(_exporter, _crashBuffer, _serializeSpan) {
11
+ this._exporter = _exporter;
12
+ this._crashBuffer = _crashBuffer;
13
+ this._serializeSpan = _serializeSpan;
14
+ }
15
+ forceFlush() {
16
+ return this._exporter.forceFlush();
17
+ }
18
+ onStart(_span, _parentContext) {
19
+ return this._exporter.onStart(_span, _parentContext);
20
+ }
21
+ onEnd(span) {
22
+ const traceId = span.spanContext().traceId;
23
+ if ((span.spanContext().traceFlags & TraceFlags.SAMPLED) === 0) {
24
+ return;
25
+ }
26
+ if (traceId.startsWith(MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX) || traceId.startsWith(MULTIPLAYER_TRACE_CONTINUOUS_SESSION_CACHE_PREFIX)) {
27
+ if (this._crashBuffer) {
28
+ this._crashBuffer.appendSpans([{
29
+ ts: span.startTime[0] * 1000 + span.startTime[1] / 1000000,
30
+ span: this._serializeSpan(span)
31
+ }]);
32
+ }
33
+ return;
34
+ }
35
+ this._exporter.onEnd(span);
36
+ }
37
+ shutdown() {
38
+ return this._exporter.shutdown();
39
+ }
40
+ }
41
+ //# sourceMappingURL=CrashBufferSpanProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX","MULTIPLAYER_TRACE_CONTINUOUS_SESSION_CACHE_PREFIX","TraceFlags","CrashBufferSpanProcessor","constructor","_exporter","_crashBuffer","_serializeSpan","forceFlush","onStart","_span","_parentContext","onEnd","span","traceId","spanContext","traceFlags","SAMPLED","startsWith","appendSpans","ts","startTime","shutdown"],"sourceRoot":"../../../src","sources":["otel/CrashBufferSpanProcessor.ts"],"mappings":";;AAAA,SACEA,sCAAsC,EACtCC,iDAAiD,QAC5C,0CAA0C;AAEjD,SAAuBC,UAAU,QAAQ,oBAAoB;AAQ7D;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,CAA0B;EAC7DC,WAAWA,CACQC,SAA6B,EAC7BC,YAAqC,EACrCC,cAA2C,EAC5D;IAAA,KAHiBF,SAA6B,GAA7BA,SAA6B;IAAA,KAC7BC,YAAqC,GAArCA,YAAqC;IAAA,KACrCC,cAA2C,GAA3CA,cAA2C;EAC3D;EAEHC,UAAUA,CAAA,EAAkB;IAC1B,OAAO,IAAI,CAACH,SAAS,CAACG,UAAU,CAAC,CAAC;EACpC;EAEAC,OAAOA,CAACC,KAAW,EAAEC,cAAuB,EAAQ;IAClD,OAAO,IAAI,CAACN,SAAS,CAACI,OAAO,CAACC,KAAK,EAAEC,cAAc,CAAC;EACtD;EAEAC,KAAKA,CAACC,IAAkB,EAAQ;IAC9B,MAAMC,OAAO,GAAGD,IAAI,CAACE,WAAW,CAAC,CAAC,CAACD,OAAO;IAE1C,IAAI,CAACD,IAAI,CAACE,WAAW,CAAC,CAAC,CAACC,UAAU,GAAGd,UAAU,CAACe,OAAO,MAAM,CAAC,EAAE;MAC9D;IACF;IAEA,IACEH,OAAO,CAACI,UAAU,CAAClB,sCAAsC,CAAC,IAC1Dc,OAAO,CAACI,UAAU,CAACjB,iDAAiD,CAAC,EACrE;MACA,IAAI,IAAI,CAACK,YAAY,EAAE;QACrB,IAAI,CAACA,YAAY,CAACa,WAAW,CAAC,CAC5B;UACEC,EAAE,EAAEP,IAAI,CAACQ,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAGR,IAAI,CAACQ,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO;UAC1DR,IAAI,EAAE,IAAI,CAACN,cAAc,CAACM,IAAI;QAChC,CAAC,CACF,CAAC;MACJ;MACA;IACF;IAEA,IAAI,CAACR,SAAS,CAACO,KAAK,CAACC,IAAI,CAAC;EAC5B;EAEAS,QAAQA,CAAA,EAAkB;IACxB,OAAO,IAAI,CAACjB,SAAS,CAACiB,QAAQ,CAAC,CAAC;EAClC;AACF","ignoreList":[]}
@@ -2,25 +2,29 @@
2
2
 
3
3
  import { resourceFromAttributes } from '@opentelemetry/resources';
4
4
  import { W3CTraceContextPropagator } from '@opentelemetry/core';
5
- import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
5
+ import { AlwaysOnSampler, BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
6
6
  import * as SemanticAttributes from '@opentelemetry/semantic-conventions';
7
7
  import { registerInstrumentations } from '@opentelemetry/instrumentation';
8
- import { SessionType, ATTR_MULTIPLAYER_SESSION_ID, SessionRecorderIdGenerator, SessionRecorderTraceIdRatioBasedSampler, SessionRecorderBrowserTraceExporter } from '@multiplayer-app/session-recorder-common';
8
+ import { SessionType, SessionRecorderSdk, SessionRecorderIdGenerator, SessionRecorderBrowserTraceExporter, ATTR_MULTIPLAYER_SESSION_ID, MULTIPLAYER_TRACE_CLIENT_ID_LENGTH } from '@multiplayer-app/session-recorder-common';
9
9
  import { getInstrumentations } from "./instrumentations/index.js";
10
10
  import { getExporterEndpoint } from "./helpers.js";
11
11
  import { trace, SpanStatusCode, context } from '@opentelemetry/api';
12
12
  import { getPlatformAttributes } from "../utils/platform.js";
13
13
  import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
14
+ import { CrashBufferSpanProcessor } from "./CrashBufferSpanProcessor.js";
14
15
  export class TracerReactNativeSDK {
16
+ clientId = '';
15
17
  sessionId = '';
16
18
  globalErrorHandlerRegistered = false;
17
19
  constructor() {}
18
20
  _setSessionId(sessionId, sessionType = SessionType.MANUAL) {
19
21
  this.sessionId = sessionId;
20
- this.idGenerator?.setSessionId(sessionId, sessionType);
22
+ this.idGenerator?.setSessionId(sessionId, sessionType, this.clientId);
21
23
  }
22
24
  init(options) {
23
25
  this.config = options;
26
+ const clientIdGenerator = SessionRecorderSdk.getIdGenerator(MULTIPLAYER_TRACE_CLIENT_ID_LENGTH);
27
+ this.clientId = clientIdGenerator();
24
28
  const {
25
29
  application,
26
30
  version,
@@ -31,6 +35,7 @@ export class TracerReactNativeSDK {
31
35
  apiKey: options.apiKey,
32
36
  url: getExporterEndpoint(options.exporterEndpoint)
33
37
  });
38
+ this.batchSpanProcessor = new BatchSpanProcessor(this.exporter);
34
39
  this.tracerProvider = new WebTracerProvider({
35
40
  resource: resourceFromAttributes({
36
41
  [SemanticAttributes.SEMRESATTRS_SERVICE_NAME]: application,
@@ -39,8 +44,8 @@ export class TracerReactNativeSDK {
39
44
  ...getPlatformAttributes()
40
45
  }),
41
46
  idGenerator: this.idGenerator,
42
- sampler: new SessionRecorderTraceIdRatioBasedSampler(this.config.sampleTraceRatio || 0.15),
43
- spanProcessors: [this._getSpanSessionIdProcessor(), new BatchSpanProcessor(this.exporter)]
47
+ sampler: new AlwaysOnSampler(),
48
+ spanProcessors: [this._getSpanSessionIdProcessor(), new CrashBufferSpanProcessor(this.batchSpanProcessor, this.crashBuffer, this.exporter.serializeSpan.bind(this.exporter))]
44
49
  });
45
50
  this.tracerProvider.register({
46
51
  propagator: new W3CTraceContextPropagator()
@@ -53,15 +58,27 @@ export class TracerReactNativeSDK {
53
58
  });
54
59
  this._registerGlobalErrorHandlers();
55
60
  }
61
+ setCrashBuffer(crashBuffer, windowMs) {
62
+ this.crashBuffer = crashBuffer;
63
+ if (crashBuffer && typeof windowMs === 'number' && Number.isFinite(windowMs)) {
64
+ crashBuffer.setDefaultWindowMs(windowMs);
65
+ }
66
+ }
67
+ async exportTraces(spans) {
68
+ if (this.batchSpanProcessor) {
69
+ spans.map(span => {
70
+ this.batchSpanProcessor?.onEnd(span);
71
+ });
72
+ return Promise.resolve();
73
+ }
74
+ throw new Error('Buffer span processor not initialized');
75
+ }
56
76
  _getSpanSessionIdProcessor() {
57
77
  return {
58
78
  onStart: span => {
59
79
  if (this.sessionId) {
60
80
  span.setAttribute(ATTR_MULTIPLAYER_SESSION_ID, this.sessionId);
61
81
  }
62
- // Add React Native specific attributes
63
- span.setAttribute('platform', 'react-native');
64
- span.setAttribute('timestamp', Date.now());
65
82
  },
66
83
  onEnd: () => {},
67
84
  shutdown: () => Promise.resolve(),
@@ -150,7 +167,9 @@ export class TracerReactNativeSDK {
150
167
  if (typeof previous === 'function') {
151
168
  try {
152
169
  previous(error, isFatal);
153
- } catch (_e) {/* ignore */}
170
+ } catch (_e) {
171
+ /* ignore */
172
+ }
154
173
  }
155
174
  }
156
175
  });
@@ -1 +1 @@
1
- {"version":3,"names":["resourceFromAttributes","W3CTraceContextPropagator","BatchSpanProcessor","SemanticAttributes","registerInstrumentations","SessionType","ATTR_MULTIPLAYER_SESSION_ID","SessionRecorderIdGenerator","SessionRecorderTraceIdRatioBasedSampler","SessionRecorderBrowserTraceExporter","getInstrumentations","getExporterEndpoint","trace","SpanStatusCode","context","getPlatformAttributes","WebTracerProvider","TracerReactNativeSDK","sessionId","globalErrorHandlerRegistered","constructor","_setSessionId","sessionType","MANUAL","idGenerator","setSessionId","init","options","config","application","version","environment","exporter","apiKey","url","exporterEndpoint","tracerProvider","resource","SEMRESATTRS_SERVICE_NAME","SEMRESATTRS_SERVICE_VERSION","SEMRESATTRS_DEPLOYMENT_ENVIRONMENT","sampler","sampleTraceRatio","spanProcessors","_getSpanSessionIdProcessor","register","propagator","instrumentations","_registerGlobalErrorHandlers","onStart","span","setAttribute","Date","now","onEnd","shutdown","Promise","resolve","forceFlush","start","Error","stop","setApiKey","captureException","error","errorInfo","activeSpan","getSpan","active","_recordException","_ignored","tracer","getTracer","startSpan","name","end","recordException","setStatus","code","ERROR","message","stack","Object","entries","forEach","key","value","ErrorUtilsRef","global","ErrorUtils","setGlobalHandler","previous","getGlobalHandler","isFatal","err","String","_e"],"sourceRoot":"../../../src","sources":["otel/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["resourceFromAttributes","W3CTraceContextPropagator","AlwaysOnSampler","BatchSpanProcessor","SemanticAttributes","registerInstrumentations","SessionType","SessionRecorderSdk","SessionRecorderIdGenerator","SessionRecorderBrowserTraceExporter","ATTR_MULTIPLAYER_SESSION_ID","MULTIPLAYER_TRACE_CLIENT_ID_LENGTH","getInstrumentations","getExporterEndpoint","trace","SpanStatusCode","context","getPlatformAttributes","WebTracerProvider","CrashBufferSpanProcessor","TracerReactNativeSDK","clientId","sessionId","globalErrorHandlerRegistered","constructor","_setSessionId","sessionType","MANUAL","idGenerator","setSessionId","init","options","config","clientIdGenerator","getIdGenerator","application","version","environment","exporter","apiKey","url","exporterEndpoint","batchSpanProcessor","tracerProvider","resource","SEMRESATTRS_SERVICE_NAME","SEMRESATTRS_SERVICE_VERSION","SEMRESATTRS_DEPLOYMENT_ENVIRONMENT","sampler","spanProcessors","_getSpanSessionIdProcessor","crashBuffer","serializeSpan","bind","register","propagator","instrumentations","_registerGlobalErrorHandlers","setCrashBuffer","windowMs","Number","isFinite","setDefaultWindowMs","exportTraces","spans","map","span","onEnd","Promise","resolve","Error","onStart","setAttribute","shutdown","forceFlush","start","stop","setApiKey","captureException","error","errorInfo","activeSpan","getSpan","active","_recordException","_ignored","tracer","getTracer","startSpan","name","end","recordException","setStatus","code","ERROR","message","stack","Object","entries","forEach","key","value","ErrorUtilsRef","global","ErrorUtils","setGlobalHandler","previous","getGlobalHandler","isFatal","err","String","_e"],"sourceRoot":"../../../src","sources":["otel/index.ts"],"mappings":"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","ignoreList":[]}
@@ -24,27 +24,87 @@ function _tryReadFetchBody({
24
24
  }
25
25
  return `[Fetch] Cannot read body of type ${Object.prototype.toString.call(body)}`;
26
26
  }
27
+
28
+ /**
29
+ * Detects if a response is a streaming response that should NOT have its body read.
30
+ * Reading the body of streaming responses (SSE, chunked streams, etc.) will either:
31
+ * - Block forever (SSE streams never end)
32
+ * - Corrupt the stream for the actual consumer
33
+ */
34
+ function _isStreamingResponse(response) {
35
+ const contentType = response.headers.get('content-type')?.toLowerCase() ?? '';
36
+
37
+ // SSE - Server-Sent Events (infinite stream)
38
+ if (contentType.includes('text/event-stream')) {
39
+ return true;
40
+ }
41
+
42
+ // Binary streams that are typically long-running
43
+ if (contentType.includes('application/octet-stream')) {
44
+ return true;
45
+ }
46
+
47
+ // NDJSON streaming (newline-delimited JSON, common in streaming APIs)
48
+ if (contentType.includes('application/x-ndjson') || contentType.includes('application/ndjson')) {
49
+ return true;
50
+ }
51
+
52
+ // gRPC-web streaming
53
+ if (contentType.includes('application/grpc')) {
54
+ return true;
55
+ }
56
+
57
+ // Check for chunked transfer encoding (often indicates streaming)
58
+ const transferEncoding = response.headers.get('transfer-encoding')?.toLowerCase();
59
+ if (transferEncoding?.includes('chunked')) {
60
+ // Chunked alone isn't definitive, but combined with no content-length = streaming
61
+ const contentLength = response.headers.get('content-length');
62
+ if (!contentLength) {
63
+ return true;
64
+ }
65
+ }
66
+ return false;
67
+ }
68
+
69
+ /**
70
+ * Safely reads response body for non-streaming responses.
71
+ * Returns null for streaming responses to avoid blocking/corruption.
72
+ */
27
73
  async function _tryReadResponseBody(response) {
74
+ // CRITICAL: Never attempt to read streaming response bodies
75
+ if (_isStreamingResponse(response)) {
76
+ return null;
77
+ }
28
78
  try {
29
79
  // Clone the response to avoid consuming the original stream.
30
80
  const clonedResponse = response.clone();
31
- const contentType = response.headers.get('content-type') || '';
81
+ const contentType = response.headers.get('content-type')?.toLowerCase() ?? '';
82
+
83
+ // Check content-length to avoid reading massive responses
84
+ const contentLength = response.headers.get('content-length');
85
+ if (contentLength) {
86
+ const length = parseInt(contentLength, 10);
87
+ if (!isNaN(length) && length > configs.maxCapturingHttpPayloadSize) {
88
+ return `[Fetch] Response too large (${length} bytes)`;
89
+ }
90
+ }
32
91
  if (contentType.includes('application/json')) {
33
92
  const json = await clonedResponse.json();
34
93
  return JSON.stringify(json);
35
- } else if (contentType.includes('text/')) {
94
+ }
95
+ if (contentType.includes('text/')) {
36
96
  return await clonedResponse.text();
37
- } else {
38
- // For other content types, try text first, fallback to arrayBuffer
97
+ }
98
+
99
+ // For unknown types, attempt text read
100
+ try {
101
+ return await clonedResponse.text();
102
+ } catch {
39
103
  try {
40
- return await clonedResponse.text();
104
+ const arrayBuffer = await clonedResponse.arrayBuffer();
105
+ return `[Fetch] Binary data (${arrayBuffer.byteLength} bytes)`;
41
106
  } catch {
42
- try {
43
- const arrayBuffer = await clonedResponse.arrayBuffer();
44
- return `[Fetch] Binary data (${arrayBuffer.byteLength} bytes)`;
45
- } catch {
46
- return '[Fetch] Unable to read response body';
47
- }
107
+ return '[Fetch] Unable to read response body';
48
108
  }
49
109
  }
50
110
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["isFormData","isNullish","isObject","isString","formDataToQuery","configs","_tryReadFetchBody","body","JSON","stringify","Object","prototype","toString","call","_tryReadResponseBody","response","clonedResponse","clone","contentType","headers","get","includes","json","text","arrayBuffer","byteLength","error","Error","message","_headersToObject","result","forEach","value","key","_headersInitToObject","headersInit","Headers","Array","isArray","String","toLowerCase","entries","fetch","global","originalFetch","input","init","networkRequest","inputIsRequest","Request","recordRequestHeaders","requestHeaders","shouldRecordBody","candidateBody","requestBody","length","Blob","size","maxCapturingHttpPayloadSize","recordResponseHeaders","responseHeaders","responseBody","setPrototypeOf","defineProperty","console","warn","info"],"sourceRoot":"../../../src","sources":["patch/fetch.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isFormData","isNullish","isObject","isString","formDataToQuery","configs","_tryReadFetchBody","body","JSON","stringify","Object","prototype","toString","call","_isStreamingResponse","response","contentType","headers","get","toLowerCase","includes","transferEncoding","contentLength","_tryReadResponseBody","clonedResponse","clone","length","parseInt","isNaN","maxCapturingHttpPayloadSize","json","text","arrayBuffer","byteLength","error","Error","message","_headersToObject","result","forEach","value","key","_headersInitToObject","headersInit","Headers","Array","isArray","String","entries","fetch","global","originalFetch","input","init","networkRequest","inputIsRequest","Request","recordRequestHeaders","requestHeaders","shouldRecordBody","candidateBody","requestBody","Blob","size","recordResponseHeaders","responseHeaders","responseBody","setPrototypeOf","defineProperty","console","warn","info"],"sourceRoot":"../../../src","sources":["patch/fetch.ts"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,8 @@ import { NavigationTracker } from "./navigationTracker.js";
10
10
  export class RecorderReactNativeSDK {
11
11
  isRecording = false;
12
12
  recordedEvents = [];
13
+ bufferingEnabled = false;
14
+ bufferWindowMs = 2 * 60 * 1000;
13
15
  sessionId = null;
14
16
  sessionType = SessionType.MANUAL;
15
17
  constructor() {
@@ -17,9 +19,12 @@ export class RecorderReactNativeSDK {
17
19
  this.gestureRecorder = new GestureRecorder();
18
20
  this.navigationTracker = new NavigationTracker();
19
21
  }
20
- init(config, socketService) {
22
+ init(config, socketService, crashBuffer, buffering) {
21
23
  this.config = config;
22
24
  this.socketService = socketService;
25
+ this.crashBuffer = crashBuffer;
26
+ this.bufferingEnabled = Boolean(buffering?.enabled);
27
+ this.bufferWindowMs = Math.max(10_000, buffering?.windowMs || 1 * 60 * 1000);
23
28
  this.screenRecorder.init(config, this);
24
29
  this.navigationTracker.init(config, this.screenRecorder);
25
30
  this.gestureRecorder.init(config, this, this.screenRecorder);
@@ -71,6 +76,15 @@ export class RecorderReactNativeSDK {
71
76
  if (!this.isRecording) {
72
77
  return;
73
78
  }
79
+
80
+ // Buffer-only mode (no active debug session): persist locally.
81
+ if (!this.sessionId && this.crashBuffer && this.bufferingEnabled) {
82
+ void this.crashBuffer.appendEvent({
83
+ ts: event.timestamp,
84
+ event
85
+ }, this.bufferWindowMs);
86
+ return;
87
+ }
74
88
  if (this.socketService) {
75
89
  logger.debug('RecorderReactNativeSDK', 'Sending to socket service', event);
76
90
  // Skip packing to avoid blob creation issues in Hermes
@@ -1 +1 @@
1
- {"version":3,"names":["SessionType","logger","ScreenRecorder","GestureRecorder","NavigationTracker","RecorderReactNativeSDK","isRecording","recordedEvents","sessionId","sessionType","MANUAL","constructor","screenRecorder","gestureRecorder","navigationTracker","init","config","socketService","start","Error","recordScreen","recordGestures","recordNavigation","stop","close","setNavigationRef","ref","setViewShotRef","recordEvent","event","debug","send","eventType","type","timestamp","debugSessionId","debugSessionType","recordTouchStart","x","y","target","pressure","recordTouchMove","recordTouchEnd","getRecordedEvents","clearRecordedEvents","getRecordingStats","totalEvents","length"],"sourceRoot":"../../../src","sources":["recorder/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SessionType","logger","ScreenRecorder","GestureRecorder","NavigationTracker","RecorderReactNativeSDK","isRecording","recordedEvents","bufferingEnabled","bufferWindowMs","sessionId","sessionType","MANUAL","constructor","screenRecorder","gestureRecorder","navigationTracker","init","config","socketService","crashBuffer","buffering","Boolean","enabled","Math","max","windowMs","start","Error","recordScreen","recordGestures","recordNavigation","stop","close","setNavigationRef","ref","setViewShotRef","recordEvent","event","appendEvent","ts","timestamp","debug","send","eventType","type","debugSessionId","debugSessionType","recordTouchStart","x","y","target","pressure","recordTouchMove","recordTouchEnd","getRecordedEvents","clearRecordedEvents","getRecordingStats","totalEvents","length"],"sourceRoot":"../../../src","sources":["recorder/index.ts"],"mappings":"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","ignoreList":[]}
@@ -42,6 +42,28 @@ export class ApiService {
42
42
  }
43
43
  }
44
44
 
45
+ /**
46
+ * Create a new error span session
47
+ * @param request - Session create error span request data
48
+ * @param signal - Optional AbortSignal for request cancellation
49
+ */
50
+ async createErrorSession(request, signal) {
51
+ return this.makeRequest('/debug-sessions/error-span/start', 'POST', request, signal);
52
+ }
53
+ async updateSessionAttributes(sessionId, requestBody, signal) {
54
+ return this.makeRequest(`/debug-sessions/${sessionId}`, 'PATCH', requestBody, signal);
55
+ }
56
+
57
+ /**
58
+ * Export events to the session debugger API
59
+ * @param sessionId - ID of the session to export events
60
+ * @param requestBody - Request body containing events
61
+ * @param signal - Optional AbortSignal for request cancellation
62
+ */
63
+ async exportEvents(sessionId, requestBody, signal) {
64
+ return this.makeRequest(`/debug-sessions/${sessionId}/rrweb-events`, 'POST', requestBody, signal);
65
+ }
66
+
45
67
  /**
46
68
  * Make a request to the session debugger API
47
69
  * @param path - API endpoint path (relative to the base URL)
@@ -140,8 +162,8 @@ export class ApiService {
140
162
  }
141
163
 
142
164
  /**
143
- * Check debug session should be started remotely
144
- */
165
+ * Check debug session should be started remotely
166
+ */
145
167
  async checkRemoteSession(requestBody, signal) {
146
168
  return this.makeRequest('/remote-debug-session/check', 'POST', requestBody, signal);
147
169
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ApiService","baseUrl","constructor","config","apiKey","apiBaseUrl","exporterEndpoint","init","updateConfigs","setApiKey","makeRequest","path","method","body","signal","url","params","JSON","stringify","headers","response","fetch","ok","Error","statusText","status","json","error","name","message","startSession","request","res","stopSession","sessionId","cancelSession","startContinuousDebugSession","saveContinuousDebugSession","stopContinuousDebugSession","checkRemoteSession","requestBody"],"sourceRoot":"../../../src","sources":["services/api.service.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ApiService","baseUrl","constructor","config","apiKey","apiBaseUrl","exporterEndpoint","init","updateConfigs","setApiKey","createErrorSession","request","signal","makeRequest","updateSessionAttributes","sessionId","requestBody","exportEvents","path","method","body","url","params","JSON","stringify","headers","response","fetch","ok","Error","statusText","status","json","error","name","message","startSession","res","stopSession","cancelSession","startContinuousDebugSession","saveContinuousDebugSession","stopContinuousDebugSession","checkRemoteSession"],"sourceRoot":"../../../src","sources":["services/api.service.ts"],"mappings":"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","ignoreList":[]}