@coralogix/browser 3.6.0 → 3.7.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## 3.7.1 (2026-04-26)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - Support error logging for non-JSON-serializable error properties
6
+
7
+ ## 3.7.0 (2026-04-19)
8
+
9
+ ### 🚀 Features
10
+ - Improve session recording with immediateFlush option to capture short-duration sessions (<10s)
11
+
1
12
  ## 3.6.0 (2026-04-09)
2
13
 
3
14
  ### 🚀 Features
package/README.md CHANGED
@@ -294,6 +294,7 @@ CoralogixRum.init({
294
294
  autoStartSessionRecording: true, // Automatically records your session when SDK is up.
295
295
  recordConsoleEvents: true, // Will record all console events from dev tools. Levels: log, debug, warn, error, info, table etc..
296
296
  sessionRecordingSampleRate: 100, // Percentage of overall sessions recording being tracked, defaults to 100% and applied after the overall sessionSampleRate.
297
+ immediateFlush: false, // Flush recording events immediately on start to capture short-duration sessions (<10s). Defaults to false.
297
298
  },
298
299
  });
299
300
  ```
package/index.esm2.js CHANGED
@@ -555,7 +555,12 @@ var CoralogixErrorInstrumentation = (function (_super) {
555
555
  var _this = _super.call(this, ERROR_INSTRUMENTATION_NAME, ERROR_INSTRUMENTATION_VERSION, config) || this;
556
556
  _this.parseErrorObject = function (obj) {
557
557
  var _a;
558
- return (_a = obj === null || obj === void 0 ? void 0 : obj.message) !== null && _a !== void 0 ? _a : JSON.stringify(obj, getCircularReplacer());
558
+ try {
559
+ return (_a = obj === null || obj === void 0 ? void 0 : obj.message) !== null && _a !== void 0 ? _a : JSON.stringify(obj, getCircularReplacer());
560
+ }
561
+ catch (_b) {
562
+ return obj === null || obj === void 0 ? void 0 : obj.toString();
563
+ }
559
564
  };
560
565
  if (getSdkConfig().supportMfe) {
561
566
  CxGlobal[CACHED_METADATA_KEY] = new Map();
@@ -4225,7 +4230,7 @@ function resolveUrlBlueprinters(urlBlueprinters) {
4225
4230
  return resolvedUrlBlueprinters;
4226
4231
  }
4227
4232
 
4228
- var SDK_VERSION = '3.6.0';
4233
+ var SDK_VERSION = '3.7.1';
4229
4234
 
4230
4235
  function shouldDropEvent(cxRumEvent, options) {
4231
4236
  if (isDocumentErrorWithoutMessage(cxRumEvent)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coralogix/browser",
3
- "version": "3.6.0",
3
+ "version": "3.7.1",
4
4
  "description": "Official Coralogix SDK for browsers",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Coralogix",
@@ -6005,6 +6005,10 @@ var SessionRecorder = (function () {
6005
6005
  }
6006
6006
  };
6007
6007
  SessionRecorder.prototype.startBatchingRecords = function () {
6008
+ var _a, _b;
6009
+ if ((_b = (_a = getSdkConfig()) === null || _a === void 0 ? void 0 : _a.sessionRecordingConfig) === null || _b === void 0 ? void 0 : _b.immediateFlush) {
6010
+ this.prepareRecordEventsBeforeSend();
6011
+ }
6008
6012
  this.batchingTimeInterval = cxSetInterval(this.prepareRecordEventsBeforeSend, MAX_BATCH_TIME_MS);
6009
6013
  };
6010
6014
  SessionRecorder.prototype.initializeSessionWorker = function (workerUrl) {
@@ -10,6 +10,7 @@ export interface SessionRecordingConfig extends Omit<recordOptions<eventWithTime
10
10
  excludeDOMOptions?: SlimDOMOptions;
11
11
  sessionRecordingSampleRate?: number;
12
12
  workerUrl?: string;
13
+ immediateFlush?: boolean;
13
14
  }
14
15
  export interface SessionWithErrorConfig {
15
16
  enable: boolean;
package/src/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "3.6.0";
1
+ export declare const SDK_VERSION = "3.7.1";