posthog-js 1.16.4 → 1.16.8
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 +16 -0
- package/dist/array.js +7 -7
- package/dist/es.js +125 -30
- package/dist/module.d.ts +21 -0
- package/dist/module.js +125 -30
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## 1.16.8 - 2021-12-21
|
|
2
|
+
|
|
3
|
+
- add resetSessionId function (#345)
|
|
4
|
+
|
|
5
|
+
## 1.16.7 - 2021-11-25
|
|
6
|
+
|
|
7
|
+
- Feature flags groups support & /decide refactor (#341)
|
|
8
|
+
|
|
9
|
+
## 1.16.6 - 2021-11-18
|
|
10
|
+
|
|
11
|
+
- Avoid needless double /decide calls (#340)
|
|
12
|
+
|
|
13
|
+
## 1.16.5 - 2021-11-18
|
|
14
|
+
|
|
15
|
+
- try sendbeacon (#337)
|
|
16
|
+
|
|
1
17
|
## 1.16.4 - 2021-11-16
|
|
2
18
|
|
|
3
19
|
- allow disabling toolbar tracking for self-hosted users (#335)
|
package/dist/array.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"zdbk":[function(require,module,exports) {
|
|
2
2
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LZString=void 0;var o=String.fromCharCode,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function t(o,r){if(!n[o]){n[o]={};for(var e=0;e<o.length;e++)n[o][o.charAt(e)]=e}return n[o][r]}var s={compressToBase64:function(o){if(null==o)return"";var e=s._compress(o,6,function(o){return r.charAt(o)});switch(e.length%4){default:case 0:return e;case 1:return e+"===";case 2:return e+"==";case 3:return e+"="}},decompressFromBase64:function(o){return null==o?"":""==o?null:s._decompress(o.length,32,function(e){return t(r,o.charAt(e))})},compressToUTF16:function(r){return null==r?"":s._compress(r,15,function(r){return o(r+32)})+" "},decompressFromUTF16:function(o){return null==o?"":""==o?null:s._decompress(o.length,16384,function(r){return o.charCodeAt(r)-32})},compressToUint8Array:function(o){for(var r=s.compress(o),e=new Uint8Array(2*r.length),n=0,t=r.length;n<t;n++){var i=r.charCodeAt(n);e[2*n]=i>>>8,e[2*n+1]=i%256}return e},decompressFromUint8Array:function(r){if(null==r)return s.decompress(r);for(var e=new Array(r.length/2),n=0,t=e.length;n<t;n++)e[n]=256*r[2*n]+r[2*n+1];var i=[];return e.forEach(function(r){i.push(o(r))}),s.decompress(i.join(""))},compressToEncodedURIComponent:function(o){return null==o?"":s._compress(o,6,function(o){return e.charAt(o)})},decompressFromEncodedURIComponent:function(o){return null==o?"":""==o?null:(o=o.replace(/ /g,"+"),s._decompress(o.length,32,function(r){return t(e,o.charAt(r))}))},compress:function(r){return s._compress(r,16,function(r){return o(r)})},_compress:function(o,r,e){if(null==o)return"";var n,t,s,i={},p={},c="",a="",u="",l=2,f=3,h=2,d=[],m=0,v=0;for(s=0;s<o.length;s+=1)if(c=o.charAt(s),Object.prototype.hasOwnProperty.call(i,c)||(i[c]=f++,p[c]=!0),a=u+c,Object.prototype.hasOwnProperty.call(i,a))u=a;else{if(Object.prototype.hasOwnProperty.call(p,u)){if(u.charCodeAt(0)<256){for(n=0;n<h;n++)m<<=1,v==r-1?(v=0,d.push(e(m)),m=0):v++;for(t=u.charCodeAt(0),n=0;n<8;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}else{for(t=1,n=0;n<h;n++)m=m<<1|t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t=0;for(t=u.charCodeAt(0),n=0;n<16;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete p[u]}else for(t=i[u],n=0;n<h;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++),i[a]=f++,u=String(c)}if(""!==u){if(Object.prototype.hasOwnProperty.call(p,u)){if(u.charCodeAt(0)<256){for(n=0;n<h;n++)m<<=1,v==r-1?(v=0,d.push(e(m)),m=0):v++;for(t=u.charCodeAt(0),n=0;n<8;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}else{for(t=1,n=0;n<h;n++)m=m<<1|t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t=0;for(t=u.charCodeAt(0),n=0;n<16;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete p[u]}else for(t=i[u],n=0;n<h;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++)}for(t=2,n=0;n<h;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==r-1){d.push(e(m));break}v++}return d.join("")},decompress:function(o){return null==o?"":""==o?null:s._decompress(o.length,32768,function(r){return o.charCodeAt(r)})},_decompress:function(r,e,n){var t,s,i,p,c,a,u,l=[],f=4,h=4,d=3,m="",v=[],w={val:n(0),position:e,index:1};for(t=0;t<3;t+=1)l[t]=t;for(i=0,c=Math.pow(2,2),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;u=o(i);break;case 1:for(i=0,c=Math.pow(2,16),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;u=o(i);break;case 2:return""}for(l[3]=u,s=u,v.push(u);;){if(w.index>r)return"";for(i=0,c=Math.pow(2,d),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;switch(u=i){case 0:for(i=0,c=Math.pow(2,8),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;l[h++]=o(i),u=h-1,f--;break;case 1:for(i=0,c=Math.pow(2,16),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;l[h++]=o(i),u=h-1,f--;break;case 2:return v.join("")}if(0==f&&(f=Math.pow(2,d),d++),l[u])m=l[u];else{if(u!==h)return null;m=s+s.charAt(0)}v.push(m),l[h++]=s+m.charAt(0),s=m,0==--f&&(f=Math.pow(2,d),d++)}}};exports.LZString=s;
|
|
3
3
|
},{}],"EHrm":[function(require,module,exports) {
|
|
4
|
-
module.exports={name:"posthog-js",version:"1.16.
|
|
4
|
+
module.exports={name:"posthog-js",version:"1.16.8",description:"Posthog-js allows you to automatically capture usage and send events to PostHog.",repository:"https://github.com/PostHog/posthog-js",author:"hey@posthog.com",license:"MIT",scripts:{start:"parcel watch src/loader-globals.js --out-file dist/array.js",serve:"parcel serve src/loader-globals.js --port 3001 --out-file dist/array.js",build:"yarn build-array && yarn build-module && yarn build-es-module && yarn process-types && yarn build-react","build-array":"parcel build src/loader-globals.js --out-file dist/array.js --no-source-maps","build-module":"rollup -i src/loader-module.js -f cjs -o dist/module.js -c rollup.config.js","build-es-module":"rollup -i src/loader-module.js -f es -o dist/es.js -c rollup.config.js","build-react":"cd react; yarn; yarn build;","process-types":"mkdir -p dist; eslint src --ext .ts -c .eslintrc.ts.js --fix && tsc && cp -f src/*.d.ts dist/",lint:"eslint src --fix",prepublishOnly:"yarn lint && yarn test && yarn build && yarn test-react",test:"jest src","test-react":"cd react; yarn test","test-watch":"jest --watch src",cypress:"cypress open"},main:"dist/module.js",module:"dist/es.js",files:["dist/*","react/dist/*"],dependencies:{"@sentry/types":"^6.11.0",fflate:"^0.4.1","rrweb-snapshot":"^1.1.7"},devDependencies:{"@babel/core":"7.12.10","@babel/preset-env":"7.12.11","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^8.1.0","@typescript-eslint/eslint-plugin":"^3.5.0","@typescript-eslint/parser":"^3.5.0","babel-eslint":"10.1.0","babel-jest":"^26.6.3",cypress:"^6.1.0",eslint:"7.3.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react":"^7.21.5","eslint-plugin-react-hooks":"^4.2.0","fast-check":"^2.17.0",given2:"^2.1.7",husky:"^4.2.5",jest:"^26.1.0",jsdom:"16.2.2","jsdom-global":"3.0.2","lint-staged":"^10.2.11",localStorage:"1.0.4","node-fetch":"^2.6.1",parcel:"^1.12.4","posthog-js":"link:.",prettier:"^2.0.5",rollup:"^2.18.2",rrweb:"^1.0.6",sinon:"9.0.2",testcafe:"^1.17.1","testcafe-browser-provider-browserstack":"^1.13.2-alpha.1",typescript:"^3.9.6"},husky:{hooks:{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,tsx,js,json}":"prettier --write","*.{ts,tsx}":["eslint -c .eslintrc.ts.js --fix","tsc --noEmit --esModuleInterop --jsx react"]},jest:{testPathIgnorePatterns:["/node_modules/","/cypress/","/react/","/test_data/"],moduleFileExtensions:["js","json"],setupFilesAfterEnv:["given2/setup"],clearMocks:!0}};
|
|
5
5
|
},{}],"itQ5":[function(require,module,exports) {
|
|
6
6
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=require("../package.json"),r={DEBUG:!1,LIB_VERSION:e.version},t=r;exports.default=t;
|
|
7
7
|
},{"../package.json":"EHrm"}],"FOZT":[function(require,module,exports) {
|
|
@@ -21,15 +21,15 @@ module.exports={name:"posthog-js",version:"1.16.4",description:"Posthog-js allow
|
|
|
21
21
|
},{"./utils":"FOZT"}],"ecEG":[function(require,module,exports) {
|
|
22
22
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PostHogPeople=void 0;var t=require("./gdpr-utils"),e=require("./api-actions"),o=require("./utils"),i=function(){};exports.PostHogPeople=i,o._.extend(i.prototype,e.apiActions),i.prototype._init=function(t){this._posthog=t},i.prototype.set=(0,t.addOptOutCheckPostHogPeople)(function(t,i,r){var s=this.set_action(t,i);return o._.isObject(t)&&(r=i),this._get_config("save_referrer")&&this._posthog.persistence.update_referrer_info(document.referrer),s[e.SET_ACTION]=o._.extend({},o._.info.people_properties(),this._posthog.persistence.get_referrer_info(),s[e.SET_ACTION]),this._send_request(s,r)}),i.prototype.set_once=(0,t.addOptOutCheckPostHogPeople)(function(t,e,i){var r=this.set_once_action(t,e);return o._.isObject(t)&&(i=e),this._send_request(r,i)}),i.prototype.toString=function(){return this._posthog.toString()+".people"},i.prototype._send_request=function(t,e){t.$token=this._get_config("token"),t.$distinct_id=this._posthog.get_distinct_id();var i=this._posthog.get_property("$device_id"),r=this._posthog.get_property("$user_id"),s=this._posthog.get_property("$had_persisted_distinct_id");i&&(t.$device_id=i),r&&(t.$user_id=r),s&&(t.$had_persisted_distinct_id=s);var _=o._.encodeDates(t),p=o._.copyAndTruncateStrings(_,this._get_config("properties_string_max_length")),n=JSON.stringify(_),d=o._.base64Encode(n);return this._posthog._send_request(this._get_config("api_host")+"/engage/",{data:d},{},this._posthog._prepare_callback(e,p)),p},i.prototype._get_config=function(t){return this._posthog.get_config(t)},i.prototype._is_reserved_property=function(t){return"$distinct_id"===t||"$token"===t||"$device_id"===t||"$user_id"===t||"$had_persisted_distinct_id"===t},i.prototype.set=i.prototype.set,i.prototype.set_once=i.prototype.set_once,i.prototype.toString=i.prototype.toString;
|
|
23
23
|
},{"./gdpr-utils":"rxSh","./api-actions":"os8r","./utils":"FOZT"}],"aVqC":[function(require,module,exports) {
|
|
24
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PostHogFeatureFlags=exports.parseFeatureFlagDecideResponse=void 0;var e=require("./utils");function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}var
|
|
24
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PostHogFeatureFlags=exports.parseFeatureFlagDecideResponse=void 0;var e=require("./utils");function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}var s=function(e,t){var a=e.featureFlags;if(a)if(Array.isArray(a)){var r={};if(a)for(var s=0;s<a.length;s++)r[a[s]]=!0;t&&t.register({$active_feature_flags:a,$enabled_feature_flags:r})}else t&&t.register({$active_feature_flags:Object.keys(a||{}),$enabled_feature_flags:a||{}});else t&&(t.unregister("$active_feature_flags"),t.unregister("$enabled_feature_flags"))};exports.parseFeatureFlagDecideResponse=s;var i=function(){function a(e){t(this,a),this.instance=e,this._override_warning=!1,this.flagCallReported={},this.featureFlagEventHandlers=[],this.reloadFeatureFlagsQueued=!1,this.reloadFeatureFlagsInAction=!1}return r(a,[{key:"getFlags",value:function(){return Object.keys(this.getFlagVariants())}},{key:"getFlagVariants",value:function(){var t=this.instance.get_property("$enabled_feature_flags"),a=this.instance.get_property("$override_feature_flags");if(!a)return t||{};for(var r=e._.extend({},t),s=Object.keys(a),i=0;i<s.length;i++)!1===a[s[i]]?delete r[s[i]]:r[s[i]]=a[s[i]];return this._override_warning||(console.warn("[PostHog] Overriding feature flags!",{enabledFlags:t,overriddenFlags:a,finalFlags:r}),this._override_warning=!0),r}},{key:"reloadFeatureFlags",value:function(){this.reloadFeatureFlagsQueued||(this.reloadFeatureFlagsQueued=!0,this._startReloadTimer())}},{key:"setReloadingPaused",value:function(e){this.reloadFeatureFlagsInAction=e}},{key:"resetRequestQueue",value:function(){this.reloadFeatureFlagsQueued=!1}},{key:"_startReloadTimer",value:function(){var e=this;this.reloadFeatureFlagsQueued&&!this.reloadFeatureFlagsInAction&&setTimeout(function(){!e.reloadFeatureFlagsInAction&&e.reloadFeatureFlagsQueued&&(e.reloadFeatureFlagsQueued=!1,e._reloadFeatureFlagsRequest())},5)}},{key:"_reloadFeatureFlagsRequest",value:function(){var t=this;this.setReloadingPaused(!0);var a=this.instance.get_config("token"),r=JSON.stringify({token:a,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups()}),i=e._.base64Encode(r);this.instance._send_request(this.instance.get_config("api_host")+"/decide/?v=2",{data:i},{method:"POST"},this.instance._prepare_callback(function(e){s(e,t.instance.persistence),t.receivedFeatureFlags(),t.setReloadingPaused(!1),t._startReloadTimer()}))}},{key:"getFeatureFlag",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.getFlags())return console.warn('getFeatureFlag for key "'+e+"\" failed. Feature flags didn't load in time."),!1;var a=this.getFlagVariants()[e];return!t.send_event&&"send_event"in t||this.flagCallReported[e]||(this.flagCallReported[e]=!0,this.instance.capture("$feature_flag_called",{$feature_flag:e,$feature_flag_response:a})),a}},{key:"isFeatureEnabled",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getFlags()?!!this.getFeatureFlag(e,t):(console.warn('isFeatureEnabled for key "'+e+"\" failed. Feature flags didn't load in time."),!1)}},{key:"addFeatureFlagsHandler",value:function(e){this.featureFlagEventHandlers.push(e)}},{key:"receivedFeatureFlags",value:function(){var e=this.getFlags(),t=this.getFlagVariants();this.featureFlagEventHandlers.forEach(function(a){return a(e,t)})}},{key:"override",value:function(e){if(this._override_warning=!1,!1===e)this.instance.persistence.unregister("$override_feature_flags");else if(Array.isArray(e)){for(var t={},a=0;a<e.length;a++)t[e[a]]=!0;this.instance.persistence.register({$override_feature_flags:t})}else this.instance.persistence.register({$override_feature_flags:e})}}]),a}();exports.PostHogFeatureFlags=i;
|
|
25
25
|
},{"./utils":"FOZT"}],"MAdm":[function(require,module,exports) {
|
|
26
26
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SESSION_ID=exports.SESSION_RECORDING_ENABLED=exports.EVENT_TIMERS_KEY=exports.CAMPAIGN_IDS_KEY=exports.ALIAS_ID_KEY=exports.PEOPLE_DISTINCT_ID_KEY=exports.SET_ONCE_QUEUE_KEY=exports.SET_QUEUE_KEY=exports.PostHogPersistence=void 0;var e=require("./utils"),t=require("./storage");function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s="__mps";exports.SET_QUEUE_KEY=s;var o="__mpso";exports.SET_ONCE_QUEUE_KEY=o;var i="__mpus",p="__mpa",n="__mpap",a="__mpr",_="__mpu",c="$people_distinct_id";exports.PEOPLE_DISTINCT_ID_KEY=c;var h="__alias";exports.ALIAS_ID_KEY=h;var u="__cmpns";exports.CAMPAIGN_IDS_KEY=u;var f="__timers";exports.EVENT_TIMERS_KEY=f;var d="$session_recording_enabled";exports.SESSION_RECORDING_ENABLED=d;var m="$sesid";exports.SESSION_ID=m;var l="$enabled_feature_flags",y=[s,o,i,p,n,a,_,c,h,u,f,d,m,l],E=function(r){var s="";r.token&&(s=r.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),this.props={},this.campaign_params_saved=!1,r.persistence_name?this.name="ph_"+r.persistence_name:this.name="ph_"+s+"_posthog";var o=r.persistence;"cookie"!==o&&-1===o.indexOf("localStorage")&&"memory"!==o&&(e.console.critical("Unknown persistence type "+o+"; falling back to cookie"),o=r.persistence="cookie"),"localStorage"===o&&t.localStore.is_supported()?this.storage=t.localStore:"localStorage+cookie"===o&&t.localPlusCookieStore.is_supported()?this.storage=t.localPlusCookieStore:this.storage="memory"===o?t.memoryStore:t.cookieStore,this.load(),this.update_config(r),this.save()};exports.PostHogPersistence=E,E.prototype.properties=function(){var t={};return e._.each(this.props,function(s,o){if(o===l&&"object"===r(s))for(var i=Object.keys(s),p=0;p<i.length;p++)t["$feature/".concat(i[p])]=s[i[p]];else e._.include(y,o)||(t[o]=s)}),t},E.prototype.load=function(){if(!this.disabled){var t=this.storage.parse(this.name);t&&(this.props=e._.extend({},t))}},E.prototype.save=function(){this.disabled||this.storage.set(this.name,this.props,this.expire_days,this.cross_subdomain,this.secure)},E.prototype.remove=function(){this.storage.remove(this.name,!1),this.storage.remove(this.name,!0)},E.prototype.clear=function(){this.remove(),this.props={}},E.prototype.register_once=function(t,r,s){return!!e._.isObject(t)&&(void 0===r&&(r="None"),this.expire_days=void 0===s?this.default_expiry:s,e._.each(t,function(e,t){this.props.hasOwnProperty(t)&&this.props[t]!==r||(this.props[t]=e)},this),this.save(),!0)},E.prototype.register=function(t,r){return!!e._.isObject(t)&&(this.expire_days=void 0===r?this.default_expiry:r,e._.extend(this.props,t),this.save(),!0)},E.prototype.unregister=function(e){e in this.props&&(delete this.props[e],this.save())},E.prototype.update_campaign_params=function(){this.campaign_params_saved||(this.register(e._.info.campaignParams()),this.campaign_params_saved=!0)},E.prototype.update_search_keyword=function(t){this.register(e._.info.searchInfo(t))},E.prototype.update_referrer_info=function(t){this.register_once({$initial_referrer:t||"$direct",$initial_referring_domain:e._.info.referringDomain(t)||"$direct"},""),this.register({$referrer:t||this.props.$referrer||"$direct",$referring_domain:e._.info.referringDomain(t)||this.props.$referring_domain||"$direct"})},E.prototype.get_referrer_info=function(){return e._.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},E.prototype.safe_merge=function(t){return e._.each(this.props,function(e,r){r in t||(t[r]=e)}),t},E.prototype.update_config=function(e){this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie)},E.prototype.set_disabled=function(e){this.disabled=e,this.disabled?this.remove():this.save()},E.prototype.set_cross_subdomain=function(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())},E.prototype.get_cross_subdomain=function(){return this.cross_subdomain},E.prototype.set_secure=function(e){e!==this.secure&&(this.secure=!!e,this.remove(),this.save())},E.prototype.set_event_timer=function(e,t){var r=this.props[f]||{};r[e]=t,this.props[f]=r,this.save()},E.prototype.remove_event_timer=function(t){var r=(this.props[f]||{})[t];return e._.isUndefined(r)||(delete this.props[f][t],this.save()),r};
|
|
27
27
|
},{"./utils":"FOZT","./storage":"KZ7Y"}],"vmk3":[function(require,module,exports) {
|
|
28
28
|
"use strict";function t(t,r){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=e(t))||r&&t&&"number"==typeof t.length){n&&(t=n);var o=0,a=function(){};return{s:a,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,l=!0,u=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return l=t.done,t},e:function(t){u=!0,i=t},f:function(){try{l||null==n.return||n.return()}finally{if(u)throw i}}}}function e(t,e){if(t){if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.filterDataURLsFromLargeDataObjects=a,exports.replacementImageURI=void 0;var o="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNOCAwSDE2TDAgMTZWOEw4IDBaIiBmaWxsPSIjMkQyRDJEIi8+CjxwYXRoIGQ9Ik0xNiA4VjE2SDhMMTYgOFoiIGZpbGw9IiMyRDJEMkQiLz4KPC9zdmc+Cg==";function a(e){if(e&&"object"===n(e)){var r=JSON.stringify(e);if(r.length>5e6){var a,i=t(r.matchAll(/data:([\w\/\-\.]+);(\w+),([^)"]*)/gim));try{for(i.s();!(a=i.n()).done;){var l=a.value;r="image/"===l[1].toLocaleLowerCase().slice(0,6)?r.replace(l[0],o):r.replace(l[0],"")}}catch(u){i.e(u)}finally{i.f()}}return JSON.parse(r)}return e}exports.replacementImageURI=o;
|
|
29
29
|
},{}],"Z2N4":[function(require,module,exports) {
|
|
30
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SessionRecording=exports.MUTATION_SOURCE_TYPE=exports.INCREMENTAL_SNAPSHOT_EVENT_TYPE=exports.META_EVENT_TYPE=exports.FULL_SNAPSHOT_EVENT_TYPE=void 0;var e=require("../autocapture-utils"),t=require("../utils"),n=require("../posthog-persistence"),r=s(require("../config")),i=require("./sessionrecording-utils");function s(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){f(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(e,t){return h(e)||l(e,t)||p(e,t)||u()}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(c){i=!0,s=c}finally{try{r||null==a.return||a.return()}finally{if(i)throw s}}return n}}function h(e){if(Array.isArray(e))return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t,n){return t&&b(e.prototype,t),n&&b(e,n),e}var w="/e/",y=2;exports.FULL_SNAPSHOT_EVENT_TYPE=y;var v=4;exports.META_EVENT_TYPE=v;var S=3;exports.INCREMENTAL_SNAPSHOT_EVENT_TYPE=S;var E=3;exports.MUTATION_SOURCE_TYPE=E;var O=function(){function s(e){_(this,s),this.instance=e,this.captureStarted=!1,this.snapshots=[],this.emit=!1,this.endpoint=w,this.stopRrweb=null,this.windowId=null,this.sessionId=null}return g(s,[{key:"startRecordingIfEnabled",value:function(){this.instance.get_property(n.SESSION_RECORDING_ENABLED)&&!this.instance.get_config("disable_session_recording")&&this._startCapture()}},{key:"started",value:function(){return this.captureStarted}},{key:"stopRecording",value:function(){this.captureStarted&&this.stopRrweb&&(this.stopRrweb(),this.stopRrweb=null,this.captureStarted=!1)}},{key:"afterDecideResponse",value:function(e){var t=!this.instance.get_config("disable_session_recording")&&!!e.sessionRecording;this.instance.persistence&&this.instance.persistence.register(f({},n.SESSION_RECORDING_ENABLED,t)),t&&(e.sessionRecording.endpoint&&(this.endpoint=e.sessionRecording.endpoint),this.submitRecordings())}},{key:"submitRecordings",value:function(){var e=this;this.emit=!0,this._startCapture(),this.snapshots.forEach(function(t){return e._captureSnapshot(t)})}},{key:"_startCapture",value:function(){void 0!==Object.assign&&(this.captureStarted||this.instance.get_config("disable_session_recording")||(this.captureStarted=!0,(0,e.loadScript)(this.instance.get_config("api_host")+"/static/recorder.js?v="+r.default.LIB_VERSION,t._.bind(this._onScriptLoaded,this))))}},{key:"_updateWindowAndSessionIds",value:function(e){var t=this.instance.
|
|
30
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SessionRecording=exports.MUTATION_SOURCE_TYPE=exports.INCREMENTAL_SNAPSHOT_EVENT_TYPE=exports.META_EVENT_TYPE=exports.FULL_SNAPSHOT_EVENT_TYPE=void 0;var e=require("../autocapture-utils"),t=require("../utils"),n=require("../posthog-persistence"),r=s(require("../config")),i=require("./sessionrecording-utils");function s(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){f(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(e,t){return h(e)||l(e,t)||p(e,t)||u()}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(c){i=!0,s=c}finally{try{r||null==a.return||a.return()}finally{if(i)throw s}}return n}}function h(e){if(Array.isArray(e))return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t,n){return t&&b(e.prototype,t),n&&b(e,n),e}var w="/e/",y=2;exports.FULL_SNAPSHOT_EVENT_TYPE=y;var v=4;exports.META_EVENT_TYPE=v;var S=3;exports.INCREMENTAL_SNAPSHOT_EVENT_TYPE=S;var E=3;exports.MUTATION_SOURCE_TYPE=E;var O=function(){function s(e){_(this,s),this.instance=e,this.captureStarted=!1,this.snapshots=[],this.emit=!1,this.endpoint=w,this.stopRrweb=null,this.windowId=null,this.sessionId=null}return g(s,[{key:"startRecordingIfEnabled",value:function(){this.instance.get_property(n.SESSION_RECORDING_ENABLED)&&!this.instance.get_config("disable_session_recording")&&this._startCapture()}},{key:"started",value:function(){return this.captureStarted}},{key:"stopRecording",value:function(){this.captureStarted&&this.stopRrweb&&(this.stopRrweb(),this.stopRrweb=null,this.captureStarted=!1)}},{key:"afterDecideResponse",value:function(e){var t=!this.instance.get_config("disable_session_recording")&&!!e.sessionRecording;this.instance.persistence&&this.instance.persistence.register(f({},n.SESSION_RECORDING_ENABLED,t)),t&&(e.sessionRecording.endpoint&&(this.endpoint=e.sessionRecording.endpoint),this.submitRecordings())}},{key:"submitRecordings",value:function(){var e=this;this.emit=!0,this._startCapture(),this.snapshots.forEach(function(t){return e._captureSnapshot(t)})}},{key:"_startCapture",value:function(){void 0!==Object.assign&&(this.captureStarted||this.instance.get_config("disable_session_recording")||(this.captureStarted=!0,(0,e.loadScript)(this.instance.get_config("api_host")+"/static/recorder.js?v="+r.default.LIB_VERSION,t._.bind(this._onScriptLoaded,this))))}},{key:"_updateWindowAndSessionIds",value:function(e){var t=this.instance.sessionManager.getSessionAndWindowId(e.timestamp||(new Date).getTime(),e),n=t.windowId,r=t.sessionId;this.windowId===n&&this.sessionId===r||-1!==[y,v].indexOf(e.type)||window.rrweb.record.takeFullSnapshot(),this.windowId=n,this.sessionId=r}},{key:"_onScriptLoaded",value:function(){for(var e=this,t={blockClass:"ph-no-capture",blockSelector:null,ignoreClass:"ph-ignore-input",maskAllInputs:!1,maskInputOptions:{},maskInputFn:null,slimDOMOptions:{},collectFonts:!1},n=this.instance.get_config("session_recording"),r=0,s=Object.entries(n||{});r<s.length;r++){var o=c(s[r],2),u=o[0],p=o[1];u in t&&(t[u]=p)}this.stopRrweb=window.rrweb.record(a({emit:function(t){t=(0,i.filterDataURLsFromLargeDataObjects)(t),e._updateWindowAndSessionIds(t);var n={$snapshot_data:t,$session_id:e.sessionId,$window_id:e.windowId};e.instance._captureMetrics.incr("rrweb-record"),e.instance._captureMetrics.incr("rrweb-record-".concat(t.type)),e.emit?e._captureSnapshot(n):e.snapshots.push(n)}},t)),this.instance._addCaptureHook(function(e){"$pageview"===e&&window.rrweb.record.addCustomEvent("$pageview",{href:window.location.href})})}},{key:"_captureSnapshot",value:function(e){this.instance.capture("$snapshot",e,{transport:"XHR",method:"POST",endpoint:this.endpoint,_forceCompression:!0,_noTruncate:!0,_batchKey:"sessionRecording",_metrics:{rrweb_full_snapshot:e.$snapshot_data.type===y}})}}]),s}();exports.SessionRecording=O;
|
|
31
31
|
},{"../autocapture-utils":"RYfg","../utils":"FOZT","../posthog-persistence":"MAdm","../config":"itQ5","./sessionrecording-utils":"vmk3"}],"auG7":[function(require,module,exports) {
|
|
32
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Decide=void 0;var e=require("./autocapture"),t=require("./utils"),n=require("./posthog-featureflags");function r(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=i(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){c=!0,s=e},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw s}}}}function i(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}var u=function(){function i(e){s(this,i),this.instance=e}return c(i,[{key:"call",value:function(){var e=this,n=JSON.stringify({token:this.instance.get_config("token"),distinct_id:this.instance.get_distinct_id()}),r=t._.base64Encode(n);this.instance._send_request("".concat(this.instance.get_config("api_host"),"/decide/?v=2"),{data:r},{method:"POST"},function(t){return e.parseDecideResponse(t)})}},{key:"parseDecideResponse",value:function(t){var i=this;if(!document||!document.body)return console.log("document not ready yet, trying again in 500 milliseconds..."),void setTimeout(function(){i.parseDecideResponse(t)},500);if(this.instance.toolbar.afterDecideResponse(t),this.instance.sessionRecording.afterDecideResponse(t),e.autocapture.afterDecideResponse(t,this.instance),(0,n.parseFeatureFlagDecideResponse)(t,this.instance.persistence),t.supportedCompression){var o,s={},a=r(t.supportedCompression);try{for(a.s();!(o=a.n()).done;){s[o.value]=!0}}catch(c){a.e(c)}finally{a.f()}this.instance.compression=s}else this.instance.compression={}}}]),i}();exports.Decide=u;
|
|
32
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Decide=void 0;var e=require("./autocapture"),t=require("./utils"),n=require("./posthog-featureflags");function r(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=i(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){c=!0,s=e},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw s}}}}function i(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}var u=function(){function i(e){s(this,i),this.instance=e}return c(i,[{key:"call",value:function(){var e=this,n=JSON.stringify({token:this.instance.get_config("token"),distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups()}),r=t._.base64Encode(n);this.instance._send_request("".concat(this.instance.get_config("api_host"),"/decide/?v=2"),{data:r},{method:"POST"},function(t){return e.parseDecideResponse(t)})}},{key:"parseDecideResponse",value:function(t){var i=this;if(!document||!document.body)return console.log("document not ready yet, trying again in 500 milliseconds..."),void setTimeout(function(){i.parseDecideResponse(t)},500);if(this.instance.toolbar.afterDecideResponse(t),this.instance.sessionRecording.afterDecideResponse(t),e.autocapture.afterDecideResponse(t,this.instance),(0,n.parseFeatureFlagDecideResponse)(t,this.instance.persistence),t.supportedCompression){var o,s={},a=r(t.supportedCompression);try{for(a.s();!(o=a.n()).done;){s[o.value]=!0}}catch(c){a.e(c)}finally{a.f()}this.instance.compression=s}else this.instance.compression={}}}]),i}();exports.Decide=u;
|
|
33
33
|
},{"./autocapture":"gR3r","./utils":"FOZT","./posthog-featureflags":"aVqC"}],"ZEpJ":[function(require,module,exports) {
|
|
34
34
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Toolbar=void 0;var t=require("../autocapture-utils"),e=require("../utils");function o(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,r)}return o}function r(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function n(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var o=0;o<e.length;o++){var r=e[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function s(t,e,o){return e&&a(t.prototype,e),o&&a(t,o),t}var c=function(){function o(t){i(this,o),this.instance=t}return s(o,[{key:"afterDecideResponse",value:function(t){var e=t.editorParams||(t.toolbarVersion?{toolbarVersion:t.toolbarVersion}:{});t.isAuthenticated&&e.toolbarVersion&&0===e.toolbarVersion.indexOf("toolbar")&&(this._loadEditor(r(r({},e),{},{apiURL:this.instance.get_config("api_host")})),this.instance.set_config({debug:!0}))}},{key:"maybeLoadEditor",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location,o=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.history;try{if(!o){try{window.localStorage.setItem("test","test"),window.localStorage.removeItem("test")}catch(s){return!1}o=window.localStorage}var n,i=e._.getHashParam(t.hash,"__posthog")||e._.getHashParam(t.hash,"state"),a=i?JSON.parse(decodeURIComponent(i)):null;return a&&("mpeditor"===a.action||"ph_authorize"===a.action)?(n=a)&&Object.keys(n).length>0&&(o.setItem("_postHogEditorParams",JSON.stringify(n)),a.desiredHash?t.hash=a.desiredHash:r?r.replaceState("",document.title,t.pathname+t.search):t.hash=""):delete(n=JSON.parse(o.getItem("_postHogEditorParams")||"{}")).userIntent,n.apiURL=this.instance.get_config("api_host"),!(!n.token||this.instance.get_config("token")!==n.token)&&(this._loadEditor(n),!0)}catch(c){return!1}}},{key:"_loadEditor",value:function(o){var n=this;if(!window._postHogToolbarLoaded){window._postHogToolbarLoaded=!0;var i=o.jsURL||o.apiURL||this.instance.get_config("api_host"),a=i+(i.endsWith("/")?"":"/")+"static/toolbar.js?_ts="+(new Date).getTime(),s="https://app.posthog.com"!==this.instance.get_config("api_host")&&this.instance.get_config("advanced_disable_toolbar_metrics");return o=r(r({},o),s?{instrument:!1}:{}),(0,t.loadScript)(a,function(){window.ph_load_editor(o,n.instance)}),e._.register_event(window,"turbolinks:load",function(){window._postHogToolbarLoaded=!1,n._loadEditor(o)}),!0}return!1}}]),o}();exports.Toolbar=c;
|
|
35
35
|
},{"../autocapture-utils":"RYfg","../utils":"FOZT"}],"ae0g":[function(require,module,exports) {
|
|
@@ -45,11 +45,11 @@ module.exports={name:"posthog-js",version:"1.16.4",description:"Posthog-js allow
|
|
|
45
45
|
},{"./lz-string":"zdbk","fflate":"UJm1","./utils":"FOZT"}],"tOu2":[function(require,module,exports) {
|
|
46
46
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.xhr=exports.encodePostData=void 0;var e=require("./utils");function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function r(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?t(Object(o),!0).forEach(function(t){n(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=function e(t,r){if(r.blob&&t.buffer)return new Blob([t.buffer],{type:"text/plain"});if(r.sendBeacon||r.blob){var n=e(t,{method:"POST"});return new Blob([n],{type:"application/x-www-form-urlencoded"})}if("POST"!==r.method)return null;var o,s;return o=Array.isArray(t)||(s=t,"[object Uint8Array]"===Object.prototype.toString.call(s))?"data="+encodeURIComponent(t):"data="+encodeURIComponent(t.data),t.compression&&(o+="&compression="+t.compression),o};exports.encodePostData=o;var s=function(t){var n=t.url,s=t.data,a=t.headers,i=t.options,c=t.captureMetrics,u=t.callback,p=t.retriesPerformedSoFar,l=t.retryQueue,d=t.onXHRError,f=new XMLHttpRequest;f.open(i.method,n,!0);var b=o(s,i);c.incr("_send_request"),c.incr("_send_request_inflight");var y=c.startRequest(r({data_size:e._.isString(s)?s.length:b.length,endpoint:n.slice(n.length-2)},i._metrics));e._.each(a,function(e,t){f.setRequestHeader(t,e)}),"POST"!==i.method||i.blob||f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),f.withCredentials=!0,f.onreadystatechange=function(){if(4===f.readyState){c.incr("xhr-response"),c.incr("xhr-response-".concat(f.status)),c.decr("_send_request_inflight");var t=c.finishRequest(y);if(200===f.status){if(u){var o;try{o=JSON.parse(f.responseText)}catch(b){return void e.console.error(b)}u(o)}}else"function"==typeof d&&d(f),[401,403,404,500].indexOf(f.status)<0&&l.enqueue({url:n,data:s,options:i,headers:a,retriesPerformedSoFar:(p||0)+1,callback:u}),c.markRequestFailed(r(r({},t),{},{type:"non_200",status:f.status,statusText:f.statusText})),u&&(i.verbose?u({status:0,error:error}):u(0))}},f.send(b)};exports.xhr=s;
|
|
47
47
|
},{"./utils":"FOZT"}],"ennf":[function(require,module,exports) {
|
|
48
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RetryQueue=void 0;var e=require("./base-request-queue"),t=require("./send-request");function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=a(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){c=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw i}}}}function a(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&f(e.prototype,t),r&&f(e,r),e}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=
|
|
48
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RetryQueue=void 0;var e=require("./base-request-queue"),t=require("./send-request");function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=a(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){c=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw i}}}}function a(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&f(e.prototype,t),r&&f(e,r),e}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=v();return function(){var r,n=w(e);if(t){var o=w(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return b(this,r)}}function b(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?d(e):t}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var O=function(r){y(i,e.RequestQueueScaffold);var n=h(i);function i(e,t){var r;return l(this,i),(r=n.call(this)).captureMetrics=e,r.isPolling=!1,r.queue=[],r.areWeOnline=!0,r.onXHRError=t,"onLine"in window.navigator&&(r.areWeOnline=window.navigator.onLine,window.addEventListener("online",function(){r._handleWeAreNowOnline()}),window.addEventListener("offline",function(){r.areWeOnline=!1})),r}return s(i,[{key:"enqueue",value:function(e){var t=e.retriesPerformedSoFar||0;if(!(t>=10)){var r=3e3*Math.pow(2,t),n=new Date(Date.now()+r);console.warn("Enqueued failed request for retry in ".concat(r)),this.queue.push({retryAt:n,requestData:e}),this.isPolling||(this.isPolling=!0,this.poll())}}},{key:"poll",value:function(){var e=this;clearTimeout(this._poller),this._poller=setTimeout(function(){e.areWeOnline&&e.queue.length>0&&e.flush(),e.poll()},this._pollInterval)}},{key:"flush",value:function(){var e=new Date(Date.now()),t=this.queue.filter(function(t){return t.retryAt<e});if(t.length>0){this.queue=this.queue.filter(function(t){return t.retryAt>=e});var r,n=u(t);try{for(n.s();!(r=n.n()).done;){var o=r.value.requestData;this._executeXhrRequest(o)}}catch(i){n.e(i)}finally{n.f()}}}},{key:"unload",value:function(){clearTimeout(this._poller);var e,r=u(this.queue);try{for(r.s();!(e=r.n()).done;){var n=e.value.requestData,i=n.url,a=n.data,c=n.options;try{window.navigator.sendBeacon(i,(0,t.encodePostData)(a,o(o({},c),{},{sendBeacon:!0})))}catch(l){this.get_config("debug")&&console.error(l)}}}catch(f){r.e(f)}finally{r.f()}this.queue=[]}},{key:"_executeXhrRequest",value:function(e){var r=e.url,n=e.data,o=e.options,i=e.headers,u=e.callback,a=e.retriesPerformedSoFar;(0,t.xhr)({url:r,data:n||{},options:o||{},headers:i||{},retriesPerformedSoFar:a||0,callback:u,captureMetrics:this.captureMetrics,retryQueue:this,onXHRError:this.onXHRError})}},{key:"_handleWeAreNowOnline",value:function(){this.areWeOnline=!0,this.flush()}}]),i}();exports.RetryQueue=O;
|
|
49
49
|
},{"./base-request-queue":"ae0g","./send-request":"tOu2"}],"tci7":[function(require,module,exports) {
|
|
50
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SessionIdManager=void 0;var e=require("./extensions/sessionrecording"),t=require("./posthog-persistence"),n=require("./storage"),i=require("./utils");function
|
|
50
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SessionIdManager=void 0;var e=require("./extensions/sessionrecording"),t=require("./posthog-persistence"),n=require("./storage"),i=require("./utils");function s(e,t){return d(e)||u(e,t)||o(e,t)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function u(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],i=!0,s=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(i=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(u){s=!0,r=u}finally{try{i||null==a.return||a.return()}finally{if(s)throw r}}return n}}function d(e){if(Array.isArray(e))return e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _(e,t,n){return t&&h(e.prototype,t),n&&h(e,n),e}var p=18e5,f=function(){function r(e,t){c(this,r),this.persistence=t,e.persistence_name?this.window_id_storage_key="ph_"+e.persistence_name+"_window_id":this.window_id_storage_key="ph_"+e.token+"_window_id"}return _(r,[{key:"_setWindowId",value:function(e){e!==this.windowId&&(this.windowId=e,!this.persistence.disabled&&n.sessionStore.is_supported()&&n.sessionStore.set(this.window_id_storage_key,e))}},{key:"_getWindowId",value:function(){return this.windowId?this.windowId:!this.persistence.disabled&&n.sessionStore.is_supported()?n.sessionStore.parse(this.window_id_storage_key):null}},{key:"_setSessionId",value:function(e,n){e===this.sessionId&&n===this.timestamp||(this.timestamp=n,this.sessionId=e,this.persistence.register(l({},t.SESSION_ID,[n,e])))}},{key:"_getSessionId",value:function(){return this.sessionId&&this.timestamp?[this.timestamp,this.sessionId]:this.persistence.props[t.SESSION_ID]||[0,null]}},{key:"resetSessionId",value:function(){this._setSessionId(null,null)}},{key:"getSessionAndWindowId",value:function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=!(r&&r.type===e.INCREMENTAL_SNAPSHOT_EVENT_TYPE&&(null===(t=r.data)||void 0===t?void 0:t.source)===e.MUTATION_SOURCE_TYPE);n=n||(new Date).getTime();var a=s(this._getSessionId(),2),u=a[0],d=a[1],l=this._getWindowId();!d||o&&Math.abs(n-u)>p?(d=i._.UUID(),l=i._.UUID()):l||(l=i._.UUID());var c=0===u||o?n:u;return this._setWindowId(l),this._setSessionId(d,c),{sessionId:d,windowId:l}}}]),r}();exports.SessionIdManager=f;
|
|
51
51
|
},{"./extensions/sessionrecording":"Z2N4","./posthog-persistence":"MAdm","./storage":"KZ7Y","./utils":"FOZT"}],"ok3T":[function(require,module,exports) {
|
|
52
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.init_from_snippet=N,exports.init_as_module=Y,exports.PostHogLib=void 0;var e,t,o=require("./lz-string"),r=v(require("./config")),i=require("./utils"),n=require("./autocapture"),s=require("./posthog-people"),p=require("./posthog-featureflags"),a=require("./posthog-persistence"),c=require("./extensions/sessionrecording"),_=require("./decide"),u=require("./extensions/toolbar"),d=require("./gdpr-utils"),g=require("./storage"),l=require("./request-queue"),h=require("./capture-metrics"),f=require("./compression"),y=require("./send-request"),b=require("./retry-queue"),m=require("./sessionid");function v(e){return e&&e.__esModule?e:{default:e}}function w(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,r)}return o}function k(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?w(Object(o),!0).forEach(function(t){q(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):w(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function q(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function S(e,t){return E(e)||O(e,t)||x(e,t)||P()}function P(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,t){if(e){if("string"==typeof e)return F(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?F(e,t):void 0}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}function O(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],r=!0,i=!1,n=void 0;try{for(var s,p=e[Symbol.iterator]();!(r=(s=p.next()).done)&&(o.push(s.value),!t||o.length!==t);r=!0);}catch(a){i=!0,n=a}finally{try{r||null==p.return||p.return()}finally{if(i)throw n}}return o}}function E(e){if(Array.isArray(e))return e}var I=0,$=1,H=function(){},j={},A="posthog",R=i.window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,M=!R&&-1===i.userAgent.indexOf("MSIE")&&-1===i.userAgent.indexOf("Mozilla"),D=function(){return{api_host:"https://app.posthog.com",api_method:"POST",api_transport:"XHR",autocapture:!0,rageclick:!1,cross_subdomain_cookie:-1===i.document.location.hostname.indexOf("herokuapp.com"),persistence:"cookie",persistence_name:"",cookie_name:"",loaded:function(){},store_google:!0,save_referrer:!0,test:!1,verbose:!1,img:!1,capture_pageview:!0,debug:!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_cookie:!1,secure_cookie:"https:"===i.window.location.protocol,ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_capturing_persistence_type:"localStorage",opt_out_capturing_cookie_prefix:null,property_blacklist:[],sanitize_properties:null,xhr_headers:{},inapp_protocol:"//",inapp_link_new_window:!1,request_batching:!0,properties_string_max_length:65535,session_recording:{blockClass:"ph-no-capture",blockSelector:null,ignoreClass:"ph-ignore-input",maskAllInputs:!1,maskInputOptions:{},maskInputFn:null,slimDOMOptions:{},collectFonts:!1},mask_all_element_attributes:!1,mask_all_text:!1,advanced_disable_decide:!1,advanced_disable_toolbar_metrics:!1,on_xhr_error:function(e){var t="Bad HTTP status: "+e.status+" "+e.statusText;i.console.error(t)},_onCapture:function(){},_capture_metrics:!1}},L=function(){};exports.PostHogLib=L;var C=function(o,a,d){var g,l=d===A?t:t[d];if(l&&e===I)g=l;else{if(l&&!i._.isArray(l))return void i.console.error("You have already initialized "+d);g=new L}if(g._init(o,a,d),g.people=new s.PostHogPeople,g.people._init(g),g.featureFlags=new p.PostHogFeatureFlags(g),g.feature_flags=g.featureFlags,g.toolbar=new u.Toolbar(g),g.toolbar.maybeLoadEditor(),g.sessionRecording=new c.SessionRecording(g),g.sessionRecording.startRecordingIfEnabled(),g.__autocapture_enabled=g.get_config("autocapture"),g.get_config("autocapture")){n.autocapture.enabledForProject(g.get_config("token"),100,100)?n.autocapture.isBrowserSupported()?n.autocapture.init(g):(g.__autocapture_enabled=!1,i.console.log("Disabling Automatic Event Collection because this browser is not supported")):(g.__autocapture_enabled=!1,i.console.log("Not in active bucket: disabling Automatic Event Collection."))}return g.get_config("advanced_disable_decide")||new _.Decide(g).call(),r.default.DEBUG=r.default.DEBUG||g.get_config("debug"),!i._.isUndefined(l)&&i._.isArray(l)&&(g._execute_array.call(g.people,l.people),g._execute_array(l)),g};L.prototype.init=function(e,o,r){if(i._.isUndefined(r))i.console.error("You must name your new library: init(token, config, name)");else{if(r!==A){var n=C(e,o,r);return t[r]=n,n._loaded(),n}i.console.error("You must initialize the main posthog object right after you include the PostHog js snippet")}},L.prototype._init=function(e,t,o){this.__loaded=!0,this.config={},this._triggered_notifs=[],this.compression={},this.set_config(i._.extend({},D(),t,{name:o,token:e,callback_fn:(o===A?o:A+"."+o)+"._jsc"})),this._jsc=function(){},this._captureMetrics=new h.CaptureMetrics(this.get_config("_capture_metrics"),i._.bind(this.capture,this)),this._requestQueue=new l.RequestQueue(this._captureMetrics,i._.bind(this._handle_queued_event,this)),this._retryQueue=new b.RetryQueue(this._captureMetrics,this.get_config("on_xhr_error")),this.__captureHooks=[],this.__request_queue=[],this.persistence=new a.PostHogPersistence(this.config),this._sessionIdManager=new m.SessionIdManager(this.config,this.persistence),this._gdpr_init();var r=i._.UUID();this.get_distinct_id()||this.register_once({distinct_id:r,$device_id:r},""),i.window.addEventListener&&i.window.addEventListener("unload",this._handle_unload.bind(this))},L.prototype._loaded=function(){this.get_config("loaded")(this),this._start_queue_if_opted_in(),this.get_config("capture_pageview")&&this.capture("$pageview",{},{send_instantly:!0})},L.prototype._start_queue_if_opted_in=function(){this.has_opted_out_capturing()||this.get_config("request_batching")&&this._requestQueue.poll()},L.prototype._dom_loaded=function(){this.has_opted_out_capturing()||i._.each(this.__request_queue,function(e){this._send_request.apply(this,e)},this),delete this.__request_queue,this._start_queue_if_opted_in()},L.prototype._prepare_callback=function(e,t){if(i._.isUndefined(e))return null;if(R){return function(o){e(o,t)}}var o=this._jsc,r=""+Math.floor(1e8*Math.random()),n=this.get_config("callback_fn")+"["+r+"]";return o[r]=function(i){delete o[r],e(i,t)},n},L.prototype._handle_unload=function(){this.get_config("request_batching")?(this.get_config("capture_pageview")&&this.capture("$pageleave"),this.get_config("_capture_metrics")&&(this._requestQueue.updateUnloadMetrics(),this.capture("$capture_metrics",this._captureMetrics.metrics),this._captureMetrics.captureInProgressRequests()),this._requestQueue.unload(),this._retryQueue.unload()):this.get_config("capture_pageview")&&this.capture("$pageleave",null,{transport:"sendbeacon"})},L.prototype._handle_queued_event=function(e,t,o){var r=JSON.stringify(t);this.__compress_and_send_json_request(e,r,o||j,H)},L.prototype.__compress_and_send_json_request=function(e,t,o,r){var i=S((0,f.compressData)((0,f.decideCompression)(this.compression),t,o),2),n=i[0],s=i[1];this._send_request(e,n,s,r)},L.prototype._send_request=function(e,t,o,r){if(M)this.__request_queue.push(arguments);else{var n={method:this.get_config("api_method"),transport:this.get_config("api_transport"),verbose:this.get_config("verbose")};o=i._.extend(n,o||{}),R||(o.method="GET");var s=i.window.navigator.sendBeacon&&"sendbeacon"===o.transport.toLowerCase(),p=o.urlQueryArgs||{};p.ip=this.get_config("ip")?1:0,p._=(new Date).getTime().toString();var a=e.indexOf("?")>-1?"&":"?";if(e+=a+i._.HTTPBuildQuery(p),i._.isObject(t)&&this.get_config("img")){var c=i.document.createElement("img");c.src=e,i.document.body.appendChild(c)}else if(s)i.window.navigator.sendBeacon(e,(0,y.encodePostData)(t,k(k({},o),{},{sendBeacon:!0})));else if(R)try{(0,y.xhr)({url:e,data:t,headers:this.get_config("xhr_headers"),options:o,captureMetrics:this._captureMetrics,callback:r,retriesPerformedSoFar:0,retryQueue:this._retryQueue,onXHRError:this.get_config("on_xhr_error")})}catch(d){i.console.error(d)}else{var _=i.document.createElement("script");_.type="text/javascript",_.async=!0,_.defer=!0,_.src=e;var u=i.document.getElementsByTagName("script")[0];u.parentNode.insertBefore(_,u)}}},L.prototype._execute_array=function(e){var t,o=[],r=[],n=[];i._.each(e,function(e){e&&(t=e[0],i._.isArray(t)?n.push(e):"function"==typeof e?e.call(this):i._.isArray(e)&&"alias"===t?o.push(e):i._.isArray(e)&&-1!==t.indexOf("capture")&&"function"==typeof this[t]?n.push(e):r.push(e))},this);var s=function(e,t){i._.each(e,function(e){if(i._.isArray(e[0])){var o=t;i._.each(e,function(e){o=o[e[0]].apply(o,e.slice(1))})}else this[e[0]].apply(this,e.slice(1))},t)};s(o,this),s(r,this),s(n,this)},L.prototype.push=function(e){this._execute_array([e])},L.prototype.capture=(0,d.addOptOutCheckPostHogLib)(function(e,t,o){if(this.__loaded){this._captureMetrics.incr("capture"),"$snapshot"===e&&this._captureMetrics.incr("snapshot");var r=(o=o||j).transport;if(r&&(o.transport=r),i._.isUndefined(e)||"string"!=typeof e)i.console.error("No event name provided to posthog.capture");else if(!i._.isBlockedUA(i.userAgent)){var n=this.persistence.remove_event_timer(e);this.persistence.update_search_keyword(i.document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(i.document.referrer);var s={event:e,properties:this._calculate_event_properties(e,t,n)};"$identify"===e&&o.$set&&(s.$set=o.$set),s=i._.copyAndTruncateStrings(s,o._noTruncate?null:this.get_config("properties_string_max_length")),this.get_config("debug")&&i.console.log("PostHog.js send",s);var p=JSON.stringify(s),a=this.get_config("api_host")+(o.endpoint||"/e/"),c=o!==j;return!this.get_config("request_batching")||c&&!o._batchKey||o.send_instantly?this.__compress_and_send_json_request(a,p,o):(s.timestamp=new Date,this._requestQueue.enqueue(a,s,o)),this._invokeCaptureHooks(e,s),s}}}),L.prototype._addCaptureHook=function(e){this.__captureHooks.push(e)},L.prototype._invokeCaptureHooks=function(e,t){this.config._onCapture(e,t),i._.each(this.__captureHooks,function(t){return t(e)})},L.prototype._calculate_event_properties=function(e,t,o){var r=t||{};if(r.token=this.get_config("token"),"$snapshot"===e){var n=this.persistence.properties();return r.distinct_id=n.distinct_id,r}if(!i._.isUndefined(o)){var s=(new Date).getTime()-o;r.$duration=parseFloat((s/1e3).toFixed(3))}if(this._sessionIdManager){var p=this._sessionIdManager.getSessionAndWindowId(),a=p.sessionId,c=p.windowId;r.$session_id=a,r.$window_id=c}r=i._.extend({},i._.info.properties(),this.persistence.properties(),r);var _=this.get_config("property_blacklist");i._.isArray(_)?i._.each(_,function(e){delete r[e]}):i.console.error("Invalid value for property_blacklist config: "+_);var u=this.get_config("sanitize_properties");return u&&(r=u(r,e)),r},L.prototype.register=function(e,t){this.persistence.register(e,t)},L.prototype.register_once=function(e,t,o){this.persistence.register_once(e,t,o)},L.prototype.unregister=function(e){this.persistence.unregister(e)},L.prototype._register_single=function(e,t){var o={};o[e]=t,this.register(o)},L.prototype.getFeatureFlag=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.getFeatureFlag(e,t)},L.prototype.isFeatureEnabled=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.isFeatureEnabled(e,t)},L.prototype.reloadFeatureFlags=function(){return this.featureFlags.reloadFeatureFlags()},L.prototype.onFeatureFlags=function(e){this.featureFlags.addFeatureFlagsHandler(e),e(this.featureFlags.getFlags(),this.featureFlags.getFlagVariants())},L.prototype.identify=function(e,t,o){if(e){this._captureMetrics.incr("identify");var r=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var n=r;this.register_once({$had_persisted_distinct_id:!0,$device_id:n},"")}e!==r&&e!==this.get_property(a.ALIAS_ID_KEY)&&(this.unregister(a.ALIAS_ID_KEY),this.register({distinct_id:e})),e===r||this.get_property("$device_id")&&r!==this.get_property("$device_id")?(t&&this.people.set(t),o&&this.people.set_once(o)):this.capture("$identify",{distinct_id:e,$anon_distinct_id:r},{$set:t||{}},{$set_once:o||{}}),this.reloadFeatureFlags()}else i.console.error("Unique user id has not been set in posthog.identify")},L.prototype.group=function(e,t,o){if(e&&t){this._captureMetrics.incr("group");var r=this.getGroups();this.register({$groups:k(k({},r),{},q({},e,t))}),o&&this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:o})}else i.console.error("posthog.group requires a group type and group key")},L.prototype.reset=function(e){var t=this.get_property("$device_id");this.persistence.clear();var o=i._.UUID();this.register_once({distinct_id:o,$device_id:e?o:t},"")},L.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},L.prototype.getGroups=function(){return this.get_property("$groups")||{}},L.prototype.alias=function(e,t){if(e===this.get_property(a.PEOPLE_DISTINCT_ID_KEY))return i.console.critical("Attempting to create alias for existing People user - aborting."),-2;var o=this;return i._.isUndefined(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(a.ALIAS_ID_KEY,e),this.capture("$create_alias",{alias:e,distinct_id:t},function(){o.identify(e)})):(i.console.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1)},L.prototype.set_config=function(e){var t=k({},this.config);i._.isObject(e)&&(i._.extend(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),g.localStore.is_supported()&&"true"===g.localStore.get("ph_debug")&&(this.config.debug=!0),r.default.DEBUG=r.default.DEBUG||this.get_config("debug"),this.sessionRecording&&void 0!==e.disable_session_recording&&t.disable_session_recording!==e.disable_session_recording&&(e.disable_session_recording?this.sessionRecording.stopRecording():this.sessionRecording.startRecordingIfEnabled()))},L.prototype.startSessionRecording=function(){this.set_config({disable_session_recording:!1})},L.prototype.stopSessionRecording=function(){this.set_config({disable_session_recording:!0})},L.prototype.sessionRecordingStarted=function(){return this.sessionRecording.started()},L.prototype.get_config=function(e){return this.config[e]},L.prototype.get_property=function(e){return this.persistence.props[e]},L.prototype.toString=function(){var e=this.get_config("name");return e!==A&&(e=A+"."+e),e},L.prototype._gdpr_init=function(){"localStorage"===this.get_config("opt_out_capturing_persistence_type")&&g.localStore.is_supported()&&(!this.has_opted_in_capturing()&&this.has_opted_in_capturing({persistence_type:"cookie"})&&this.opt_in_capturing({enable_persistence:!1}),!this.has_opted_out_capturing()&&this.has_opted_out_capturing({persistence_type:"cookie"})&&this.opt_out_capturing({clear_persistence:!1}),this.clear_opt_in_out_capturing({persistence_type:"cookie",enable_persistence:!1})),this.has_opted_out_capturing()?this._gdpr_update_persistence({clear_persistence:!0}):this.has_opted_in_capturing()||!this.get_config("opt_out_capturing_by_default")&&!g.cookieStore.get("ph_optout")||(g.cookieStore.remove("ph_optout"),this.opt_out_capturing({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},L.prototype._gdpr_update_persistence=function(e){var t;if(e&&e.clear_persistence)t=!0;else{if(!e||!e.enable_persistence)return;t=!1}this.get_config("disable_persistence")||this.persistence.disabled===t||this.persistence.set_disabled(t)},L.prototype._gdpr_call_func=function(e,t){return t=i._.extend({capture:i._.bind(this.capture,this),persistence_type:this.get_config("opt_out_capturing_persistence_type"),cookie_prefix:this.get_config("opt_out_capturing_cookie_prefix"),cookie_expiration:this.get_config("cookie_expiration"),cross_subdomain_cookie:this.get_config("cross_subdomain_cookie"),secure_cookie:this.get_config("secure_cookie")},t),g.localStore.is_supported()||"localStorage"!==t.persistence_type||(t.persistence_type="cookie"),e(this.get_config("token"),{capture:t.capture,captureEventName:t.capture_event_name,captureProperties:t.capture_properties,persistenceType:t.persistence_type,persistencePrefix:t.cookie_prefix,cookieExpiration:t.cookie_expiration,crossSubdomainCookie:t.cross_subdomain_cookie,secureCookie:t.secure_cookie})},L.prototype.opt_in_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.optIn,e),this._gdpr_update_persistence(e)},L.prototype.opt_out_capturing=function(e){e=i._.extend({clear_persistence:!0},e),this._gdpr_call_func(d.optOut,e),this._gdpr_update_persistence(e)},L.prototype.has_opted_in_capturing=function(e){return this._gdpr_call_func(d.hasOptedIn,e)},L.prototype.has_opted_out_capturing=function(e){return this._gdpr_call_func(d.hasOptedOut,e)},L.prototype.clear_opt_in_out_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.clearOptInOut,e),this._gdpr_update_persistence(e)},L.prototype.sentry_integration=function(e,t,o,r){this.name="posthog-js",this.setupOnce=function(i){i(function(i){if("error"!==i.level||!e.__loaded)return i;i.tags||(i.tags={}),i.tags["PostHog URL"]=e.config.api_host+"/person/"+e.get_distinct_id();var n={$sentry_event_id:i.event_id,$sentry_exception:i.exception};return t&&o&&(n.$sentry_url=(r||"https://sentry.io/organizations/")+t+"/issues/?project="+o+"&query="+i.event_id),e.capture("$exception",n),i})}},L.prototype.debug=function(e){!1===e?(i.window.console.log("You've disabled debug mode."),localStorage&&localStorage.setItem("ph_debug",void 0),this.set_config({debug:!1})):(i.window.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),localStorage&&localStorage.setItem("ph_debug","true"),this.set_config({debug:!0}))},L.prototype.decodeLZ64=o.LZString.decompressFromBase64,L.prototype.init=L.prototype.init,L.prototype.reset=L.prototype.reset,L.prototype.capture=L.prototype.capture,L.prototype.register=L.prototype.register,L.prototype.register_once=L.prototype.register_once,L.prototype.unregister=L.prototype.unregister,L.prototype.identify=L.prototype.identify,L.prototype.group=L.prototype.group,L.prototype.alias=L.prototype.alias,L.prototype.set_config=L.prototype.set_config,L.prototype.get_config=L.prototype.get_config,L.prototype.get_property=L.prototype.get_property,L.prototype.get_distinct_id=L.prototype.get_distinct_id,L.prototype.toString=L.prototype.toString,L.prototype.opt_out_captureing=L.prototype.opt_out_captureing,L.prototype.opt_in_captureing=L.prototype.opt_in_captureing,L.prototype.has_opted_out_captureing=L.prototype.has_opted_out_captureing,L.prototype.has_opted_in_captureing=L.prototype.has_opted_in_captureing,L.prototype.clear_opt_in_out_captureing=L.prototype.clear_opt_in_out_captureing,L.prototype.opt_out_capturing=L.prototype.opt_out_capturing,L.prototype.opt_in_capturing=L.prototype.opt_in_capturing,L.prototype.has_opted_out_capturing=L.prototype.has_opted_out_capturing,L.prototype.has_opted_in_capturing=L.prototype.has_opted_in_capturing,L.prototype.clear_opt_in_out_capturing=L.prototype.clear_opt_in_out_capturing,L.prototype.getFeatureFlag=L.prototype.getFeatureFlag,L.prototype.isFeatureEnabled=L.prototype.isFeatureEnabled,L.prototype.reloadFeatureFlags=L.prototype.reloadFeatureFlags,L.prototype.onFeatureFlags=L.prototype.onFeatureFlags,L.prototype.decodeLZ64=L.prototype.decodeLZ64,L.prototype.SentryIntegration=L.prototype.sentry_integration,L.prototype.debug=L.prototype.debug,L.prototype.LIB_VERSION=r.default.LIB_VERSION,L.prototype.startSessionRecording=L.prototype.startSessionRecording,L.prototype.stopSessionRecording=L.prototype.stopSessionRecording,L.prototype.sessionRecordingStarted=L.prototype.sessionRecordingStarted,a.PostHogPersistence.prototype.properties=a.PostHogPersistence.prototype.properties,a.PostHogPersistence.prototype.update_search_keyword=a.PostHogPersistence.prototype.update_search_keyword,a.PostHogPersistence.prototype.update_referrer_info=a.PostHogPersistence.prototype.update_referrer_info,a.PostHogPersistence.prototype.get_cross_subdomain=a.PostHogPersistence.prototype.get_cross_subdomain,a.PostHogPersistence.prototype.clear=a.PostHogPersistence.prototype.clear,i._.safewrap_class(L,["identify"]);var U={},T=function(){i._.each(U,function(e,o){o!==A&&(t[o]=e)}),t._=i._},B=function(){t.init=function(o,r,n){if(n)return t[n]||(t[n]=U[n]=C(o,r,n),t[n]._loaded()),t[n];var s=t;U[A]?s=U[A]:o&&((s=C(o,r,A))._loaded(),U[A]=s),t=s,e===$&&(i.window[A]=t),T()}},Q=function(){function e(){e.done||(e.done=!0,M=!1,i._.each(U,function(e){e._dom_loaded()}))}if(i.document.addEventListener)"complete"===i.document.readyState?e():i.document.addEventListener("DOMContentLoaded",e,!1);else if(i.document.attachEvent){i.document.attachEvent("onreadystatechange",e);var t=!1;try{t=null===i.window.frameElement}catch(o){}i.document.documentElement.doScroll&&t&&function t(){try{i.document.documentElement.doScroll("left")}catch(o){return void setTimeout(t,1)}e()}()}i._.register_event(i.window,"load",e,!0)};function N(){e=$,i._.isUndefined(i.window.posthog)&&(i.window.posthog=[]),(t=i.window.posthog).__loaded||t.config&&t.persistence?i.console.error("PostHog library has already been downloaded at least once."):(i._.each(t._i,function(e){e&&i._.isArray(e)&&(U[e[e.length-1]]=C.apply(this,e))}),B(),t.init(),i._.each(U,function(e){e._loaded()}),Q())}function Y(){return e=I,t=new L,B(),t.init(),Q(),t}
|
|
52
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.init_from_snippet=N,exports.init_as_module=Y,exports.PostHogLib=void 0;var e,t,o=require("./lz-string"),r=v(require("./config")),i=require("./utils"),s=require("./autocapture"),n=require("./posthog-people"),p=require("./posthog-featureflags"),a=require("./posthog-persistence"),c=require("./extensions/sessionrecording"),_=require("./decide"),u=require("./extensions/toolbar"),d=require("./gdpr-utils"),g=require("./storage"),l=require("./request-queue"),h=require("./capture-metrics"),f=require("./compression"),y=require("./send-request"),b=require("./retry-queue"),m=require("./sessionid");function v(e){return e&&e.__esModule?e:{default:e}}function w(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,r)}return o}function k(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?w(Object(o),!0).forEach(function(t){q(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):w(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function q(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function P(e,t){return E(e)||O(e,t)||F(e,t)||S()}function S(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function F(e,t){if(e){if("string"==typeof e)return x(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?x(e,t):void 0}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}function O(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],r=!0,i=!1,s=void 0;try{for(var n,p=e[Symbol.iterator]();!(r=(n=p.next()).done)&&(o.push(n.value),!t||o.length!==t);r=!0);}catch(a){i=!0,s=a}finally{try{r||null==p.return||p.return()}finally{if(i)throw s}}return o}}function E(e){if(Array.isArray(e))return e}var $=0,I=1,H=function(){},j={},A="posthog",R=i.window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,M=!R&&-1===i.userAgent.indexOf("MSIE")&&-1===i.userAgent.indexOf("Mozilla"),D=function(){return{api_host:"https://app.posthog.com",api_method:"POST",api_transport:"XHR",autocapture:!0,rageclick:!1,cross_subdomain_cookie:-1===i.document.location.hostname.indexOf("herokuapp.com"),persistence:"cookie",persistence_name:"",cookie_name:"",loaded:function(){},store_google:!0,save_referrer:!0,test:!1,verbose:!1,img:!1,capture_pageview:!0,debug:!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_cookie:!1,secure_cookie:"https:"===i.window.location.protocol,ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_capturing_persistence_type:"localStorage",opt_out_capturing_cookie_prefix:null,property_blacklist:[],sanitize_properties:null,xhr_headers:{},inapp_protocol:"//",inapp_link_new_window:!1,request_batching:!0,properties_string_max_length:65535,session_recording:{blockClass:"ph-no-capture",blockSelector:null,ignoreClass:"ph-ignore-input",maskAllInputs:!1,maskInputOptions:{},maskInputFn:null,slimDOMOptions:{},collectFonts:!1},mask_all_element_attributes:!1,mask_all_text:!1,advanced_disable_decide:!1,advanced_disable_toolbar_metrics:!1,on_xhr_error:function(e){var t="Bad HTTP status: "+e.status+" "+e.statusText;i.console.error(t)},_onCapture:function(){},_capture_metrics:!1}},L=function(){};exports.PostHogLib=L;var C=function(o,a,_){var d,g=_===A?t:t[_];if(g&&e===$)d=g;else{if(g&&!i._.isArray(g))return void i.console.error("You have already initialized "+_);d=new L}if(d._init(o,a,_),d.people=new n.PostHogPeople,d.people._init(d),d.featureFlags=new p.PostHogFeatureFlags(d),d.feature_flags=d.featureFlags,d.toolbar=new u.Toolbar(d),d.toolbar.maybeLoadEditor(),d.sessionRecording=new c.SessionRecording(d),d.sessionRecording.startRecordingIfEnabled(),d.__autocapture_enabled=d.get_config("autocapture"),d.get_config("autocapture")){s.autocapture.enabledForProject(d.get_config("token"),100,100)?s.autocapture.isBrowserSupported()?s.autocapture.init(d):(d.__autocapture_enabled=!1,i.console.log("Disabling Automatic Event Collection because this browser is not supported")):(d.__autocapture_enabled=!1,i.console.log("Not in active bucket: disabling Automatic Event Collection."))}return r.default.DEBUG=r.default.DEBUG||d.get_config("debug"),!i._.isUndefined(g)&&i._.isArray(g)&&(d._execute_array.call(d.people,g.people),d._execute_array(g)),d};L.prototype.init=function(e,o,r){if(i._.isUndefined(r))i.console.error("You must name your new library: init(token, config, name)");else{if(r!==A){var s=C(e,o,r);return t[r]=s,s._loaded(),s}i.console.error("You must initialize the main posthog object right after you include the PostHog js snippet")}},L.prototype._init=function(e,t,o){this.__loaded=!0,this.config={},this._triggered_notifs=[],this.compression={},this.set_config(i._.extend({},D(),t,{name:o,token:e,callback_fn:(o===A?o:A+"."+o)+"._jsc"})),this._jsc=function(){},this._captureMetrics=new h.CaptureMetrics(this.get_config("_capture_metrics"),i._.bind(this.capture,this)),this._requestQueue=new l.RequestQueue(this._captureMetrics,i._.bind(this._handle_queued_event,this)),this._retryQueue=new b.RetryQueue(this._captureMetrics,this.get_config("on_xhr_error")),this.__captureHooks=[],this.__request_queue=[],this.persistence=new a.PostHogPersistence(this.config),this.sessionManager=new m.SessionIdManager(this.config,this.persistence),this._gdpr_init();var r=i._.UUID();this.get_distinct_id()||this.register_once({distinct_id:r,$device_id:r},""),i.window.addEventListener&&i.window.addEventListener("unload",this._handle_unload.bind(this))},L.prototype._loaded=function(){this.featureFlags.setReloadingPaused(!0);try{this.get_config("loaded")(this)}catch(e){i.console.error("`loaded` function failed",e)}this._start_queue_if_opted_in(),this.get_config("capture_pageview")&&this.capture("$pageview",{},{send_instantly:!0}),this.get_config("advanced_disable_decide")||new _.Decide(this).call(),this.featureFlags.resetRequestQueue(),this.featureFlags.setReloadingPaused(!1)},L.prototype._start_queue_if_opted_in=function(){this.has_opted_out_capturing()||this.get_config("request_batching")&&this._requestQueue.poll()},L.prototype._dom_loaded=function(){this.has_opted_out_capturing()||i._.each(this.__request_queue,function(e){this._send_request.apply(this,e)},this),delete this.__request_queue,this._start_queue_if_opted_in()},L.prototype._prepare_callback=function(e,t){if(i._.isUndefined(e))return null;if(R){return function(o){e(o,t)}}var o=this._jsc,r=""+Math.floor(1e8*Math.random()),s=this.get_config("callback_fn")+"["+r+"]";return o[r]=function(i){delete o[r],e(i,t)},s},L.prototype._handle_unload=function(){this.get_config("request_batching")?(this.get_config("capture_pageview")&&this.capture("$pageleave"),this.get_config("_capture_metrics")&&(this._requestQueue.updateUnloadMetrics(),this.capture("$capture_metrics",this._captureMetrics.metrics),this._captureMetrics.captureInProgressRequests()),this._requestQueue.unload(),this._retryQueue.unload()):this.get_config("capture_pageview")&&this.capture("$pageleave",null,{transport:"sendbeacon"})},L.prototype._handle_queued_event=function(e,t,o){var r=JSON.stringify(t);this.__compress_and_send_json_request(e,r,o||j,H)},L.prototype.__compress_and_send_json_request=function(e,t,o,r){var i=P((0,f.compressData)((0,f.decideCompression)(this.compression),t,o),2),s=i[0],n=i[1];this._send_request(e,s,n,r)},L.prototype._send_request=function(e,t,o,r){if(M)this.__request_queue.push(arguments);else{var s={method:this.get_config("api_method"),transport:this.get_config("api_transport"),verbose:this.get_config("verbose")};o=i._.extend(s,o||{}),R||(o.method="GET");var n=i.window.navigator.sendBeacon&&"sendbeacon"===o.transport.toLowerCase(),p=o.urlQueryArgs||{};p.ip=this.get_config("ip")?1:0,p._=(new Date).getTime().toString();var a=e.indexOf("?")>-1?"&":"?";if(e+=a+i._.HTTPBuildQuery(p),i._.isObject(t)&&this.get_config("img")){var c=i.document.createElement("img");c.src=e,i.document.body.appendChild(c)}else if(n)try{i.window.navigator.sendBeacon(e,(0,y.encodePostData)(t,k(k({},o),{},{sendBeacon:!0})))}catch(d){this.get_config("debug")&&i.console.error(d)}else if(R)try{(0,y.xhr)({url:e,data:t,headers:this.get_config("xhr_headers"),options:o,captureMetrics:this._captureMetrics,callback:r,retriesPerformedSoFar:0,retryQueue:this._retryQueue,onXHRError:this.get_config("on_xhr_error")})}catch(d){i.console.error(d)}else{var _=i.document.createElement("script");_.type="text/javascript",_.async=!0,_.defer=!0,_.src=e;var u=i.document.getElementsByTagName("script")[0];u.parentNode.insertBefore(_,u)}}},L.prototype._execute_array=function(e){var t,o=[],r=[],s=[];i._.each(e,function(e){e&&(t=e[0],i._.isArray(t)?s.push(e):"function"==typeof e?e.call(this):i._.isArray(e)&&"alias"===t?o.push(e):i._.isArray(e)&&-1!==t.indexOf("capture")&&"function"==typeof this[t]?s.push(e):r.push(e))},this);var n=function(e,t){i._.each(e,function(e){if(i._.isArray(e[0])){var o=t;i._.each(e,function(e){o=o[e[0]].apply(o,e.slice(1))})}else this[e[0]].apply(this,e.slice(1))},t)};n(o,this),n(r,this),n(s,this)},L.prototype.push=function(e){this._execute_array([e])},L.prototype.capture=(0,d.addOptOutCheckPostHogLib)(function(e,t,o){if(this.__loaded){this._captureMetrics.incr("capture"),"$snapshot"===e&&this._captureMetrics.incr("snapshot");var r=(o=o||j).transport;if(r&&(o.transport=r),i._.isUndefined(e)||"string"!=typeof e)i.console.error("No event name provided to posthog.capture");else if(!i._.isBlockedUA(i.userAgent)){var s=this.persistence.remove_event_timer(e);this.persistence.update_search_keyword(i.document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(i.document.referrer);var n={event:e,properties:this._calculate_event_properties(e,t,s)};"$identify"===e&&o.$set&&(n.$set=o.$set),n=i._.copyAndTruncateStrings(n,o._noTruncate?null:this.get_config("properties_string_max_length")),this.get_config("debug")&&i.console.log("PostHog.js send",n);var p=JSON.stringify(n),a=this.get_config("api_host")+(o.endpoint||"/e/"),c=o!==j;return!this.get_config("request_batching")||c&&!o._batchKey||o.send_instantly?this.__compress_and_send_json_request(a,p,o):(n.timestamp=new Date,this._requestQueue.enqueue(a,n,o)),this._invokeCaptureHooks(e,n),n}}}),L.prototype._addCaptureHook=function(e){this.__captureHooks.push(e)},L.prototype._invokeCaptureHooks=function(e,t){this.config._onCapture(e,t),i._.each(this.__captureHooks,function(t){return t(e)})},L.prototype._calculate_event_properties=function(e,t,o){var r=t||{};if(r.token=this.get_config("token"),"$snapshot"===e){var s=this.persistence.properties();return r.distinct_id=s.distinct_id,r}if(!i._.isUndefined(o)){var n=(new Date).getTime()-o;r.$duration=parseFloat((n/1e3).toFixed(3))}if(this.sessionManager){var p=this.sessionManager.getSessionAndWindowId(),a=p.sessionId,c=p.windowId;r.$session_id=a,r.$window_id=c}r=i._.extend({},i._.info.properties(),this.persistence.properties(),r);var _=this.get_config("property_blacklist");i._.isArray(_)?i._.each(_,function(e){delete r[e]}):i.console.error("Invalid value for property_blacklist config: "+_);var u=this.get_config("sanitize_properties");return u&&(r=u(r,e)),r},L.prototype.register=function(e,t){this.persistence.register(e,t)},L.prototype.register_once=function(e,t,o){this.persistence.register_once(e,t,o)},L.prototype.unregister=function(e){this.persistence.unregister(e)},L.prototype._register_single=function(e,t){var o={};o[e]=t,this.register(o)},L.prototype.getFeatureFlag=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.getFeatureFlag(e,t)},L.prototype.isFeatureEnabled=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.isFeatureEnabled(e,t)},L.prototype.reloadFeatureFlags=function(){return this.featureFlags.reloadFeatureFlags()},L.prototype.onFeatureFlags=function(e){this.featureFlags.addFeatureFlagsHandler(e),e(this.featureFlags.getFlags(),this.featureFlags.getFlagVariants())},L.prototype.identify=function(e,t,o){if(e){this._captureMetrics.incr("identify");var r=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var s=r;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},"")}e!==r&&e!==this.get_property(a.ALIAS_ID_KEY)&&(this.unregister(a.ALIAS_ID_KEY),this.register({distinct_id:e})),e===r||this.get_property("$device_id")&&r!==this.get_property("$device_id")?(t&&this.people.set(t),o&&this.people.set_once(o)):this.capture("$identify",{distinct_id:e,$anon_distinct_id:r},{$set:t||{}},{$set_once:o||{}}),e!==r&&this.reloadFeatureFlags()}else i.console.error("Unique user id has not been set in posthog.identify")},L.prototype.group=function(e,t,o){if(e&&t){this._captureMetrics.incr("group");var r=this.getGroups();this.register({$groups:k(k({},r),{},q({},e,t))}),o&&this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:o}),r[e]!==t&&this.reloadFeatureFlags()}else i.console.error("posthog.group requires a group type and group key")},L.prototype.reset=function(e){var t=this.get_property("$device_id");this.persistence.clear();var o=i._.UUID();this.register_once({distinct_id:o,$device_id:e?o:t},"")},L.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},L.prototype.getGroups=function(){return this.get_property("$groups")||{}},L.prototype.alias=function(e,t){if(e===this.get_property(a.PEOPLE_DISTINCT_ID_KEY))return i.console.critical("Attempting to create alias for existing People user - aborting."),-2;var o=this;return i._.isUndefined(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(a.ALIAS_ID_KEY,e),this.capture("$create_alias",{alias:e,distinct_id:t},function(){o.identify(e)})):(i.console.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1)},L.prototype.set_config=function(e){var t=k({},this.config);i._.isObject(e)&&(i._.extend(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),g.localStore.is_supported()&&"true"===g.localStore.get("ph_debug")&&(this.config.debug=!0),r.default.DEBUG=r.default.DEBUG||this.get_config("debug"),this.sessionRecording&&void 0!==e.disable_session_recording&&t.disable_session_recording!==e.disable_session_recording&&(e.disable_session_recording?this.sessionRecording.stopRecording():this.sessionRecording.startRecordingIfEnabled()))},L.prototype.startSessionRecording=function(){this.set_config({disable_session_recording:!1})},L.prototype.stopSessionRecording=function(){this.set_config({disable_session_recording:!0})},L.prototype.sessionRecordingStarted=function(){return this.sessionRecording.started()},L.prototype.get_config=function(e){return this.config[e]},L.prototype.get_property=function(e){return this.persistence.props[e]},L.prototype.toString=function(){var e=this.get_config("name");return e!==A&&(e=A+"."+e),e},L.prototype._gdpr_init=function(){"localStorage"===this.get_config("opt_out_capturing_persistence_type")&&g.localStore.is_supported()&&(!this.has_opted_in_capturing()&&this.has_opted_in_capturing({persistence_type:"cookie"})&&this.opt_in_capturing({enable_persistence:!1}),!this.has_opted_out_capturing()&&this.has_opted_out_capturing({persistence_type:"cookie"})&&this.opt_out_capturing({clear_persistence:!1}),this.clear_opt_in_out_capturing({persistence_type:"cookie",enable_persistence:!1})),this.has_opted_out_capturing()?this._gdpr_update_persistence({clear_persistence:!0}):this.has_opted_in_capturing()||!this.get_config("opt_out_capturing_by_default")&&!g.cookieStore.get("ph_optout")||(g.cookieStore.remove("ph_optout"),this.opt_out_capturing({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},L.prototype._gdpr_update_persistence=function(e){var t;if(e&&e.clear_persistence)t=!0;else{if(!e||!e.enable_persistence)return;t=!1}this.get_config("disable_persistence")||this.persistence.disabled===t||this.persistence.set_disabled(t)},L.prototype._gdpr_call_func=function(e,t){return t=i._.extend({capture:i._.bind(this.capture,this),persistence_type:this.get_config("opt_out_capturing_persistence_type"),cookie_prefix:this.get_config("opt_out_capturing_cookie_prefix"),cookie_expiration:this.get_config("cookie_expiration"),cross_subdomain_cookie:this.get_config("cross_subdomain_cookie"),secure_cookie:this.get_config("secure_cookie")},t),g.localStore.is_supported()||"localStorage"!==t.persistence_type||(t.persistence_type="cookie"),e(this.get_config("token"),{capture:t.capture,captureEventName:t.capture_event_name,captureProperties:t.capture_properties,persistenceType:t.persistence_type,persistencePrefix:t.cookie_prefix,cookieExpiration:t.cookie_expiration,crossSubdomainCookie:t.cross_subdomain_cookie,secureCookie:t.secure_cookie})},L.prototype.opt_in_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.optIn,e),this._gdpr_update_persistence(e)},L.prototype.opt_out_capturing=function(e){e=i._.extend({clear_persistence:!0},e),this._gdpr_call_func(d.optOut,e),this._gdpr_update_persistence(e)},L.prototype.has_opted_in_capturing=function(e){return this._gdpr_call_func(d.hasOptedIn,e)},L.prototype.has_opted_out_capturing=function(e){return this._gdpr_call_func(d.hasOptedOut,e)},L.prototype.clear_opt_in_out_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.clearOptInOut,e),this._gdpr_update_persistence(e)},L.prototype.sentry_integration=function(e,t,o,r){this.name="posthog-js",this.setupOnce=function(i){i(function(i){if("error"!==i.level||!e.__loaded)return i;i.tags||(i.tags={}),i.tags["PostHog URL"]=e.config.api_host+"/person/"+e.get_distinct_id();var s={$sentry_event_id:i.event_id,$sentry_exception:i.exception};return t&&o&&(s.$sentry_url=(r||"https://sentry.io/organizations/")+t+"/issues/?project="+o+"&query="+i.event_id),e.capture("$exception",s),i})}},L.prototype.debug=function(e){!1===e?(i.window.console.log("You've disabled debug mode."),localStorage&&localStorage.setItem("ph_debug",void 0),this.set_config({debug:!1})):(i.window.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),localStorage&&localStorage.setItem("ph_debug","true"),this.set_config({debug:!0}))},L.prototype.decodeLZ64=o.LZString.decompressFromBase64,L.prototype.init=L.prototype.init,L.prototype.reset=L.prototype.reset,L.prototype.capture=L.prototype.capture,L.prototype.register=L.prototype.register,L.prototype.register_once=L.prototype.register_once,L.prototype.unregister=L.prototype.unregister,L.prototype.identify=L.prototype.identify,L.prototype.getGroups=L.prototype.getGroups,L.prototype.group=L.prototype.group,L.prototype.alias=L.prototype.alias,L.prototype.set_config=L.prototype.set_config,L.prototype.get_config=L.prototype.get_config,L.prototype.get_property=L.prototype.get_property,L.prototype.get_distinct_id=L.prototype.get_distinct_id,L.prototype.toString=L.prototype.toString,L.prototype.opt_out_captureing=L.prototype.opt_out_captureing,L.prototype.opt_in_captureing=L.prototype.opt_in_captureing,L.prototype.has_opted_out_captureing=L.prototype.has_opted_out_captureing,L.prototype.has_opted_in_captureing=L.prototype.has_opted_in_captureing,L.prototype.clear_opt_in_out_captureing=L.prototype.clear_opt_in_out_captureing,L.prototype.opt_out_capturing=L.prototype.opt_out_capturing,L.prototype.opt_in_capturing=L.prototype.opt_in_capturing,L.prototype.has_opted_out_capturing=L.prototype.has_opted_out_capturing,L.prototype.has_opted_in_capturing=L.prototype.has_opted_in_capturing,L.prototype.clear_opt_in_out_capturing=L.prototype.clear_opt_in_out_capturing,L.prototype.getFeatureFlag=L.prototype.getFeatureFlag,L.prototype.isFeatureEnabled=L.prototype.isFeatureEnabled,L.prototype.reloadFeatureFlags=L.prototype.reloadFeatureFlags,L.prototype.onFeatureFlags=L.prototype.onFeatureFlags,L.prototype.decodeLZ64=L.prototype.decodeLZ64,L.prototype.SentryIntegration=L.prototype.sentry_integration,L.prototype.debug=L.prototype.debug,L.prototype.LIB_VERSION=r.default.LIB_VERSION,L.prototype.startSessionRecording=L.prototype.startSessionRecording,L.prototype.stopSessionRecording=L.prototype.stopSessionRecording,L.prototype.sessionRecordingStarted=L.prototype.sessionRecordingStarted,a.PostHogPersistence.prototype.properties=a.PostHogPersistence.prototype.properties,a.PostHogPersistence.prototype.update_search_keyword=a.PostHogPersistence.prototype.update_search_keyword,a.PostHogPersistence.prototype.update_referrer_info=a.PostHogPersistence.prototype.update_referrer_info,a.PostHogPersistence.prototype.get_cross_subdomain=a.PostHogPersistence.prototype.get_cross_subdomain,a.PostHogPersistence.prototype.clear=a.PostHogPersistence.prototype.clear,i._.safewrap_class(L,["identify"]);var U={},T=function(){i._.each(U,function(e,o){o!==A&&(t[o]=e)}),t._=i._},B=function(){t.init=function(o,r,s){if(s)return t[s]||(t[s]=U[s]=C(o,r,s),t[s]._loaded()),t[s];var n=t;U[A]?n=U[A]:o&&((n=C(o,r,A))._loaded(),U[A]=n),t=n,e===I&&(i.window[A]=t),T()}},Q=function(){function e(){e.done||(e.done=!0,M=!1,i._.each(U,function(e){e._dom_loaded()}))}if(i.document.addEventListener)"complete"===i.document.readyState?e():i.document.addEventListener("DOMContentLoaded",e,!1);else if(i.document.attachEvent){i.document.attachEvent("onreadystatechange",e);var t=!1;try{t=null===i.window.frameElement}catch(o){}i.document.documentElement.doScroll&&t&&function t(){try{i.document.documentElement.doScroll("left")}catch(o){return void setTimeout(t,1)}e()}()}i._.register_event(i.window,"load",e,!0)};function N(){e=I,i._.isUndefined(i.window.posthog)&&(i.window.posthog=[]),(t=i.window.posthog).__loaded||t.config&&t.persistence?i.console.error("PostHog library has already been downloaded at least once."):(i._.each(t._i,function(e){e&&i._.isArray(e)&&(U[e[e.length-1]]=C.apply(this,e))}),B(),t.init(),i._.each(U,function(e){e._loaded()}),Q())}function Y(){return e=$,t=new L,B(),t.init(),Q(),t}
|
|
53
53
|
},{"./lz-string":"zdbk","./config":"itQ5","./utils":"FOZT","./autocapture":"gR3r","./posthog-people":"ecEG","./posthog-featureflags":"aVqC","./posthog-persistence":"MAdm","./extensions/sessionrecording":"Z2N4","./decide":"auG7","./extensions/toolbar":"ZEpJ","./gdpr-utils":"rxSh","./storage":"KZ7Y","./request-queue":"Je4H","./capture-metrics":"TeHW","./compression":"Ie9M","./send-request":"tOu2","./retry-queue":"ennf","./sessionid":"tci7"}],"e2xX":[function(require,module,exports) {
|
|
54
54
|
"use strict";var r=require("./posthog-core");(0,r.init_from_snippet)();
|
|
55
55
|
},{"./posthog-core":"ok3T"}]},{},["e2xX"], null)
|
package/dist/es.js
CHANGED
|
@@ -863,7 +863,7 @@ var LZString = {
|
|
|
863
863
|
}
|
|
864
864
|
};
|
|
865
865
|
|
|
866
|
-
var version = "1.16.
|
|
866
|
+
var version = "1.16.8";
|
|
867
867
|
|
|
868
868
|
var Config$1 = {
|
|
869
869
|
DEBUG: false,
|
|
@@ -3106,6 +3106,8 @@ var PostHogFeatureFlags = /*#__PURE__*/function () {
|
|
|
3106
3106
|
this._override_warning = false;
|
|
3107
3107
|
this.flagCallReported = {};
|
|
3108
3108
|
this.featureFlagEventHandlers = [];
|
|
3109
|
+
this.reloadFeatureFlagsQueued = false;
|
|
3110
|
+
this.reloadFeatureFlagsInAction = false;
|
|
3109
3111
|
}
|
|
3110
3112
|
|
|
3111
3113
|
_createClass(PostHogFeatureFlags, [{
|
|
@@ -3146,15 +3148,61 @@ var PostHogFeatureFlags = /*#__PURE__*/function () {
|
|
|
3146
3148
|
|
|
3147
3149
|
return finalFlags;
|
|
3148
3150
|
}
|
|
3151
|
+
/**
|
|
3152
|
+
* Reloads feature flags asynchronously.
|
|
3153
|
+
*
|
|
3154
|
+
* Constraints:
|
|
3155
|
+
*
|
|
3156
|
+
* 1. Avoid parallel requests
|
|
3157
|
+
* 2. Delay a few milliseconds after each reloadFeatureFlags call to batch subsequent changes together
|
|
3158
|
+
* 3. Don't call this during initial load (as /decide will be called instead), see posthog-core.js
|
|
3159
|
+
*/
|
|
3160
|
+
|
|
3149
3161
|
}, {
|
|
3150
3162
|
key: "reloadFeatureFlags",
|
|
3151
3163
|
value: function reloadFeatureFlags() {
|
|
3164
|
+
if (!this.reloadFeatureFlagsQueued) {
|
|
3165
|
+
this.reloadFeatureFlagsQueued = true;
|
|
3166
|
+
|
|
3167
|
+
this._startReloadTimer();
|
|
3168
|
+
}
|
|
3169
|
+
}
|
|
3170
|
+
}, {
|
|
3171
|
+
key: "setReloadingPaused",
|
|
3172
|
+
value: function setReloadingPaused(isPaused) {
|
|
3173
|
+
this.reloadFeatureFlagsInAction = isPaused;
|
|
3174
|
+
}
|
|
3175
|
+
}, {
|
|
3176
|
+
key: "resetRequestQueue",
|
|
3177
|
+
value: function resetRequestQueue() {
|
|
3178
|
+
this.reloadFeatureFlagsQueued = false;
|
|
3179
|
+
}
|
|
3180
|
+
}, {
|
|
3181
|
+
key: "_startReloadTimer",
|
|
3182
|
+
value: function _startReloadTimer() {
|
|
3152
3183
|
var _this = this;
|
|
3153
3184
|
|
|
3185
|
+
if (this.reloadFeatureFlagsQueued && !this.reloadFeatureFlagsInAction) {
|
|
3186
|
+
setTimeout(function () {
|
|
3187
|
+
if (!_this.reloadFeatureFlagsInAction && _this.reloadFeatureFlagsQueued) {
|
|
3188
|
+
_this.reloadFeatureFlagsQueued = false;
|
|
3189
|
+
|
|
3190
|
+
_this._reloadFeatureFlagsRequest();
|
|
3191
|
+
}
|
|
3192
|
+
}, 5);
|
|
3193
|
+
}
|
|
3194
|
+
}
|
|
3195
|
+
}, {
|
|
3196
|
+
key: "_reloadFeatureFlagsRequest",
|
|
3197
|
+
value: function _reloadFeatureFlagsRequest() {
|
|
3198
|
+
var _this2 = this;
|
|
3199
|
+
|
|
3200
|
+
this.setReloadingPaused(true);
|
|
3154
3201
|
var token = this.instance.get_config('token');
|
|
3155
3202
|
var json_data = JSON.stringify({
|
|
3156
3203
|
token: token,
|
|
3157
|
-
distinct_id: this.instance.get_distinct_id()
|
|
3204
|
+
distinct_id: this.instance.get_distinct_id(),
|
|
3205
|
+
groups: this.instance.getGroups()
|
|
3158
3206
|
});
|
|
3159
3207
|
|
|
3160
3208
|
var encoded_data = _.base64Encode(json_data);
|
|
@@ -3164,9 +3212,14 @@ var PostHogFeatureFlags = /*#__PURE__*/function () {
|
|
|
3164
3212
|
}, {
|
|
3165
3213
|
method: 'POST'
|
|
3166
3214
|
}, this.instance._prepare_callback(function (response) {
|
|
3167
|
-
parseFeatureFlagDecideResponse(response,
|
|
3215
|
+
parseFeatureFlagDecideResponse(response, _this2.instance.persistence);
|
|
3216
|
+
|
|
3217
|
+
_this2.receivedFeatureFlags(); // :TRICKY: Reload - start another request if queued!
|
|
3168
3218
|
|
|
3169
|
-
|
|
3219
|
+
|
|
3220
|
+
_this2.setReloadingPaused(false);
|
|
3221
|
+
|
|
3222
|
+
_this2._startReloadTimer();
|
|
3170
3223
|
}));
|
|
3171
3224
|
}
|
|
3172
3225
|
/*
|
|
@@ -3721,9 +3774,9 @@ var SessionRecording = /*#__PURE__*/function () {
|
|
|
3721
3774
|
}, {
|
|
3722
3775
|
key: "_updateWindowAndSessionIds",
|
|
3723
3776
|
value: function _updateWindowAndSessionIds(event) {
|
|
3724
|
-
var _this$instance$
|
|
3725
|
-
windowId = _this$instance$
|
|
3726
|
-
sessionId = _this$instance$
|
|
3777
|
+
var _this$instance$sessio = this.instance.sessionManager.getSessionAndWindowId(event.timestamp || new Date().getTime(), event),
|
|
3778
|
+
windowId = _this$instance$sessio.windowId,
|
|
3779
|
+
sessionId = _this$instance$sessio.sessionId; // Event types FullSnapshot and Meta mean we're already in the process of sending a full snapshot
|
|
3727
3780
|
|
|
3728
3781
|
|
|
3729
3782
|
if ((this.windowId !== windowId || this.sessionId !== sessionId) && [FULL_SNAPSHOT_EVENT_TYPE, META_EVENT_TYPE].indexOf(event.type) === -1) {
|
|
@@ -3835,7 +3888,8 @@ var Decide = /*#__PURE__*/function () {
|
|
|
3835
3888
|
*/
|
|
3836
3889
|
var json_data = JSON.stringify({
|
|
3837
3890
|
token: this.instance.get_config('token'),
|
|
3838
|
-
distinct_id: this.instance.get_distinct_id()
|
|
3891
|
+
distinct_id: this.instance.get_distinct_id(),
|
|
3892
|
+
groups: this.instance.getGroups()
|
|
3839
3893
|
});
|
|
3840
3894
|
|
|
3841
3895
|
var encoded_data = _.base64Encode(json_data);
|
|
@@ -5339,9 +5393,16 @@ var RetryQueue = /*#__PURE__*/function (_RequestQueueScaffold) {
|
|
|
5339
5393
|
var url = requestData.url,
|
|
5340
5394
|
data = requestData.data,
|
|
5341
5395
|
options = requestData.options;
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5396
|
+
|
|
5397
|
+
try {
|
|
5398
|
+
window.navigator.sendBeacon(url, encodePostData(data, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
5399
|
+
sendBeacon: true
|
|
5400
|
+
})));
|
|
5401
|
+
} catch (e) {
|
|
5402
|
+
if (this.get_config('debug')) {
|
|
5403
|
+
console.error(e);
|
|
5404
|
+
}
|
|
5405
|
+
}
|
|
5345
5406
|
}
|
|
5346
5407
|
} catch (err) {
|
|
5347
5408
|
_iterator2.e(err);
|
|
@@ -5445,6 +5506,13 @@ var SessionIdManager = /*#__PURE__*/function () {
|
|
|
5445
5506
|
}
|
|
5446
5507
|
|
|
5447
5508
|
return this.persistence['props'][SESSION_ID] || [0, null];
|
|
5509
|
+
} // Resets the session id by setting it to null. On the subsequent call to getSessionAndWindowId,
|
|
5510
|
+
// new ids will be generated.
|
|
5511
|
+
|
|
5512
|
+
}, {
|
|
5513
|
+
key: "resetSessionId",
|
|
5514
|
+
value: function resetSessionId() {
|
|
5515
|
+
this._setSessionId(null, null);
|
|
5448
5516
|
}
|
|
5449
5517
|
}, {
|
|
5450
5518
|
key: "getSessionAndWindowId",
|
|
@@ -5643,12 +5711,6 @@ var create_mplib = function create_mplib(token, config, name) {
|
|
|
5643
5711
|
} else {
|
|
5644
5712
|
autocapture.init(instance);
|
|
5645
5713
|
}
|
|
5646
|
-
}
|
|
5647
|
-
|
|
5648
|
-
if (!instance.get_config('advanced_disable_decide')) {
|
|
5649
|
-
// As a reminder, if the /decide endpoint is disabled, feature flags, toolbar, session recording, autocapture,
|
|
5650
|
-
// and compression will not be available.
|
|
5651
|
-
new Decide(instance).call();
|
|
5652
5714
|
} // if any instance on the page has debug = true, we set the
|
|
5653
5715
|
// global debug to be true
|
|
5654
5716
|
|
|
@@ -5730,7 +5792,7 @@ PostHogLib.prototype._init = function (token, config, name) {
|
|
|
5730
5792
|
this.__captureHooks = [];
|
|
5731
5793
|
this.__request_queue = [];
|
|
5732
5794
|
this['persistence'] = new PostHogPersistence(this['config']);
|
|
5733
|
-
this['
|
|
5795
|
+
this['sessionManager'] = new SessionIdManager(this['config'], this['persistence']);
|
|
5734
5796
|
|
|
5735
5797
|
this._gdpr_init();
|
|
5736
5798
|
|
|
@@ -5752,7 +5814,15 @@ PostHogLib.prototype._init = function (token, config, name) {
|
|
|
5752
5814
|
|
|
5753
5815
|
|
|
5754
5816
|
PostHogLib.prototype._loaded = function () {
|
|
5755
|
-
|
|
5817
|
+
// Pause `reloadFeatureFlags` calls in config.loaded callback.
|
|
5818
|
+
// These feature flags are loaded in the decide call made right afterwards
|
|
5819
|
+
this.featureFlags.setReloadingPaused(true);
|
|
5820
|
+
|
|
5821
|
+
try {
|
|
5822
|
+
this.get_config('loaded')(this);
|
|
5823
|
+
} catch (err) {
|
|
5824
|
+
console$1.error('`loaded` function failed', err);
|
|
5825
|
+
}
|
|
5756
5826
|
|
|
5757
5827
|
this._start_queue_if_opted_in(); // this happens after so a user can call identify in
|
|
5758
5828
|
// the loaded callback
|
|
@@ -5762,7 +5832,17 @@ PostHogLib.prototype._loaded = function () {
|
|
|
5762
5832
|
this.capture('$pageview', {}, {
|
|
5763
5833
|
send_instantly: true
|
|
5764
5834
|
});
|
|
5835
|
+
} // Call decide to get what features are enabled and other settings.
|
|
5836
|
+
// As a reminder, if the /decide endpoint is disabled, feature flags, toolbar, session recording, autocapture,
|
|
5837
|
+
// and compression will not be available.
|
|
5838
|
+
|
|
5839
|
+
|
|
5840
|
+
if (!this.get_config('advanced_disable_decide')) {
|
|
5841
|
+
new Decide(this).call();
|
|
5765
5842
|
}
|
|
5843
|
+
|
|
5844
|
+
this.featureFlags.resetRequestQueue();
|
|
5845
|
+
this.featureFlags.setReloadingPaused(false);
|
|
5766
5846
|
};
|
|
5767
5847
|
|
|
5768
5848
|
PostHogLib.prototype._start_queue_if_opted_in = function () {
|
|
@@ -5900,9 +5980,15 @@ PostHogLib.prototype._send_request = function (url, data, options, callback) {
|
|
|
5900
5980
|
// beacons format the message and use the type property
|
|
5901
5981
|
// also no need to try catch as sendBeacon does not report errors
|
|
5902
5982
|
// and is defined as best effort attempt
|
|
5903
|
-
|
|
5904
|
-
sendBeacon
|
|
5905
|
-
|
|
5983
|
+
try {
|
|
5984
|
+
win.navigator.sendBeacon(url, encodePostData(data, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
5985
|
+
sendBeacon: true
|
|
5986
|
+
})));
|
|
5987
|
+
} catch (e) {
|
|
5988
|
+
if (this.get_config('debug')) {
|
|
5989
|
+
console$1.error(e);
|
|
5990
|
+
}
|
|
5991
|
+
}
|
|
5906
5992
|
} else if (USE_XHR) {
|
|
5907
5993
|
try {
|
|
5908
5994
|
xhr({
|
|
@@ -6124,10 +6210,10 @@ PostHogLib.prototype._calculate_event_properties = function (event_name, event_p
|
|
|
6124
6210
|
properties['$duration'] = parseFloat((duration_in_ms / 1000).toFixed(3));
|
|
6125
6211
|
}
|
|
6126
6212
|
|
|
6127
|
-
if (this.
|
|
6128
|
-
var _this$
|
|
6129
|
-
sessionId = _this$
|
|
6130
|
-
windowId = _this$
|
|
6213
|
+
if (this.sessionManager) {
|
|
6214
|
+
var _this$sessionManager$ = this.sessionManager.getSessionAndWindowId(),
|
|
6215
|
+
sessionId = _this$sessionManager$.sessionId,
|
|
6216
|
+
windowId = _this$sessionManager$.windowId;
|
|
6131
6217
|
|
|
6132
6218
|
properties['$session_id'] = sessionId;
|
|
6133
6219
|
properties['$window_id'] = windowId;
|
|
@@ -6366,14 +6452,18 @@ PostHogLib.prototype.identify = function (new_distinct_id, userPropertiesToSet,
|
|
|
6366
6452
|
if (userPropertiesToSetOnce) {
|
|
6367
6453
|
this['people'].set_once(userPropertiesToSetOnce);
|
|
6368
6454
|
}
|
|
6369
|
-
}
|
|
6455
|
+
} // Reload active feature flags if the user identity changes.
|
|
6456
|
+
// Note we don't reload this on property changes as these get processed async
|
|
6457
|
+
|
|
6370
6458
|
|
|
6371
|
-
|
|
6459
|
+
if (new_distinct_id !== previous_distinct_id) {
|
|
6460
|
+
this.reloadFeatureFlags();
|
|
6461
|
+
}
|
|
6372
6462
|
};
|
|
6373
6463
|
/**
|
|
6374
6464
|
* Alpha feature: don't use unless you know what you're doing!
|
|
6375
6465
|
*
|
|
6376
|
-
* Sets group analytics information for subsequent events.
|
|
6466
|
+
* Sets group analytics information for subsequent events and reloads feature flags.
|
|
6377
6467
|
*
|
|
6378
6468
|
* @param {String} groupType Group type (example: 'organization')
|
|
6379
6469
|
* @param {String} groupKey Group key (example: 'org::5')
|
|
@@ -6382,7 +6472,6 @@ PostHogLib.prototype.identify = function (new_distinct_id, userPropertiesToSet,
|
|
|
6382
6472
|
|
|
6383
6473
|
|
|
6384
6474
|
PostHogLib.prototype.group = function (groupType, groupKey, groupPropertiesToSet) {
|
|
6385
|
-
// console.error('posthog.group is still under development and should not be used in production!')
|
|
6386
6475
|
if (!groupType || !groupKey) {
|
|
6387
6476
|
console$1.error('posthog.group requires a group type and group key');
|
|
6388
6477
|
return;
|
|
@@ -6401,6 +6490,11 @@ PostHogLib.prototype.group = function (groupType, groupKey, groupPropertiesToSet
|
|
|
6401
6490
|
$group_key: groupKey,
|
|
6402
6491
|
$group_set: groupPropertiesToSet
|
|
6403
6492
|
});
|
|
6493
|
+
} // If groups change, reload feature flags.
|
|
6494
|
+
|
|
6495
|
+
|
|
6496
|
+
if (existingGroups[groupType] !== groupKey) {
|
|
6497
|
+
this.reloadFeatureFlags();
|
|
6404
6498
|
}
|
|
6405
6499
|
};
|
|
6406
6500
|
/**
|
|
@@ -7034,6 +7128,7 @@ PostHogLib.prototype['register'] = PostHogLib.prototype.register;
|
|
|
7034
7128
|
PostHogLib.prototype['register_once'] = PostHogLib.prototype.register_once;
|
|
7035
7129
|
PostHogLib.prototype['unregister'] = PostHogLib.prototype.unregister;
|
|
7036
7130
|
PostHogLib.prototype['identify'] = PostHogLib.prototype.identify;
|
|
7131
|
+
PostHogLib.prototype['getGroups'] = PostHogLib.prototype.getGroups;
|
|
7037
7132
|
PostHogLib.prototype['group'] = PostHogLib.prototype.group;
|
|
7038
7133
|
PostHogLib.prototype['alias'] = PostHogLib.prototype.alias;
|
|
7039
7134
|
PostHogLib.prototype['set_config'] = PostHogLib.prototype.set_config;
|
package/dist/module.d.ts
CHANGED
|
@@ -177,6 +177,13 @@ declare class posthog {
|
|
|
177
177
|
*/
|
|
178
178
|
static group(groupType: string, groupKey: string, groupPropertiesToSet?: posthog.Properties): void
|
|
179
179
|
|
|
180
|
+
/**
|
|
181
|
+
* Alpha feature: don't use unless you know what you're doing!
|
|
182
|
+
*
|
|
183
|
+
* Returns currently active groups
|
|
184
|
+
*/
|
|
185
|
+
static getGroups(): Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
186
|
+
|
|
180
187
|
/**
|
|
181
188
|
* Update the configuration of a posthog library instance.
|
|
182
189
|
*
|
|
@@ -759,6 +766,20 @@ declare namespace posthog {
|
|
|
759
766
|
static toString(): string
|
|
760
767
|
}
|
|
761
768
|
|
|
769
|
+
export class sessionManager {
|
|
770
|
+
/*
|
|
771
|
+
* Allows you to manually reset the current session id. By default, the session id is reset after 30 minutes
|
|
772
|
+
* of inactivity, but with this function, you can reset it earlier. This will also result in a new session recording.
|
|
773
|
+
*
|
|
774
|
+
*
|
|
775
|
+
* ### Usage:
|
|
776
|
+
*
|
|
777
|
+
* posthog.sessionManager.resetSessionId()
|
|
778
|
+
*
|
|
779
|
+
*/
|
|
780
|
+
static resetSessionId(): void
|
|
781
|
+
}
|
|
782
|
+
|
|
762
783
|
export class featureFlags {
|
|
763
784
|
static getFlags(): string[]
|
|
764
785
|
static getFlagVariants(): Record<string, boolean | string>
|
package/dist/module.js
CHANGED
|
@@ -865,7 +865,7 @@ var LZString = {
|
|
|
865
865
|
}
|
|
866
866
|
};
|
|
867
867
|
|
|
868
|
-
var version = "1.16.
|
|
868
|
+
var version = "1.16.8";
|
|
869
869
|
|
|
870
870
|
var Config$1 = {
|
|
871
871
|
DEBUG: false,
|
|
@@ -3108,6 +3108,8 @@ var PostHogFeatureFlags = /*#__PURE__*/function () {
|
|
|
3108
3108
|
this._override_warning = false;
|
|
3109
3109
|
this.flagCallReported = {};
|
|
3110
3110
|
this.featureFlagEventHandlers = [];
|
|
3111
|
+
this.reloadFeatureFlagsQueued = false;
|
|
3112
|
+
this.reloadFeatureFlagsInAction = false;
|
|
3111
3113
|
}
|
|
3112
3114
|
|
|
3113
3115
|
_createClass(PostHogFeatureFlags, [{
|
|
@@ -3148,15 +3150,61 @@ var PostHogFeatureFlags = /*#__PURE__*/function () {
|
|
|
3148
3150
|
|
|
3149
3151
|
return finalFlags;
|
|
3150
3152
|
}
|
|
3153
|
+
/**
|
|
3154
|
+
* Reloads feature flags asynchronously.
|
|
3155
|
+
*
|
|
3156
|
+
* Constraints:
|
|
3157
|
+
*
|
|
3158
|
+
* 1. Avoid parallel requests
|
|
3159
|
+
* 2. Delay a few milliseconds after each reloadFeatureFlags call to batch subsequent changes together
|
|
3160
|
+
* 3. Don't call this during initial load (as /decide will be called instead), see posthog-core.js
|
|
3161
|
+
*/
|
|
3162
|
+
|
|
3151
3163
|
}, {
|
|
3152
3164
|
key: "reloadFeatureFlags",
|
|
3153
3165
|
value: function reloadFeatureFlags() {
|
|
3166
|
+
if (!this.reloadFeatureFlagsQueued) {
|
|
3167
|
+
this.reloadFeatureFlagsQueued = true;
|
|
3168
|
+
|
|
3169
|
+
this._startReloadTimer();
|
|
3170
|
+
}
|
|
3171
|
+
}
|
|
3172
|
+
}, {
|
|
3173
|
+
key: "setReloadingPaused",
|
|
3174
|
+
value: function setReloadingPaused(isPaused) {
|
|
3175
|
+
this.reloadFeatureFlagsInAction = isPaused;
|
|
3176
|
+
}
|
|
3177
|
+
}, {
|
|
3178
|
+
key: "resetRequestQueue",
|
|
3179
|
+
value: function resetRequestQueue() {
|
|
3180
|
+
this.reloadFeatureFlagsQueued = false;
|
|
3181
|
+
}
|
|
3182
|
+
}, {
|
|
3183
|
+
key: "_startReloadTimer",
|
|
3184
|
+
value: function _startReloadTimer() {
|
|
3154
3185
|
var _this = this;
|
|
3155
3186
|
|
|
3187
|
+
if (this.reloadFeatureFlagsQueued && !this.reloadFeatureFlagsInAction) {
|
|
3188
|
+
setTimeout(function () {
|
|
3189
|
+
if (!_this.reloadFeatureFlagsInAction && _this.reloadFeatureFlagsQueued) {
|
|
3190
|
+
_this.reloadFeatureFlagsQueued = false;
|
|
3191
|
+
|
|
3192
|
+
_this._reloadFeatureFlagsRequest();
|
|
3193
|
+
}
|
|
3194
|
+
}, 5);
|
|
3195
|
+
}
|
|
3196
|
+
}
|
|
3197
|
+
}, {
|
|
3198
|
+
key: "_reloadFeatureFlagsRequest",
|
|
3199
|
+
value: function _reloadFeatureFlagsRequest() {
|
|
3200
|
+
var _this2 = this;
|
|
3201
|
+
|
|
3202
|
+
this.setReloadingPaused(true);
|
|
3156
3203
|
var token = this.instance.get_config('token');
|
|
3157
3204
|
var json_data = JSON.stringify({
|
|
3158
3205
|
token: token,
|
|
3159
|
-
distinct_id: this.instance.get_distinct_id()
|
|
3206
|
+
distinct_id: this.instance.get_distinct_id(),
|
|
3207
|
+
groups: this.instance.getGroups()
|
|
3160
3208
|
});
|
|
3161
3209
|
|
|
3162
3210
|
var encoded_data = _.base64Encode(json_data);
|
|
@@ -3166,9 +3214,14 @@ var PostHogFeatureFlags = /*#__PURE__*/function () {
|
|
|
3166
3214
|
}, {
|
|
3167
3215
|
method: 'POST'
|
|
3168
3216
|
}, this.instance._prepare_callback(function (response) {
|
|
3169
|
-
parseFeatureFlagDecideResponse(response,
|
|
3217
|
+
parseFeatureFlagDecideResponse(response, _this2.instance.persistence);
|
|
3218
|
+
|
|
3219
|
+
_this2.receivedFeatureFlags(); // :TRICKY: Reload - start another request if queued!
|
|
3170
3220
|
|
|
3171
|
-
|
|
3221
|
+
|
|
3222
|
+
_this2.setReloadingPaused(false);
|
|
3223
|
+
|
|
3224
|
+
_this2._startReloadTimer();
|
|
3172
3225
|
}));
|
|
3173
3226
|
}
|
|
3174
3227
|
/*
|
|
@@ -3723,9 +3776,9 @@ var SessionRecording = /*#__PURE__*/function () {
|
|
|
3723
3776
|
}, {
|
|
3724
3777
|
key: "_updateWindowAndSessionIds",
|
|
3725
3778
|
value: function _updateWindowAndSessionIds(event) {
|
|
3726
|
-
var _this$instance$
|
|
3727
|
-
windowId = _this$instance$
|
|
3728
|
-
sessionId = _this$instance$
|
|
3779
|
+
var _this$instance$sessio = this.instance.sessionManager.getSessionAndWindowId(event.timestamp || new Date().getTime(), event),
|
|
3780
|
+
windowId = _this$instance$sessio.windowId,
|
|
3781
|
+
sessionId = _this$instance$sessio.sessionId; // Event types FullSnapshot and Meta mean we're already in the process of sending a full snapshot
|
|
3729
3782
|
|
|
3730
3783
|
|
|
3731
3784
|
if ((this.windowId !== windowId || this.sessionId !== sessionId) && [FULL_SNAPSHOT_EVENT_TYPE, META_EVENT_TYPE].indexOf(event.type) === -1) {
|
|
@@ -3837,7 +3890,8 @@ var Decide = /*#__PURE__*/function () {
|
|
|
3837
3890
|
*/
|
|
3838
3891
|
var json_data = JSON.stringify({
|
|
3839
3892
|
token: this.instance.get_config('token'),
|
|
3840
|
-
distinct_id: this.instance.get_distinct_id()
|
|
3893
|
+
distinct_id: this.instance.get_distinct_id(),
|
|
3894
|
+
groups: this.instance.getGroups()
|
|
3841
3895
|
});
|
|
3842
3896
|
|
|
3843
3897
|
var encoded_data = _.base64Encode(json_data);
|
|
@@ -5341,9 +5395,16 @@ var RetryQueue = /*#__PURE__*/function (_RequestQueueScaffold) {
|
|
|
5341
5395
|
var url = requestData.url,
|
|
5342
5396
|
data = requestData.data,
|
|
5343
5397
|
options = requestData.options;
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5398
|
+
|
|
5399
|
+
try {
|
|
5400
|
+
window.navigator.sendBeacon(url, encodePostData(data, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
5401
|
+
sendBeacon: true
|
|
5402
|
+
})));
|
|
5403
|
+
} catch (e) {
|
|
5404
|
+
if (this.get_config('debug')) {
|
|
5405
|
+
console.error(e);
|
|
5406
|
+
}
|
|
5407
|
+
}
|
|
5347
5408
|
}
|
|
5348
5409
|
} catch (err) {
|
|
5349
5410
|
_iterator2.e(err);
|
|
@@ -5447,6 +5508,13 @@ var SessionIdManager = /*#__PURE__*/function () {
|
|
|
5447
5508
|
}
|
|
5448
5509
|
|
|
5449
5510
|
return this.persistence['props'][SESSION_ID] || [0, null];
|
|
5511
|
+
} // Resets the session id by setting it to null. On the subsequent call to getSessionAndWindowId,
|
|
5512
|
+
// new ids will be generated.
|
|
5513
|
+
|
|
5514
|
+
}, {
|
|
5515
|
+
key: "resetSessionId",
|
|
5516
|
+
value: function resetSessionId() {
|
|
5517
|
+
this._setSessionId(null, null);
|
|
5450
5518
|
}
|
|
5451
5519
|
}, {
|
|
5452
5520
|
key: "getSessionAndWindowId",
|
|
@@ -5645,12 +5713,6 @@ var create_mplib = function create_mplib(token, config, name) {
|
|
|
5645
5713
|
} else {
|
|
5646
5714
|
autocapture.init(instance);
|
|
5647
5715
|
}
|
|
5648
|
-
}
|
|
5649
|
-
|
|
5650
|
-
if (!instance.get_config('advanced_disable_decide')) {
|
|
5651
|
-
// As a reminder, if the /decide endpoint is disabled, feature flags, toolbar, session recording, autocapture,
|
|
5652
|
-
// and compression will not be available.
|
|
5653
|
-
new Decide(instance).call();
|
|
5654
5716
|
} // if any instance on the page has debug = true, we set the
|
|
5655
5717
|
// global debug to be true
|
|
5656
5718
|
|
|
@@ -5732,7 +5794,7 @@ PostHogLib.prototype._init = function (token, config, name) {
|
|
|
5732
5794
|
this.__captureHooks = [];
|
|
5733
5795
|
this.__request_queue = [];
|
|
5734
5796
|
this['persistence'] = new PostHogPersistence(this['config']);
|
|
5735
|
-
this['
|
|
5797
|
+
this['sessionManager'] = new SessionIdManager(this['config'], this['persistence']);
|
|
5736
5798
|
|
|
5737
5799
|
this._gdpr_init();
|
|
5738
5800
|
|
|
@@ -5754,7 +5816,15 @@ PostHogLib.prototype._init = function (token, config, name) {
|
|
|
5754
5816
|
|
|
5755
5817
|
|
|
5756
5818
|
PostHogLib.prototype._loaded = function () {
|
|
5757
|
-
|
|
5819
|
+
// Pause `reloadFeatureFlags` calls in config.loaded callback.
|
|
5820
|
+
// These feature flags are loaded in the decide call made right afterwards
|
|
5821
|
+
this.featureFlags.setReloadingPaused(true);
|
|
5822
|
+
|
|
5823
|
+
try {
|
|
5824
|
+
this.get_config('loaded')(this);
|
|
5825
|
+
} catch (err) {
|
|
5826
|
+
console$1.error('`loaded` function failed', err);
|
|
5827
|
+
}
|
|
5758
5828
|
|
|
5759
5829
|
this._start_queue_if_opted_in(); // this happens after so a user can call identify in
|
|
5760
5830
|
// the loaded callback
|
|
@@ -5764,7 +5834,17 @@ PostHogLib.prototype._loaded = function () {
|
|
|
5764
5834
|
this.capture('$pageview', {}, {
|
|
5765
5835
|
send_instantly: true
|
|
5766
5836
|
});
|
|
5837
|
+
} // Call decide to get what features are enabled and other settings.
|
|
5838
|
+
// As a reminder, if the /decide endpoint is disabled, feature flags, toolbar, session recording, autocapture,
|
|
5839
|
+
// and compression will not be available.
|
|
5840
|
+
|
|
5841
|
+
|
|
5842
|
+
if (!this.get_config('advanced_disable_decide')) {
|
|
5843
|
+
new Decide(this).call();
|
|
5767
5844
|
}
|
|
5845
|
+
|
|
5846
|
+
this.featureFlags.resetRequestQueue();
|
|
5847
|
+
this.featureFlags.setReloadingPaused(false);
|
|
5768
5848
|
};
|
|
5769
5849
|
|
|
5770
5850
|
PostHogLib.prototype._start_queue_if_opted_in = function () {
|
|
@@ -5902,9 +5982,15 @@ PostHogLib.prototype._send_request = function (url, data, options, callback) {
|
|
|
5902
5982
|
// beacons format the message and use the type property
|
|
5903
5983
|
// also no need to try catch as sendBeacon does not report errors
|
|
5904
5984
|
// and is defined as best effort attempt
|
|
5905
|
-
|
|
5906
|
-
sendBeacon
|
|
5907
|
-
|
|
5985
|
+
try {
|
|
5986
|
+
win.navigator.sendBeacon(url, encodePostData(data, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
5987
|
+
sendBeacon: true
|
|
5988
|
+
})));
|
|
5989
|
+
} catch (e) {
|
|
5990
|
+
if (this.get_config('debug')) {
|
|
5991
|
+
console$1.error(e);
|
|
5992
|
+
}
|
|
5993
|
+
}
|
|
5908
5994
|
} else if (USE_XHR) {
|
|
5909
5995
|
try {
|
|
5910
5996
|
xhr({
|
|
@@ -6126,10 +6212,10 @@ PostHogLib.prototype._calculate_event_properties = function (event_name, event_p
|
|
|
6126
6212
|
properties['$duration'] = parseFloat((duration_in_ms / 1000).toFixed(3));
|
|
6127
6213
|
}
|
|
6128
6214
|
|
|
6129
|
-
if (this.
|
|
6130
|
-
var _this$
|
|
6131
|
-
sessionId = _this$
|
|
6132
|
-
windowId = _this$
|
|
6215
|
+
if (this.sessionManager) {
|
|
6216
|
+
var _this$sessionManager$ = this.sessionManager.getSessionAndWindowId(),
|
|
6217
|
+
sessionId = _this$sessionManager$.sessionId,
|
|
6218
|
+
windowId = _this$sessionManager$.windowId;
|
|
6133
6219
|
|
|
6134
6220
|
properties['$session_id'] = sessionId;
|
|
6135
6221
|
properties['$window_id'] = windowId;
|
|
@@ -6368,14 +6454,18 @@ PostHogLib.prototype.identify = function (new_distinct_id, userPropertiesToSet,
|
|
|
6368
6454
|
if (userPropertiesToSetOnce) {
|
|
6369
6455
|
this['people'].set_once(userPropertiesToSetOnce);
|
|
6370
6456
|
}
|
|
6371
|
-
}
|
|
6457
|
+
} // Reload active feature flags if the user identity changes.
|
|
6458
|
+
// Note we don't reload this on property changes as these get processed async
|
|
6459
|
+
|
|
6372
6460
|
|
|
6373
|
-
|
|
6461
|
+
if (new_distinct_id !== previous_distinct_id) {
|
|
6462
|
+
this.reloadFeatureFlags();
|
|
6463
|
+
}
|
|
6374
6464
|
};
|
|
6375
6465
|
/**
|
|
6376
6466
|
* Alpha feature: don't use unless you know what you're doing!
|
|
6377
6467
|
*
|
|
6378
|
-
* Sets group analytics information for subsequent events.
|
|
6468
|
+
* Sets group analytics information for subsequent events and reloads feature flags.
|
|
6379
6469
|
*
|
|
6380
6470
|
* @param {String} groupType Group type (example: 'organization')
|
|
6381
6471
|
* @param {String} groupKey Group key (example: 'org::5')
|
|
@@ -6384,7 +6474,6 @@ PostHogLib.prototype.identify = function (new_distinct_id, userPropertiesToSet,
|
|
|
6384
6474
|
|
|
6385
6475
|
|
|
6386
6476
|
PostHogLib.prototype.group = function (groupType, groupKey, groupPropertiesToSet) {
|
|
6387
|
-
// console.error('posthog.group is still under development and should not be used in production!')
|
|
6388
6477
|
if (!groupType || !groupKey) {
|
|
6389
6478
|
console$1.error('posthog.group requires a group type and group key');
|
|
6390
6479
|
return;
|
|
@@ -6403,6 +6492,11 @@ PostHogLib.prototype.group = function (groupType, groupKey, groupPropertiesToSet
|
|
|
6403
6492
|
$group_key: groupKey,
|
|
6404
6493
|
$group_set: groupPropertiesToSet
|
|
6405
6494
|
});
|
|
6495
|
+
} // If groups change, reload feature flags.
|
|
6496
|
+
|
|
6497
|
+
|
|
6498
|
+
if (existingGroups[groupType] !== groupKey) {
|
|
6499
|
+
this.reloadFeatureFlags();
|
|
6406
6500
|
}
|
|
6407
6501
|
};
|
|
6408
6502
|
/**
|
|
@@ -7036,6 +7130,7 @@ PostHogLib.prototype['register'] = PostHogLib.prototype.register;
|
|
|
7036
7130
|
PostHogLib.prototype['register_once'] = PostHogLib.prototype.register_once;
|
|
7037
7131
|
PostHogLib.prototype['unregister'] = PostHogLib.prototype.unregister;
|
|
7038
7132
|
PostHogLib.prototype['identify'] = PostHogLib.prototype.identify;
|
|
7133
|
+
PostHogLib.prototype['getGroups'] = PostHogLib.prototype.getGroups;
|
|
7039
7134
|
PostHogLib.prototype['group'] = PostHogLib.prototype.group;
|
|
7040
7135
|
PostHogLib.prototype['alias'] = PostHogLib.prototype.alias;
|
|
7041
7136
|
PostHogLib.prototype['set_config'] = PostHogLib.prototype.set_config;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "posthog-js",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.8",
|
|
4
4
|
"description": "Posthog-js allows you to automatically capture usage and send events to PostHog.",
|
|
5
5
|
"repository": "https://github.com/PostHog/posthog-js",
|
|
6
6
|
"author": "hey@posthog.com",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"rollup": "^2.18.2",
|
|
63
63
|
"rrweb": "^1.0.6",
|
|
64
64
|
"sinon": "9.0.2",
|
|
65
|
-
"testcafe": "^1.
|
|
65
|
+
"testcafe": "^1.17.1",
|
|
66
66
|
"testcafe-browser-provider-browserstack": "^1.13.2-alpha.1",
|
|
67
67
|
"typescript": "^3.9.6"
|
|
68
68
|
},
|