userlens-analytics-sdk 0.1.8 → 0.1.9

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.
@@ -669,7 +669,16 @@ class EventCollector {
669
669
  )
670
670
  return;
671
671
 
672
- const referrer = new URL(document.referrer || "");
672
+ let referrer = "";
673
+ try {
674
+ if (document.referrer && /^https?:\/\//.test(document.referrer)) {
675
+ referrer =
676
+ new URL(document.referrer).origin +
677
+ new URL(document.referrer).pathname;
678
+ }
679
+ } catch (e) {
680
+ referrer = "";
681
+ }
673
682
 
674
683
  // Convert query params to object
675
684
  const queryParams = Object.fromEntries(url.searchParams.entries());
@@ -677,7 +686,7 @@ class EventCollector {
677
686
  const pageview = {
678
687
  event: url?.origin + url?.pathname || "pageview",
679
688
  properties: {
680
- referrer: referrer.origin + referrer.pathname,
689
+ referrer,
681
690
  query: queryParams,
682
691
  },
683
692
  };
@@ -688,7 +697,7 @@ class EventCollector {
688
697
  JSON.stringify(this.events)
689
698
  );
690
699
  } catch (err) {
691
- console.error("Userlens EventCollector error: ", err);
700
+ console.warn("Userlens EventCollector error: tracking page view failed");
692
701
  }
693
702
  }
694
703
 
@@ -665,7 +665,16 @@ class EventCollector {
665
665
  )
666
666
  return;
667
667
 
668
- const referrer = new URL(document.referrer || "");
668
+ let referrer = "";
669
+ try {
670
+ if (document.referrer && /^https?:\/\//.test(document.referrer)) {
671
+ referrer =
672
+ new URL(document.referrer).origin +
673
+ new URL(document.referrer).pathname;
674
+ }
675
+ } catch (e) {
676
+ referrer = "";
677
+ }
669
678
 
670
679
  // Convert query params to object
671
680
  const queryParams = Object.fromEntries(url.searchParams.entries());
@@ -673,7 +682,7 @@ class EventCollector {
673
682
  const pageview = {
674
683
  event: url?.origin + url?.pathname || "pageview",
675
684
  properties: {
676
- referrer: referrer.origin + referrer.pathname,
685
+ referrer,
677
686
  query: queryParams,
678
687
  },
679
688
  };
@@ -684,7 +693,7 @@ class EventCollector {
684
693
  JSON.stringify(this.events)
685
694
  );
686
695
  } catch (err) {
687
- console.error("Userlens EventCollector error: ", err);
696
+ console.warn("Userlens EventCollector error: tracking page view failed");
688
697
  }
689
698
  }
690
699
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "userlens-analytics-sdk",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "main": "dist/userlens.cjs.js",
5
5
  "module": "dist/userlens.esm.js",
6
6
  "scripts": {
@@ -52,7 +52,16 @@ export default class EventCollector {
52
52
  )
53
53
  return;
54
54
 
55
- const referrer = new URL(document.referrer || "");
55
+ let referrer = "";
56
+ try {
57
+ if (document.referrer && /^https?:\/\//.test(document.referrer)) {
58
+ referrer =
59
+ new URL(document.referrer).origin +
60
+ new URL(document.referrer).pathname;
61
+ }
62
+ } catch (e) {
63
+ referrer = "";
64
+ }
56
65
 
57
66
  // Convert query params to object
58
67
  const queryParams = Object.fromEntries(url.searchParams.entries());
@@ -60,7 +69,7 @@ export default class EventCollector {
60
69
  const pageview = {
61
70
  event: url?.origin + url?.pathname || "pageview",
62
71
  properties: {
63
- referrer: referrer.origin + referrer.pathname,
72
+ referrer,
64
73
  query: queryParams,
65
74
  },
66
75
  };
@@ -71,7 +80,7 @@ export default class EventCollector {
71
80
  JSON.stringify(this.events)
72
81
  );
73
82
  } catch (err) {
74
- console.error("Userlens EventCollector error: ", err);
83
+ console.warn("Userlens EventCollector error: tracking page view failed");
75
84
  }
76
85
  }
77
86