@coralogix/browser 2.4.1 → 2.5.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 2.5.0 (2025-04-29)
2
+
3
+ ### 🚀 Features
4
+
5
+ - Add CDN compatibility for old browsers
6
+
7
+ ## 2.4.2 (2025-04-29)
8
+
9
+ ### 🩹 Fixes
10
+
11
+ - Support Smart TV user agents
12
+
1
13
  ## 2.4.1 (2025-04-14)
2
14
 
3
15
  ### 🩹 Fixes
package/index.esm2.js CHANGED
@@ -2705,25 +2705,28 @@ var getUrlFragments = function (url) {
2705
2705
  };
2706
2706
  function parseUserAgent(userAgent) {
2707
2707
  var e_1, _a, e_2, _b, e_3, _c;
2708
- var _d, _e;
2708
+ var _d, _e, _f;
2709
2709
  var browsers = {
2710
+ Edge: /Edge\/([\d.]+)|Edg\/([\d.]+)/,
2710
2711
  Chrome: /Chrome\/([\d.]+)/,
2711
2712
  Firefox: /Firefox\/([\d.]+)/,
2712
- Safari: /Version\/([\d.]+).*Safari/,
2713
- Edge: /Edge\/([\d.]+)/,
2713
+ Safari: /Version\/([\d.]+).*Safari|Safari\/([\d.]+)/,
2714
2714
  Opera: /Opera\/([\d.]+)/,
2715
2715
  IE: /Trident.*rv:([\d.]+)/,
2716
2716
  };
2717
2717
  var operatingSystems = {
2718
2718
  Windows: /Windows NT ([\d.]+)/,
2719
2719
  MacOS: /Mac OS X ([\d._]+)/,
2720
+ webOS: /Web0S/,
2720
2721
  Linux: /Linux(?: ([\d.]+))?/,
2721
2722
  iOS: /CPU(?: iPhone)? OS (\d+([._]\d+)*)/,
2722
2723
  Android: /Android (\d+([._]\d+)*)/,
2724
+ Tizen: /Tizen ([\d.]+)/,
2723
2725
  };
2724
2726
  var devices = {
2725
2727
  Mobile: /Mobile|Android|iPhone|iPod|BlackBerry|IEMobile|Windows Phone|webOS|Opera Mini/,
2726
2728
  Tablet: /Tablet|iPad/,
2729
+ 'Smart-TV': /SMART-TV|SmartTV/,
2727
2730
  };
2728
2731
  var browser = 'Unknown';
2729
2732
  var browserVersion = 'Unknown';
@@ -2731,12 +2734,12 @@ function parseUserAgent(userAgent) {
2731
2734
  var osVersion = 'Unknown';
2732
2735
  var device = 'Desktop';
2733
2736
  try {
2734
- for (var _f = __values$1(Object.entries(browsers)), _g = _f.next(); !_g.done; _g = _f.next()) {
2735
- var _h = __read$1(_g.value, 2), name_1 = _h[0], regex = _h[1];
2737
+ for (var _g = __values$1(Object.entries(browsers)), _h = _g.next(); !_h.done; _h = _g.next()) {
2738
+ var _j = __read$1(_h.value, 2), name_1 = _j[0], regex = _j[1];
2736
2739
  var match = userAgent.match(regex);
2737
2740
  if (match) {
2738
2741
  browser = name_1;
2739
- browserVersion = match[1] || 'Unknown';
2742
+ browserVersion = ((_d = match.slice(1)) === null || _d === void 0 ? void 0 : _d.find(function (v) { return !!v; })) || 'Unknown';
2740
2743
  break;
2741
2744
  }
2742
2745
  }
@@ -2744,17 +2747,17 @@ function parseUserAgent(userAgent) {
2744
2747
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
2745
2748
  finally {
2746
2749
  try {
2747
- if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
2750
+ if (_h && !_h.done && (_a = _g.return)) _a.call(_g);
2748
2751
  }
2749
2752
  finally { if (e_1) throw e_1.error; }
2750
2753
  }
2751
2754
  try {
2752
- for (var _j = __values$1(Object.entries(operatingSystems)), _k = _j.next(); !_k.done; _k = _j.next()) {
2753
- var _l = __read$1(_k.value, 2), name_2 = _l[0], regex = _l[1];
2755
+ for (var _k = __values$1(Object.entries(operatingSystems)), _l = _k.next(); !_l.done; _l = _k.next()) {
2756
+ var _m = __read$1(_l.value, 2), name_2 = _m[0], regex = _m[1];
2754
2757
  var match = userAgent.match(regex);
2755
2758
  if (match) {
2756
2759
  os = name_2;
2757
- osVersion = ((_e = (_d = match[1]) === null || _d === void 0 ? void 0 : _d.split('_')) === null || _e === void 0 ? void 0 : _e.join('.')) || 'Unknown';
2760
+ osVersion = ((_f = (_e = match[1]) === null || _e === void 0 ? void 0 : _e.split('_')) === null || _f === void 0 ? void 0 : _f.join('.')) || 'Unknown';
2758
2761
  break;
2759
2762
  }
2760
2763
  }
@@ -2762,13 +2765,13 @@ function parseUserAgent(userAgent) {
2762
2765
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
2763
2766
  finally {
2764
2767
  try {
2765
- if (_k && !_k.done && (_b = _j.return)) _b.call(_j);
2768
+ if (_l && !_l.done && (_b = _k.return)) _b.call(_k);
2766
2769
  }
2767
2770
  finally { if (e_2) throw e_2.error; }
2768
2771
  }
2769
2772
  try {
2770
- for (var _m = __values$1(Object.entries(devices)), _o = _m.next(); !_o.done; _o = _m.next()) {
2771
- var _p = __read$1(_o.value, 2), name_3 = _p[0], regex = _p[1];
2773
+ for (var _o = __values$1(Object.entries(devices)), _p = _o.next(); !_p.done; _p = _o.next()) {
2774
+ var _q = __read$1(_p.value, 2), name_3 = _q[0], regex = _q[1];
2772
2775
  var match = userAgent.match(regex);
2773
2776
  if (match) {
2774
2777
  device = name_3;
@@ -2779,7 +2782,7 @@ function parseUserAgent(userAgent) {
2779
2782
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
2780
2783
  finally {
2781
2784
  try {
2782
- if (_o && !_o.done && (_c = _m.return)) _c.call(_m);
2785
+ if (_p && !_p.done && (_c = _o.return)) _c.call(_o);
2783
2786
  }
2784
2787
  finally { if (e_3) throw e_3.error; }
2785
2788
  }
@@ -4143,7 +4146,7 @@ function resolveUrlBlueprinters(urlBlueprinters) {
4143
4146
  return resolvedUrlBlueprinters;
4144
4147
  }
4145
4148
 
4146
- var SDK_VERSION = '2.4.1';
4149
+ var SDK_VERSION = '2.5.0';
4147
4150
 
4148
4151
  function shouldDropEvent(cxRumEvent, options) {
4149
4152
  if (isDocumentErrorWithoutMessage(cxRumEvent)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coralogix/browser",
3
- "version": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "description": "Official Coralogix SDK for browsers",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Coralogix",
package/src/types.d.ts CHANGED
@@ -440,8 +440,8 @@ export declare enum OtelNetworkAttrs {
440
440
  RESPONSE_CONTENT_LENGTH = "http.response_content_length"
441
441
  }
442
442
  export type Browser = 'Chrome' | 'Edge' | 'Firefox' | 'Safari' | 'Opera' | 'IE' | 'Unknown';
443
- export type OS = 'Windows' | 'MacOS' | 'Linux' | 'iOS' | 'Android' | 'Unknown';
444
- export type Device = 'Mobile' | 'Tablet' | 'Desktop' | 'Unknown';
443
+ export type OS = 'Windows' | 'MacOS' | 'Linux' | 'iOS' | 'Android' | 'Tizen' | 'webOS' | 'Unknown';
444
+ export type Device = 'Mobile' | 'Tablet' | 'Desktop' | 'Smart-TV' | 'Unknown';
445
445
  export type EventName = keyof HTMLElementEventMap;
446
446
  export interface PatternReplacement {
447
447
  pattern: RegExp;
package/src/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "2.4.1";
1
+ export declare const SDK_VERSION = "2.5.0";