@elliemae/pui-logrocket 1.2.3-beta.1 → 1.2.3
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/build/docs/404.html +2 -2
- package/build/docs/api/functions/buildLogRocketQueryParams/index.html +2 -2
- package/build/docs/api/functions/hasUserConsentedToSessionRecording/index.html +2 -2
- package/build/docs/api/functions/initLogRocket/index.html +2 -2
- package/build/docs/api/index.html +2 -2
- package/build/docs/api/type-aliases/LROptions/index.html +2 -2
- package/build/docs/assets/js/04ee7372.91effd96.js +1 -0
- package/build/docs/assets/js/{e376fc56.e8d801d6.js → e376fc56.609d201b.js} +1 -1
- package/build/docs/assets/js/main.7d3be447.js +2 -0
- package/build/docs/assets/js/{runtime~main.2c9f76e8.js → runtime~main.5e481bc4.js} +1 -1
- package/build/docs/compliance/index.html +2 -2
- package/build/docs/index.html +2 -2
- package/build/docs/usage-guide/index.html +26 -5
- package/dist/cjs/logrocket.js +43 -16
- package/dist/esm/logrocket.js +42 -16
- package/dist/public/index.html +1 -1
- package/dist/public/js/emuiLogrocket.32efbf89608d7f1ff787.js +45 -0
- package/dist/public/js/emuiLogrocket.32efbf89608d7f1ff787.js.br +0 -0
- package/dist/public/js/emuiLogrocket.32efbf89608d7f1ff787.js.gz +0 -0
- package/dist/public/js/emuiLogrocket.32efbf89608d7f1ff787.js.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/umd/index.js +16 -16
- package/dist/umd/index.js.br +0 -0
- package/dist/umd/index.js.gz +0 -0
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
- package/build/docs/assets/js/04ee7372.7628802a.js +0 -1
- package/build/docs/assets/js/main.7d1e671a.js +0 -2
- package/dist/public/js/emuiLogrocket.e8b7c0d946880c4dfd80.js +0 -45
- package/dist/public/js/emuiLogrocket.e8b7c0d946880c4dfd80.js.br +0 -0
- package/dist/public/js/emuiLogrocket.e8b7c0d946880c4dfd80.js.gz +0 -0
- package/dist/public/js/emuiLogrocket.e8b7c0d946880c4dfd80.js.map +0 -1
- /package/build/docs/assets/js/{main.7d1e671a.js.LICENSE.txt → main.7d3be447.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e,a,r,t,o,c={},f={};function n(e){var a=f[e];if(void 0!==a)return a.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return c[e].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=c,n.c=f,e=[],n.O=(a,r,t,o)=>{if(!r){var c=1/0;for(i=0;i<e.length;i++){for(var[r,t,o]=e[i],f=!0,d=0;d<r.length;d++)(!1&o||c>=o)&&Object.keys(n.O).every(e=>n.O[e](r[d]))?r.splice(d--,1):(f=!1,o<c&&(c=o));if(f){e.splice(i--,1);var b=t();void 0!==b&&(a=b)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[r,t,o]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a:a}),a},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var o=Object.create(null);n.r(o);var c={};a=a||[null,r({}),r([]),r(r)];for(var f=2&t&&e;("object"==typeof f||"function"==typeof f)&&!~a.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach(a=>c[a]=()=>e[a]);return c.default=()=>e,n.d(o,c),o},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((a,r)=>(n.f[r](e,a),a),[])),n.u=e=>"assets/js/"+({295:"51c4ceb1",594:"5e8c322a",2076:"common",3361:"c377a04b",3480:"e376fc56",4319:"211c08f1",4804:"7fcbe1af",5742:"aba21aa0",5754:"acaa8c75",5760:"552a934f",5908:"04ee7372",7098:"a7bd4aaa",8401:"17896441",9048:"a94703ab",9647:"5e95c892"}[e]||e)+"."+{200:"0310889b",295:"6fc4ec7b",483:"18c7d7f8",594:"503d46ea",638:"a021b03c",654:"0e97a121",764:"32783b8e",967:"d428fcf6",1138:"aa8c4e98",1370:"c8be4ee0",2076:"6c804366",2180:"31d6ce39",2327:"251d6533",2706:"74774645",3308:"78e397d4",3361:"2361a76f",3480:"
|
|
1
|
+
(()=>{"use strict";var e,a,r,t,o,c={},f={};function n(e){var a=f[e];if(void 0!==a)return a.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return c[e].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=c,n.c=f,e=[],n.O=(a,r,t,o)=>{if(!r){var c=1/0;for(i=0;i<e.length;i++){for(var[r,t,o]=e[i],f=!0,d=0;d<r.length;d++)(!1&o||c>=o)&&Object.keys(n.O).every(e=>n.O[e](r[d]))?r.splice(d--,1):(f=!1,o<c&&(c=o));if(f){e.splice(i--,1);var b=t();void 0!==b&&(a=b)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[r,t,o]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a:a}),a},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var o=Object.create(null);n.r(o);var c={};a=a||[null,r({}),r([]),r(r)];for(var f=2&t&&e;("object"==typeof f||"function"==typeof f)&&!~a.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach(a=>c[a]=()=>e[a]);return c.default=()=>e,n.d(o,c),o},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((a,r)=>(n.f[r](e,a),a),[])),n.u=e=>"assets/js/"+({295:"51c4ceb1",594:"5e8c322a",2076:"common",3361:"c377a04b",3480:"e376fc56",4319:"211c08f1",4804:"7fcbe1af",5742:"aba21aa0",5754:"acaa8c75",5760:"552a934f",5908:"04ee7372",7098:"a7bd4aaa",8401:"17896441",9048:"a94703ab",9647:"5e95c892"}[e]||e)+"."+{200:"0310889b",295:"6fc4ec7b",483:"18c7d7f8",594:"503d46ea",638:"a021b03c",654:"0e97a121",764:"32783b8e",967:"d428fcf6",1138:"aa8c4e98",1370:"c8be4ee0",2076:"6c804366",2180:"31d6ce39",2327:"251d6533",2706:"74774645",3308:"78e397d4",3361:"2361a76f",3480:"609d201b",3725:"36fa16ca",3767:"2998632d",3899:"94243d47",4167:"eb3f034b",4319:"f5d0523b",4359:"6536c7a0",4390:"744aab40",4413:"e614d609",4453:"ef8b090c",4632:"aa312ff7",4804:"5999b9e8",4860:"cfa79720",5168:"97fb36dd",5179:"ccfc9ebc",5182:"30f41439",5275:"4ed9ae52",5742:"a5d4e000",5754:"70525e75",5760:"b125f196",5820:"2cd5bf53",5908:"91effd96",6143:"8bf840e9",6340:"eaf6d37a",6376:"13262bdb",6603:"cbc20a0f",6761:"0b26728e",6873:"83ee6c7c",7039:"3ca79f91",7098:"ad524078",7204:"1ce9a9b1",7616:"6501b368",7666:"99e92eb2",7876:"3ac89535",8071:"6922ccd8",8401:"dfa22f5b",8907:"4424af8f",9048:"5c63b074",9647:"2d99be36",9748:"cc3f89d3",9845:"d704e0f2"}[e]+".js",n.miniCssF=e=>{},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t={},o="@elliemae/pui-logrocket:",n.l=(e,a,r,c)=>{if(t[e])t[e].push(a);else{var f,d;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i<b.length;i++){var l=b[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+r){f=l;break}}f||(d=!0,(f=document.createElement("script")).charset="utf-8",n.nc&&f.setAttribute("nonce",n.nc),f.setAttribute("data-webpack",o+r),f.src=e),t[e]=[a];var u=(a,r)=>{f.onerror=f.onload=null,clearTimeout(s);var o=t[e];if(delete t[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach(e=>e(r)),a)return a(r)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=u.bind(null,f.onerror),f.onload=u.bind(null,f.onload),d&&document.head.appendChild(f)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/logrocket/",n.gca=function(e){return e={17896441:"8401","51c4ceb1":"295","5e8c322a":"594",common:"2076",c377a04b:"3361",e376fc56:"3480","211c08f1":"4319","7fcbe1af":"4804",aba21aa0:"5742",acaa8c75:"5754","552a934f":"5760","04ee7372":"5908",a7bd4aaa:"7098",a94703ab:"9048","5e95c892":"9647"}[e]||e,n.p+n.u(e)},(()=>{var e={5354:0,1869:0};n.f.j=(a,r)=>{var t=n.o(e,a)?e[a]:void 0;if(0!==t)if(t)r.push(t[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var o=new Promise((r,o)=>t=e[a]=[r,o]);r.push(t[2]=o);var c=n.p+n.u(a),f=new Error;n.l(c,r=>{if(n.o(e,a)&&(0!==(t=e[a])&&(e[a]=void 0),t)){var o=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;f.message="Loading chunk "+a+" failed.\n("+o+": "+c+")",f.name="ChunkLoadError",f.type=o,f.request=c,t[1](f)}},"chunk-"+a,a)}},n.O.j=a=>0===e[a];var a=(a,r)=>{var t,o,[c,f,d]=r,b=0;if(c.some(a=>0!==e[a])){for(t in f)n.o(f,t)&&(n.m[t]=f[t]);if(d)var i=d(n)}for(a&&a(r);b<c.length;b++)o=c[b],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return n.O(i)},r=globalThis.webpackChunk_elliemae_pui_logrocket=globalThis.webpackChunk_elliemae_pui_logrocket||[];r.forEach(a.bind(null,0)),r.push=a.bind(null,r.push.bind(r))})()})();
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Compliance Requirements | LogRocket</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/logrocket/compliance"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Compliance Requirements | LogRocket"><meta data-rh="true" name="description" content="Due to wiretapping & privacy laws in certain jurisdictions, it is essential to ensure that our session recording practices comply with local regulations. Below are the key compliance requirements we need to adhere to when using LogRocket for recording user sessions and activities,"><meta data-rh="true" property="og:description" content="Due to wiretapping & privacy laws in certain jurisdictions, it is essential to ensure that our session recording practices comply with local regulations. Below are the key compliance requirements we need to adhere to when using LogRocket for recording user sessions and activities,"><link data-rh="true" rel="icon" href="/logrocket/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/logrocket/compliance"><link data-rh="true" rel="alternate" href="https://pui.ice.com/logrocket/compliance" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/logrocket/compliance" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Compliance Requirements","item":"https://pui.ice.com/logrocket/compliance"}]}</script><link rel="stylesheet" href="/logrocket/assets/css/styles.48d5ef50.css">
|
|
7
|
-
<script src="/logrocket/assets/js/runtime~main.
|
|
8
|
-
<script src="/logrocket/assets/js/main.
|
|
7
|
+
<script src="/logrocket/assets/js/runtime~main.5e481bc4.js" defer="defer"></script>
|
|
8
|
+
<script src="/logrocket/assets/js/main.7d3be447.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
package/build/docs/index.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Getting Started | LogRocket</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/logrocket/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Getting Started | LogRocket"><meta data-rh="true" name="description" content="UI Platform LogRocket library standardizes the way we integrate LogRocket into our applications."><meta data-rh="true" property="og:description" content="UI Platform LogRocket library standardizes the way we integrate LogRocket into our applications."><link data-rh="true" rel="icon" href="/logrocket/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/logrocket/"><link data-rh="true" rel="alternate" href="https://pui.ice.com/logrocket/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/logrocket/" hreflang="x-default"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/logrocket/</span> </p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),o=window.location.pathname,s="/"===o.substr(-1)?o:o+"/";e.innerHTML=s}document.addEventListener("DOMContentLoaded",function(){void 0===window.docusaurus&&insertBanner()})</script><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Getting Started","item":"https://pui.ice.com/logrocket/"}]}</script><link rel="stylesheet" href="/logrocket/assets/css/styles.48d5ef50.css">
|
|
7
|
-
<script src="/logrocket/assets/js/runtime~main.
|
|
8
|
-
<script src="/logrocket/assets/js/main.
|
|
7
|
+
<script src="/logrocket/assets/js/runtime~main.5e481bc4.js" defer="defer"></script>
|
|
8
|
+
<script src="/logrocket/assets/js/main.7d3be447.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Usage Guide | LogRocket</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/logrocket/usage-guide"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Usage Guide | LogRocket"><meta data-rh="true" name="description" content="UI Platform LogRocket library standardizes the way we integrate LogRocket into our applications."><meta data-rh="true" property="og:description" content="UI Platform LogRocket library standardizes the way we integrate LogRocket into our applications."><link data-rh="true" rel="icon" href="/logrocket/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/logrocket/usage-guide"><link data-rh="true" rel="alternate" href="https://pui.ice.com/logrocket/usage-guide" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/logrocket/usage-guide" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Usage Guide","item":"https://pui.ice.com/logrocket/usage-guide"}]}</script><link rel="stylesheet" href="/logrocket/assets/css/styles.48d5ef50.css">
|
|
7
|
-
<script src="/logrocket/assets/js/runtime~main.
|
|
8
|
-
<script src="/logrocket/assets/js/main.
|
|
7
|
+
<script src="/logrocket/assets/js/runtime~main.5e481bc4.js" defer="defer"></script>
|
|
8
|
+
<script src="/logrocket/assets/js/main.7d3be447.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -32,9 +32,30 @@
|
|
|
32
32
|
<li class=""><code>appId</code> (string): LogRocket application ID allocated to the product.</li>
|
|
33
33
|
<li class=""><code>enable</code> (boolean): Flag to enable or disable LogRocket in the microapp. Defaults to <code>true</code>. If set to <code>false</code>, LogRocket will not be initialized even if <code>initLogRocket</code> is called. This can be useful for disabling LogRocket in certain environments (e.g., development or staging).</li>
|
|
34
34
|
<li class=""><code>localhostEnable</code> (boolean): Flag to enable LogRocket when running on localhost. Defaults to <code>false</code>. When set to <code>true</code>, LogRocket will be enabled on localhost even if the <code>LOGROCKET_ENABLE_ON_LOCALHOST</code> environment variable is not set. This is useful for local development and testing.</li>
|
|
35
|
-
<li class=""><code>childDomains</code> (array of strings, optional):
|
|
36
|
-
<
|
|
37
|
-
<li class=""><
|
|
35
|
+
<li class=""><code>childDomains</code> (array of strings, optional): Cross-origin child app origins to link sessions with when the page embeds them as iframes.<!-- -->
|
|
36
|
+
<ul>
|
|
37
|
+
<li class=""><strong>Default:</strong> the library always includes the current origin, so same-origin children stitch automatically with no configuration.</li>
|
|
38
|
+
<li class=""><strong>Set this when:</strong> the page is a parent that embeds <strong>cross-origin</strong> guest microapps (e.g. <code>https://app.ice.com</code> embedding <code>https://guest.example.com</code>). List each cross-origin child origin.</li>
|
|
39
|
+
<li class=""><strong>Format:</strong> array of full origins including protocol (e.g. <code>['https://guest.example.com']</code>). Bare hostnames, URLs with paths, and non-array values are dropped with a warning.</li>
|
|
40
|
+
<li class=""><strong>Note:</strong> the caller's array is merged with the current origin (it cannot be removed). Children themselves don't set this option — they need <code>parentDomain</code> (normally auto-detected). Both sides must be configured for cross-origin linking to work.</li>
|
|
41
|
+
</ul>
|
|
42
|
+
</li>
|
|
43
|
+
<li class=""><code>parentDomain</code> (string, optional): Origin of the page that embeds this one. Used by LogRocket for <code>postMessage</code>-based session linking between cross-origin frames.<!-- -->
|
|
44
|
+
<ul>
|
|
45
|
+
<li class=""><strong>Default:</strong> auto-detected from (1) the <code>lrParentOrigin</code> query parameter set by the parent via <code>buildLogRocketQueryParams</code>, (2) <code>window.parent.location.origin</code> for same-origin parents, or (3) <code>document.referrer</code>. This covers most embed scenarios when the parent uses <code>buildLogRocketQueryParams</code>.</li>
|
|
46
|
+
<li class=""><strong>Set this when:</strong> the parent is cross-origin, does <strong>not</strong> call <code>buildLogRocketQueryParams</code>, and your <code>Referrer-Policy</code> strips <code>document.referrer</code>. In that case auto-detection returns <code>null</code> and you must supply the parent origin yourself.</li>
|
|
47
|
+
<li class=""><strong>Format:</strong> a full origin (e.g. <code>https://parent.example.com</code>). Bare hostnames or URLs with paths are dropped with a warning.</li>
|
|
48
|
+
<li class=""><strong>Note:</strong> do not set this on a top-level page (no real parent). The validator only checks origin shape; on a top-level page a valid override tells LogRocket to wait on a parent that doesn't exist and stalls session start.</li>
|
|
49
|
+
</ul>
|
|
50
|
+
</li>
|
|
51
|
+
<li class=""><code>rootHostname</code> (string, optional): Cookie scope for stitching sessions across subdomains of the <strong>same site</strong> (see <a href="https://docs.logrocket.com/reference/roothostname" target="_blank" rel="noopener noreferrer" class="">LogRocket docs</a>).<!-- -->
|
|
52
|
+
<ul>
|
|
53
|
+
<li class=""><strong>Default:</strong> auto-detected as <code>.<last two hostname segments></code> (e.g. <code>beta.encompass.ice.com</code> → <code>.ice.com</code>). Same-site iframes converge on the same value automatically.</li>
|
|
54
|
+
<li class=""><strong>Set this when:</strong> you want to <strong>narrow</strong> the cookie scope to a deeper subtree so sessions in that subtree don't merge with the rest of the site (e.g. set <code>.beta.ice.com</code> on <code>app.beta.ice.com</code> to keep beta sessions isolated from prod).</li>
|
|
55
|
+
<li class=""><strong>Format:</strong> must start with <code>.</code> and end with the auto-detected value. A different site, a shallower scope, or a missing leading dot is rejected with a warning.</li>
|
|
56
|
+
<li class=""><strong>Note:</strong> cross-<strong>site</strong> frame linking is handled by <code>parentDomain</code>/<code>childDomains</code>, not this option.</li>
|
|
57
|
+
</ul>
|
|
58
|
+
</li>
|
|
38
59
|
</ul>
|
|
39
60
|
<h2 class="anchor anchorTargetStickyNavbar_UXZL" id="proxying-logrocket-calls-through-cdn-domain">Proxying LogRocket Calls Through CDN Domain<a href="#proxying-logrocket-calls-through-cdn-domain" class="hash-link" aria-label="Direct link to Proxying LogRocket Calls Through CDN Domain" title="Direct link to Proxying LogRocket Calls Through CDN Domain" translate="no"></a></h2>
|
|
40
61
|
<p>By default, all LogRocket network traffic (script loading and data ingestion) is proxied through the UI Platform CDN domain (<code>cdn.mortgagetech.*.ice.com</code>) instead of LogRocket's own servers. This improves ad-blocker resilience since requests to first-party domains are less likely to be blocked, and ensures compliance with network policies in environments that restrict traffic to known internal domains.</p>
|
package/dist/cjs/logrocket.js
CHANGED
|
@@ -36,6 +36,7 @@ module.exports = __toCommonJS(logrocket_exports);
|
|
|
36
36
|
var import_setup = __toESM(require("logrocket/setup"));
|
|
37
37
|
var import_logrocket_react = __toESM(require("logrocket-react"));
|
|
38
38
|
var import_utils = require("./utils.js");
|
|
39
|
+
const import_meta = {};
|
|
39
40
|
const setupLogRocketReact = import_logrocket_react.default.default || import_logrocket_react.default;
|
|
40
41
|
const setup = import_setup.default.default || import_setup.default;
|
|
41
42
|
window.emui = window.emui || {};
|
|
@@ -49,6 +50,12 @@ let scriptSrc = null;
|
|
|
49
50
|
if (typeof document !== "undefined" && document.currentScript) {
|
|
50
51
|
scriptSrc = document.currentScript.src;
|
|
51
52
|
}
|
|
53
|
+
if (!scriptSrc) {
|
|
54
|
+
try {
|
|
55
|
+
scriptSrc = typeof import_meta !== "undefined" ? import_meta.url : null;
|
|
56
|
+
} catch {
|
|
57
|
+
}
|
|
58
|
+
}
|
|
52
59
|
if (scriptSrc && /(cdn\.mortgagetech\.(.*\.)?ice\.com|\/\/localhost[\d:/])/.test(scriptSrc)) {
|
|
53
60
|
try {
|
|
54
61
|
const url = new URL(scriptSrc);
|
|
@@ -107,9 +114,8 @@ const getParentDomain = () => {
|
|
|
107
114
|
}
|
|
108
115
|
return parentDomain;
|
|
109
116
|
};
|
|
110
|
-
const buildChildDomains = () => {
|
|
117
|
+
const buildChildDomains = (override) => {
|
|
111
118
|
const currentOrigin = window.location.origin;
|
|
112
|
-
const override = window.emui?.logRocketConfig?.childDomains;
|
|
113
119
|
if (override === void 0 || override === null) {
|
|
114
120
|
return [currentOrigin];
|
|
115
121
|
}
|
|
@@ -121,7 +127,11 @@ const buildChildDomains = () => {
|
|
|
121
127
|
}
|
|
122
128
|
const { valid, invalid } = override.reduce(
|
|
123
129
|
(acc, entry) => {
|
|
124
|
-
(
|
|
130
|
+
if (typeof entry === "string" && isValidOrigin(entry)) {
|
|
131
|
+
acc.valid.push(entry);
|
|
132
|
+
} else {
|
|
133
|
+
acc.invalid.push(String(entry));
|
|
134
|
+
}
|
|
125
135
|
return acc;
|
|
126
136
|
},
|
|
127
137
|
{ valid: [], invalid: [] }
|
|
@@ -135,8 +145,7 @@ const buildChildDomains = () => {
|
|
|
135
145
|
if (valid.includes(currentOrigin)) return valid;
|
|
136
146
|
return [...valid, currentOrigin];
|
|
137
147
|
};
|
|
138
|
-
const buildParentDomain = () => {
|
|
139
|
-
const override = window.emui?.logRocketConfig?.parentDomain;
|
|
148
|
+
const buildParentDomain = (override) => {
|
|
140
149
|
if (override !== void 0 && override !== null) {
|
|
141
150
|
if (typeof override === "string" && isValidOrigin(override)) {
|
|
142
151
|
return override;
|
|
@@ -149,24 +158,25 @@ const buildParentDomain = () => {
|
|
|
149
158
|
return getParentDomain();
|
|
150
159
|
};
|
|
151
160
|
const ROOT_HOSTNAME_RE = /[^.]+\.[^.]+$/;
|
|
152
|
-
const getRootHostname = () => {
|
|
161
|
+
const getRootHostname = (override) => {
|
|
153
162
|
const match = ROOT_HOSTNAME_RE.exec(window.location.hostname);
|
|
154
163
|
const auto = match ? `.${match[0]}` : void 0;
|
|
155
|
-
|
|
156
|
-
if (override && auto && override.startsWith(".") && override.endsWith(auto)) {
|
|
164
|
+
if (typeof override === "string" && auto && override.startsWith(".") && override.endsWith(auto)) {
|
|
157
165
|
return override;
|
|
158
166
|
}
|
|
159
|
-
if (override) {
|
|
167
|
+
if (override !== void 0 && override !== null) {
|
|
160
168
|
const autoLabel = auto ?? "(none)";
|
|
161
169
|
getLogger().warn(
|
|
162
|
-
`LogRocket rootHostname override "${
|
|
170
|
+
`LogRocket rootHostname override "${String(
|
|
171
|
+
override
|
|
172
|
+
)}" ignored: must start with "." and end with the auto-detected "${autoLabel}". Using auto-detected value.`
|
|
163
173
|
);
|
|
164
174
|
}
|
|
165
175
|
return auto;
|
|
166
176
|
};
|
|
167
|
-
const getDefaultOptions = () => {
|
|
168
|
-
const childDomains = buildChildDomains();
|
|
169
|
-
const parentDomain = buildParentDomain();
|
|
177
|
+
const getDefaultOptions = (overrides) => {
|
|
178
|
+
const childDomains = buildChildDomains(overrides.childDomains);
|
|
179
|
+
const parentDomain = buildParentDomain(overrides.parentDomain);
|
|
170
180
|
return {
|
|
171
181
|
browser: {
|
|
172
182
|
urlSanitizer: (url) => {
|
|
@@ -217,7 +227,7 @@ const getDefaultOptions = () => {
|
|
|
217
227
|
},
|
|
218
228
|
release: process?.env?.APP_VERSION,
|
|
219
229
|
// app sdk based applications use this env variable to specify the app code version
|
|
220
|
-
rootHostname: getRootHostname(),
|
|
230
|
+
rootHostname: getRootHostname(overrides.rootHostname),
|
|
221
231
|
childDomains,
|
|
222
232
|
...parentDomain ? { parentDomain } : {}
|
|
223
233
|
};
|
|
@@ -291,8 +301,23 @@ const logInitOutcome = (sessionRecordingEnabled) => {
|
|
|
291
301
|
getLogger().info(`LogRocket session URL: ${sessionURL}`);
|
|
292
302
|
});
|
|
293
303
|
};
|
|
304
|
+
const resolveAutoDetectedOverrides = (fromOptions) => {
|
|
305
|
+
const windowConfig = window.emui?.logRocketConfig;
|
|
306
|
+
return {
|
|
307
|
+
rootHostname: fromOptions.rootHostname ?? windowConfig?.rootHostname,
|
|
308
|
+
childDomains: fromOptions.childDomains ?? windowConfig?.childDomains,
|
|
309
|
+
parentDomain: fromOptions.parentDomain ?? windowConfig?.parentDomain
|
|
310
|
+
};
|
|
311
|
+
};
|
|
294
312
|
const init = (options) => {
|
|
295
|
-
const {
|
|
313
|
+
const {
|
|
314
|
+
appId,
|
|
315
|
+
isReact = true,
|
|
316
|
+
rootHostname,
|
|
317
|
+
childDomains,
|
|
318
|
+
parentDomain,
|
|
319
|
+
...rest
|
|
320
|
+
} = options ?? {};
|
|
296
321
|
lrAppId = getLRAppId(appId);
|
|
297
322
|
if (!lrAppId) {
|
|
298
323
|
throw new Error(
|
|
@@ -306,7 +331,9 @@ const init = (options) => {
|
|
|
306
331
|
return;
|
|
307
332
|
}
|
|
308
333
|
window.emui.lrEnabled = true;
|
|
309
|
-
const defaultOptions = getDefaultOptions(
|
|
334
|
+
const defaultOptions = getDefaultOptions(
|
|
335
|
+
resolveAutoDetectedOverrides({ rootHostname, childDomains, parentDomain })
|
|
336
|
+
);
|
|
310
337
|
const consent = hasUserConsentedToSessionRecording();
|
|
311
338
|
window.emui.lrSessionRecordingConsent = consent;
|
|
312
339
|
if (defaultOptions.dom) {
|
package/dist/esm/logrocket.js
CHANGED
|
@@ -14,6 +14,12 @@ let scriptSrc = null;
|
|
|
14
14
|
if (typeof document !== "undefined" && document.currentScript) {
|
|
15
15
|
scriptSrc = document.currentScript.src;
|
|
16
16
|
}
|
|
17
|
+
if (!scriptSrc) {
|
|
18
|
+
try {
|
|
19
|
+
scriptSrc = typeof import.meta !== "undefined" ? import.meta.url : null;
|
|
20
|
+
} catch {
|
|
21
|
+
}
|
|
22
|
+
}
|
|
17
23
|
if (scriptSrc && /(cdn\.mortgagetech\.(.*\.)?ice\.com|\/\/localhost[\d:/])/.test(scriptSrc)) {
|
|
18
24
|
try {
|
|
19
25
|
const url = new URL(scriptSrc);
|
|
@@ -72,9 +78,8 @@ const getParentDomain = () => {
|
|
|
72
78
|
}
|
|
73
79
|
return parentDomain;
|
|
74
80
|
};
|
|
75
|
-
const buildChildDomains = () => {
|
|
81
|
+
const buildChildDomains = (override) => {
|
|
76
82
|
const currentOrigin = window.location.origin;
|
|
77
|
-
const override = window.emui?.logRocketConfig?.childDomains;
|
|
78
83
|
if (override === void 0 || override === null) {
|
|
79
84
|
return [currentOrigin];
|
|
80
85
|
}
|
|
@@ -86,7 +91,11 @@ const buildChildDomains = () => {
|
|
|
86
91
|
}
|
|
87
92
|
const { valid, invalid } = override.reduce(
|
|
88
93
|
(acc, entry) => {
|
|
89
|
-
(
|
|
94
|
+
if (typeof entry === "string" && isValidOrigin(entry)) {
|
|
95
|
+
acc.valid.push(entry);
|
|
96
|
+
} else {
|
|
97
|
+
acc.invalid.push(String(entry));
|
|
98
|
+
}
|
|
90
99
|
return acc;
|
|
91
100
|
},
|
|
92
101
|
{ valid: [], invalid: [] }
|
|
@@ -100,8 +109,7 @@ const buildChildDomains = () => {
|
|
|
100
109
|
if (valid.includes(currentOrigin)) return valid;
|
|
101
110
|
return [...valid, currentOrigin];
|
|
102
111
|
};
|
|
103
|
-
const buildParentDomain = () => {
|
|
104
|
-
const override = window.emui?.logRocketConfig?.parentDomain;
|
|
112
|
+
const buildParentDomain = (override) => {
|
|
105
113
|
if (override !== void 0 && override !== null) {
|
|
106
114
|
if (typeof override === "string" && isValidOrigin(override)) {
|
|
107
115
|
return override;
|
|
@@ -114,24 +122,25 @@ const buildParentDomain = () => {
|
|
|
114
122
|
return getParentDomain();
|
|
115
123
|
};
|
|
116
124
|
const ROOT_HOSTNAME_RE = /[^.]+\.[^.]+$/;
|
|
117
|
-
const getRootHostname = () => {
|
|
125
|
+
const getRootHostname = (override) => {
|
|
118
126
|
const match = ROOT_HOSTNAME_RE.exec(window.location.hostname);
|
|
119
127
|
const auto = match ? `.${match[0]}` : void 0;
|
|
120
|
-
|
|
121
|
-
if (override && auto && override.startsWith(".") && override.endsWith(auto)) {
|
|
128
|
+
if (typeof override === "string" && auto && override.startsWith(".") && override.endsWith(auto)) {
|
|
122
129
|
return override;
|
|
123
130
|
}
|
|
124
|
-
if (override) {
|
|
131
|
+
if (override !== void 0 && override !== null) {
|
|
125
132
|
const autoLabel = auto ?? "(none)";
|
|
126
133
|
getLogger().warn(
|
|
127
|
-
`LogRocket rootHostname override "${
|
|
134
|
+
`LogRocket rootHostname override "${String(
|
|
135
|
+
override
|
|
136
|
+
)}" ignored: must start with "." and end with the auto-detected "${autoLabel}". Using auto-detected value.`
|
|
128
137
|
);
|
|
129
138
|
}
|
|
130
139
|
return auto;
|
|
131
140
|
};
|
|
132
|
-
const getDefaultOptions = () => {
|
|
133
|
-
const childDomains = buildChildDomains();
|
|
134
|
-
const parentDomain = buildParentDomain();
|
|
141
|
+
const getDefaultOptions = (overrides) => {
|
|
142
|
+
const childDomains = buildChildDomains(overrides.childDomains);
|
|
143
|
+
const parentDomain = buildParentDomain(overrides.parentDomain);
|
|
135
144
|
return {
|
|
136
145
|
browser: {
|
|
137
146
|
urlSanitizer: (url) => {
|
|
@@ -182,7 +191,7 @@ const getDefaultOptions = () => {
|
|
|
182
191
|
},
|
|
183
192
|
release: process?.env?.APP_VERSION,
|
|
184
193
|
// app sdk based applications use this env variable to specify the app code version
|
|
185
|
-
rootHostname: getRootHostname(),
|
|
194
|
+
rootHostname: getRootHostname(overrides.rootHostname),
|
|
186
195
|
childDomains,
|
|
187
196
|
...parentDomain ? { parentDomain } : {}
|
|
188
197
|
};
|
|
@@ -256,8 +265,23 @@ const logInitOutcome = (sessionRecordingEnabled) => {
|
|
|
256
265
|
getLogger().info(`LogRocket session URL: ${sessionURL}`);
|
|
257
266
|
});
|
|
258
267
|
};
|
|
268
|
+
const resolveAutoDetectedOverrides = (fromOptions) => {
|
|
269
|
+
const windowConfig = window.emui?.logRocketConfig;
|
|
270
|
+
return {
|
|
271
|
+
rootHostname: fromOptions.rootHostname ?? windowConfig?.rootHostname,
|
|
272
|
+
childDomains: fromOptions.childDomains ?? windowConfig?.childDomains,
|
|
273
|
+
parentDomain: fromOptions.parentDomain ?? windowConfig?.parentDomain
|
|
274
|
+
};
|
|
275
|
+
};
|
|
259
276
|
const init = (options) => {
|
|
260
|
-
const {
|
|
277
|
+
const {
|
|
278
|
+
appId,
|
|
279
|
+
isReact = true,
|
|
280
|
+
rootHostname,
|
|
281
|
+
childDomains,
|
|
282
|
+
parentDomain,
|
|
283
|
+
...rest
|
|
284
|
+
} = options ?? {};
|
|
261
285
|
lrAppId = getLRAppId(appId);
|
|
262
286
|
if (!lrAppId) {
|
|
263
287
|
throw new Error(
|
|
@@ -271,7 +295,9 @@ const init = (options) => {
|
|
|
271
295
|
return;
|
|
272
296
|
}
|
|
273
297
|
window.emui.lrEnabled = true;
|
|
274
|
-
const defaultOptions = getDefaultOptions(
|
|
298
|
+
const defaultOptions = getDefaultOptions(
|
|
299
|
+
resolveAutoDetectedOverrides({ rootHostname, childDomains, parentDomain })
|
|
300
|
+
);
|
|
275
301
|
const consent = hasUserConsentedToSessionRecording();
|
|
276
302
|
window.emui.lrSessionRecordingConsent = consent;
|
|
277
303
|
if (defaultOptions.dom) {
|
package/dist/public/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>LogRocket Test</title><script defer="defer" src="js/emuiLogrocket.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>LogRocket Test</title><script defer="defer" src="js/emuiLogrocket.32efbf89608d7f1ff787.js"></script></head><body><h1>LogRocket Test</h1><button id="testButton">Click me</button></body></html>
|