@rudderstack/analytics-js 3.0.0-beta.22 → 3.0.0-beta.23
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +14 -0
- package/dist/npm/index.d.ts +1 -0
- package/dist/npm/legacy/cjs/index.js +88 -86
- package/dist/npm/legacy/esm/index.js +88 -86
- package/dist/npm/legacy/umd/index.js +88 -86
- package/dist/npm/modern/bundled/cjs/index.js +85 -83
- package/dist/npm/modern/bundled/esm/index.js +85 -83
- package/dist/npm/modern/bundled/umd/index.js +85 -83
- package/dist/npm/modern/cjs/index.js +5 -5
- package/dist/npm/modern/content-script/cjs/index.js +84 -82
- package/dist/npm/modern/content-script/esm/index.js +84 -82
- package/dist/npm/modern/content-script/umd/index.js +84 -82
- package/dist/npm/modern/esm/index.js +5 -5
- package/dist/npm/modern/umd/index.js +5 -5
- package/package.json +2 -1
@@ -417,7 +417,7 @@ if(isDefined(payload.groupId)){payload.groupId=tryStringify(payload.groupId);}el
|
|
417
417
|
|
418
418
|
const CAPABILITIES_MANAGER='CapabilitiesManager';const CONFIG_MANAGER='ConfigManager';const EVENT_MANAGER='EventManager';const PLUGINS_MANAGER='PluginsManager';const USER_SESSION_MANAGER='UserSessionManager';const ERROR_HANDLER='ErrorHandler';const PLUGIN_ENGINE='PluginEngine';const STORE_MANAGER='StoreManager';const READY_API='readyApi';const EVENT_REPOSITORY='EventRepository';const EXTERNAL_SRC_LOADER='ExternalSrcLoader';const HTTP_CLIENT='HttpClient';const RS_APP='RudderStackApplication';const ANALYTICS_CORE='AnalyticsCore';
|
419
419
|
|
420
|
-
const APP_NAME='RudderLabs JavaScript SDK';const APP_VERSION='3.0.0-beta.
|
420
|
+
const APP_NAME='RudderLabs JavaScript SDK';const APP_VERSION='3.0.0-beta.23';const APP_NAMESPACE='com.rudderlabs.javascript';const MODULE_TYPE='npm';const ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';const ADBLOCK_PAGE_NAME='ad-block page request';const ADBLOCK_PAGE_PATH='/ad-blocked';const GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';const CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
|
421
421
|
|
422
422
|
const QUERY_PARAM_TRAIT_PREFIX='ajs_trait_';const QUERY_PARAM_PROPERTY_PREFIX='ajs_prop_';const QUERY_PARAM_ANONYMOUS_ID_KEY='ajs_aid';const QUERY_PARAM_USER_ID_KEY='ajs_uid';const QUERY_PARAM_TRACK_EVENT_NAME_KEY='ajs_event';
|
423
423
|
|
@@ -864,7 +864,7 @@ event.context='Script load failures';}// eslint-disable-next-line no-param-reass
|
|
864
864
|
event.severity='error';};const onError=state=>{const metadataSource=state.source.value?.id;return event=>{try{// Discard the event if it's not originated at the SDK
|
865
865
|
if(!isRudderSDKError(event)){return false;}enhanceErrorEventMutator(event,metadataSource);return true;}catch{// Drop the error event if it couldn't be filtered as
|
866
866
|
// it is most likely a non-SDK error
|
867
|
-
return false;}};};const getReleaseStage=()=>{const host=globalThis.location.hostname;return host&&DEV_HOSTS.includes(host)?'development':'production';};const getGlobalBugsnagLibInstance=()=>globalThis[BUGSNAG_LIB_INSTANCE_GLOBAL_KEY_NAME];const getNewClient=(state,logger)=>{const globalBugsnagLibInstance=getGlobalBugsnagLibInstance();const clientConfig={apiKey:API_KEY,appVersion:'3.0.0-beta.
|
867
|
+
return false;}};};const getReleaseStage=()=>{const host=globalThis.location.hostname;return host&&DEV_HOSTS.includes(host)?'development':'production';};const getGlobalBugsnagLibInstance=()=>globalThis[BUGSNAG_LIB_INSTANCE_GLOBAL_KEY_NAME];const getNewClient=(state,logger)=>{const globalBugsnagLibInstance=getGlobalBugsnagLibInstance();const clientConfig={apiKey:API_KEY,appVersion:'3.0.0-beta.23',// Set SDK version as the app version from build config
|
868
868
|
metaData:{SDK:{name:'JS',installType:'npm'}},beforeSend:onError(state),autoCaptureSessions:false,// auto capture sessions is disabled
|
869
869
|
collectUserIp:false,// collecting user's IP is disabled
|
870
870
|
// enabledBreadcrumbTypes: ['error', 'log', 'user'], // for v7 and above
|
@@ -888,162 +888,164 @@ if(!cmpConfig?.consents){return true;}const configuredConsents=cmpConfig.consent
|
|
888
888
|
// the configured resolution strategy
|
889
889
|
const matchPredicate=consent=>allowedConsentIds.includes(consent);switch(resolutionStrategy){case'or':return configuredConsents.some(matchPredicate)||configuredConsents.length===0;case'and':default:return configuredConsents.every(matchPredicate);}}catch(err){errorHandler?.onError(err,CUSTOM_CONSENT_MANAGER_PLUGIN,DESTINATION_CONSENT_STATUS_ERROR$2);return true;}}}});
|
890
890
|
|
891
|
-
const DIR_NAME$
|
891
|
+
const DIR_NAME$1d='AdobeAnalytics';const DISPLAY_NAME$1d='Adobe Analytics';
|
892
892
|
|
893
|
-
const DIR_NAME$
|
893
|
+
const DIR_NAME$1c='Amplitude';const DISPLAY_NAME$1c='Amplitude';
|
894
894
|
|
895
|
-
const DIR_NAME$
|
895
|
+
const DIR_NAME$1b='Appcues';const DISPLAY_NAME$1b='Appcues';
|
896
896
|
|
897
|
-
const DIR_NAME$
|
897
|
+
const DIR_NAME$1a='BingAds';const DISPLAY_NAME$1a='Bing Ads';
|
898
898
|
|
899
|
-
const DIR_NAME$
|
899
|
+
const DIR_NAME$19='Braze';const DISPLAY_NAME$19='Braze';
|
900
900
|
|
901
|
-
const DIR_NAME$
|
901
|
+
const DIR_NAME$18='Bugsnag';const DISPLAY_NAME$18='Bugsnag';
|
902
902
|
|
903
|
-
const DIR_NAME$
|
903
|
+
const DIR_NAME$17='Chartbeat';const DISPLAY_NAME$17='Chartbeat';
|
904
904
|
|
905
|
-
const DIR_NAME$
|
905
|
+
const DIR_NAME$16='Clevertap';const DISPLAY_NAME$16='CleverTap';
|
906
906
|
|
907
|
-
const DIR_NAME$
|
907
|
+
const DIR_NAME$15='Comscore';const DISPLAY_NAME$15='Comscore';
|
908
908
|
|
909
|
-
const DIR_NAME$
|
909
|
+
const DIR_NAME$14='Criteo';const DISPLAY_NAME$14='Criteo';
|
910
910
|
|
911
|
-
const DIR_NAME$
|
911
|
+
const DIR_NAME$13='CustomerIO';const DISPLAY_NAME$13='Customer IO';
|
912
912
|
|
913
|
-
const DIR_NAME$
|
913
|
+
const DIR_NAME$12='Drip';const DISPLAY_NAME$12='Drip';
|
914
914
|
|
915
|
-
const DIR_NAME$
|
915
|
+
const DIR_NAME$11='FacebookPixel';const DISPLAY_NAME$11='Facebook Pixel';
|
916
916
|
|
917
|
-
const DIR_NAME
|
917
|
+
const DIR_NAME$10='Fullstory';const DISPLAY_NAME$10='Fullstory';
|
918
918
|
|
919
|
-
const DIR_NAME
|
919
|
+
const DIR_NAME$$='GA';const DISPLAY_NAME$$='Google Analytics';
|
920
920
|
|
921
|
-
const DIR_NAME$
|
921
|
+
const DIR_NAME$_='GA4';const DISPLAY_NAME$_='Google Analytics 4 (GA4)';
|
922
922
|
|
923
|
-
const DIR_NAME$
|
923
|
+
const DIR_NAME$Z='GoogleAds';const DISPLAY_NAME$Z='Google Ads';
|
924
924
|
|
925
|
-
const DIR_NAME$
|
925
|
+
const DIR_NAME$Y='GoogleOptimize';const DISPLAY_NAME$Y='Google Optimize';
|
926
926
|
|
927
|
-
const DIR_NAME$
|
927
|
+
const DIR_NAME$X='GoogleTagManager';const DISPLAY_NAME$X='Google Tag Manager';
|
928
928
|
|
929
|
-
const DIR_NAME$
|
929
|
+
const DIR_NAME$W='Heap';const DISPLAY_NAME$W='Heap.io';
|
930
930
|
|
931
|
-
const DIR_NAME$
|
931
|
+
const DIR_NAME$V='Hotjar';const DISPLAY_NAME$V='Hotjar';
|
932
932
|
|
933
|
-
const DIR_NAME$
|
933
|
+
const DIR_NAME$U='HubSpot';const DISPLAY_NAME$U='HubSpot';
|
934
934
|
|
935
|
-
const DIR_NAME$
|
935
|
+
const DIR_NAME$T='INTERCOM';const DISPLAY_NAME$T='Intercom';
|
936
936
|
|
937
|
-
const DIR_NAME$
|
937
|
+
const DIR_NAME$S='Keen';const DISPLAY_NAME$S='Keen';
|
938
938
|
|
939
|
-
const DIR_NAME$
|
939
|
+
const DIR_NAME$R='Kissmetrics';const DISPLAY_NAME$R='Kiss Metrics';
|
940
940
|
|
941
|
-
const DIR_NAME$
|
941
|
+
const DIR_NAME$Q='Klaviyo';const DISPLAY_NAME$Q='Klaviyo';
|
942
942
|
|
943
|
-
const DIR_NAME$
|
943
|
+
const DIR_NAME$P='LaunchDarkly';const DISPLAY_NAME$P='LaunchDarkly';
|
944
944
|
|
945
|
-
const DIR_NAME$
|
945
|
+
const DIR_NAME$O='LinkedInInsightTag';const DISPLAY_NAME$O='Linkedin Insight Tag';
|
946
946
|
|
947
|
-
const DIR_NAME$
|
947
|
+
const DIR_NAME$N='Lotame';const DISPLAY_NAME$N='Lotame';
|
948
948
|
|
949
|
-
const DIR_NAME$
|
949
|
+
const DIR_NAME$M='Lytics';const DISPLAY_NAME$M='Lytics';
|
950
950
|
|
951
|
-
const DIR_NAME$
|
951
|
+
const DIR_NAME$L='Mixpanel';const DISPLAY_NAME$L='Mixpanel';
|
952
952
|
|
953
|
-
const DIR_NAME$
|
953
|
+
const DIR_NAME$K='MoEngage';const DISPLAY_NAME$K='MoEngage';
|
954
954
|
|
955
|
-
const DIR_NAME$
|
955
|
+
const DIR_NAME$J='Optimizely';const DISPLAY_NAME$J='Optimizely Web';
|
956
956
|
|
957
|
-
const DIR_NAME$
|
957
|
+
const DIR_NAME$I='Pendo';const DISPLAY_NAME$I='Pendo';
|
958
958
|
|
959
|
-
const DIR_NAME$
|
959
|
+
const DIR_NAME$H='PinterestTag';const DISPLAY_NAME$H='Pinterest Tag';
|
960
960
|
|
961
|
-
const DIR_NAME$
|
961
|
+
const DIR_NAME$G='PostAffiliatePro';const DISPLAY_NAME$G='Post Affiliate Pro';
|
962
962
|
|
963
|
-
const DIR_NAME$
|
963
|
+
const DIR_NAME$F='Posthog';const DISPLAY_NAME$F='PostHog';
|
964
964
|
|
965
|
-
const DIR_NAME$
|
965
|
+
const DIR_NAME$E='ProfitWell';const DISPLAY_NAME$E='ProfitWell';
|
966
966
|
|
967
|
-
const DIR_NAME$
|
967
|
+
const DIR_NAME$D='Qualtrics';const DISPLAY_NAME$D='Qualtrics';
|
968
968
|
|
969
|
-
const DIR_NAME$
|
969
|
+
const DIR_NAME$C='QuantumMetric';const DISPLAY_NAME$C='Quantum Metric';
|
970
970
|
|
971
|
-
const DIR_NAME$
|
971
|
+
const DIR_NAME$B='RedditPixel';const DISPLAY_NAME$B='Reddit Pixel';
|
972
972
|
|
973
|
-
const DIR_NAME$
|
973
|
+
const DIR_NAME$A='Sentry';const DISPLAY_NAME$A='Sentry';
|
974
974
|
|
975
|
-
const DIR_NAME$
|
975
|
+
const DIR_NAME$z='SnapPixel';const DISPLAY_NAME$z='Snap Pixel';
|
976
976
|
|
977
|
-
const DIR_NAME$
|
977
|
+
const DIR_NAME$y='TVSquared';const DISPLAY_NAME$y='TVSquared';
|
978
978
|
|
979
|
-
const DIR_NAME$
|
979
|
+
const DIR_NAME$x='VWO';const DISPLAY_NAME$x='VWO';
|
980
980
|
|
981
|
-
const DIR_NAME$
|
981
|
+
const DIR_NAME$w='GA360';const DISPLAY_NAME$w='Google Analytics 360';
|
982
982
|
|
983
|
-
const DIR_NAME$
|
983
|
+
const DIR_NAME$v='Adroll';const DISPLAY_NAME$v='Adroll';
|
984
984
|
|
985
|
-
const DIR_NAME$
|
985
|
+
const DIR_NAME$u='DCMFloodlight';const DISPLAY_NAME$u='DCM Floodlight';
|
986
986
|
|
987
|
-
const DIR_NAME$
|
987
|
+
const DIR_NAME$t='Matomo';const DISPLAY_NAME$t='Matomo';
|
988
988
|
|
989
|
-
const DIR_NAME$
|
989
|
+
const DIR_NAME$s='Vero';const DISPLAY_NAME$s='Vero';
|
990
990
|
|
991
|
-
const DIR_NAME$
|
991
|
+
const DIR_NAME$r='Mouseflow';const DISPLAY_NAME$r='Mouseflow';
|
992
992
|
|
993
|
-
const DIR_NAME$
|
993
|
+
const DIR_NAME$q='Rockerbox';const DISPLAY_NAME$q='Rockerbox';
|
994
994
|
|
995
|
-
const DIR_NAME$
|
995
|
+
const DIR_NAME$p='ConvertFlow';const DISPLAY_NAME$p='ConvertFlow';
|
996
996
|
|
997
|
-
const DIR_NAME$
|
997
|
+
const DIR_NAME$o='SnapEngage';const DISPLAY_NAME$o='SnapEngage';
|
998
998
|
|
999
|
-
const DIR_NAME$
|
999
|
+
const DIR_NAME$n='LiveChat';const DISPLAY_NAME$n='LiveChat';
|
1000
1000
|
|
1001
|
-
const DIR_NAME$
|
1001
|
+
const DIR_NAME$m='Shynet';const DISPLAY_NAME$m='Shynet';
|
1002
1002
|
|
1003
|
-
const DIR_NAME$
|
1003
|
+
const DIR_NAME$l='Woopra';const DISPLAY_NAME$l='Woopra';
|
1004
1004
|
|
1005
|
-
const DIR_NAME$
|
1005
|
+
const DIR_NAME$k='RollBar';const DISPLAY_NAME$k='RollBar';
|
1006
1006
|
|
1007
|
-
const DIR_NAME$
|
1007
|
+
const DIR_NAME$j='QuoraPixel';const DISPLAY_NAME$j='Quora Pixel';
|
1008
1008
|
|
1009
|
-
const DIR_NAME$
|
1009
|
+
const DIR_NAME$i='June';const DISPLAY_NAME$i='June';
|
1010
1010
|
|
1011
|
-
const DIR_NAME$
|
1011
|
+
const DIR_NAME$h='Engage';const DISPLAY_NAME$h='Engage';
|
1012
1012
|
|
1013
|
-
const DIR_NAME$
|
1013
|
+
const DIR_NAME$g='Iterable';const DISPLAY_NAME$g='Iterable';
|
1014
1014
|
|
1015
|
-
const DIR_NAME$
|
1015
|
+
const DIR_NAME$f='YandexMetrica';const DISPLAY_NAME$f='Yandex.Metrica';
|
1016
1016
|
|
1017
|
-
const DIR_NAME$
|
1017
|
+
const DIR_NAME$e='Refiner';const DISPLAY_NAME$e='Refiner';
|
1018
1018
|
|
1019
|
-
const DIR_NAME$
|
1019
|
+
const DIR_NAME$d='Qualaroo';const DISPLAY_NAME$d='Qualaroo';
|
1020
1020
|
|
1021
|
-
const DIR_NAME$
|
1021
|
+
const DIR_NAME$c='Podsights';const DISPLAY_NAME$c='Podsights';
|
1022
1022
|
|
1023
|
-
const DIR_NAME$
|
1023
|
+
const DIR_NAME$b='Axeptio';const DISPLAY_NAME$b='Axeptio';
|
1024
1024
|
|
1025
|
-
const DIR_NAME$
|
1025
|
+
const DIR_NAME$a='Satismeter';const DISPLAY_NAME$a='Satismeter';
|
1026
1026
|
|
1027
|
-
const DIR_NAME$
|
1027
|
+
const DIR_NAME$9='MicrosoftClarity';const DISPLAY_NAME$9='Microsoft Clarity';
|
1028
1028
|
|
1029
|
-
const DIR_NAME$
|
1029
|
+
const DIR_NAME$8='Sendinblue';const DISPLAY_NAME$8='Sendinblue';
|
1030
1030
|
|
1031
|
-
const DIR_NAME$
|
1031
|
+
const DIR_NAME$7='Olark';const DISPLAY_NAME$7='Olark';
|
1032
1032
|
|
1033
|
-
const DIR_NAME$
|
1033
|
+
const DIR_NAME$6='Lemnisk';const DISPLAY_NAME$6='Lemnisk';
|
1034
1034
|
|
1035
|
-
const DIR_NAME$
|
1035
|
+
const DIR_NAME$5='TiktokAds';const DISPLAY_NAME$5='TikTok Ads';
|
1036
1036
|
|
1037
|
-
const DIR_NAME$
|
1037
|
+
const DIR_NAME$4='ActiveCampaign';const DISPLAY_NAME$4='Active Campaign';
|
1038
1038
|
|
1039
|
-
const DIR_NAME$
|
1039
|
+
const DIR_NAME$3='Sprig';const DISPLAY_NAME$3='Sprig';
|
1040
1040
|
|
1041
|
-
const DIR_NAME$
|
1041
|
+
const DIR_NAME$2='SpotifyPixel';const DISPLAY_NAME$2='Spotify Pixel';
|
1042
1042
|
|
1043
|
-
const DIR_NAME='CommandBar';const DISPLAY_NAME='CommandBar';
|
1043
|
+
const DIR_NAME$1='CommandBar';const DISPLAY_NAME$1='CommandBar';
|
1044
|
+
|
1045
|
+
const DIR_NAME='Ninetailed';const DISPLAY_NAME='Ninetailed';
|
1044
1046
|
|
1045
1047
|
// map of the destination display names to the destination directory names
|
1046
|
-
const destDisplayNamesToFileNamesMap={[DISPLAY_NAME$
|
1048
|
+
const destDisplayNamesToFileNamesMap={[DISPLAY_NAME$U]:DIR_NAME$U,[DISPLAY_NAME$$]:DIR_NAME$$,[DISPLAY_NAME$V]:DIR_NAME$V,[DISPLAY_NAME$Z]:DIR_NAME$Z,[DISPLAY_NAME$x]:DIR_NAME$x,[DISPLAY_NAME$X]:DIR_NAME$X,[DISPLAY_NAME$19]:DIR_NAME$19,[DISPLAY_NAME$T]:DIR_NAME$T,[DISPLAY_NAME$S]:DIR_NAME$S,[DISPLAY_NAME$R]:DIR_NAME$R,[DISPLAY_NAME$13]:DIR_NAME$13,[DISPLAY_NAME$17]:DIR_NAME$17,[DISPLAY_NAME$15]:DIR_NAME$15,[DISPLAY_NAME$11]:DIR_NAME$11,[DISPLAY_NAME$N]:DIR_NAME$N,[DISPLAY_NAME$J]:DIR_NAME$J,[DISPLAY_NAME$18]:DIR_NAME$18,[DISPLAY_NAME$10]:DIR_NAME$10,[DISPLAY_NAME$y]:DIR_NAME$y,[DISPLAY_NAME$_]:DIR_NAME$_,[DISPLAY_NAME$K]:DIR_NAME$K,[DISPLAY_NAME$1c]:DIR_NAME$1c,[DISPLAY_NAME$I]:DIR_NAME$I,[DISPLAY_NAME$M]:DIR_NAME$M,[DISPLAY_NAME$1b]:DIR_NAME$1b,[DISPLAY_NAME$F]:DIR_NAME$F,[DISPLAY_NAME$Q]:DIR_NAME$Q,[DISPLAY_NAME$16]:DIR_NAME$16,[DISPLAY_NAME$1a]:DIR_NAME$1a,[DISPLAY_NAME$H]:DIR_NAME$H,[DISPLAY_NAME$1d]:DIR_NAME$1d,[DISPLAY_NAME$O]:DIR_NAME$O,[DISPLAY_NAME$B]:DIR_NAME$B,[DISPLAY_NAME$12]:DIR_NAME$12,[DISPLAY_NAME$W]:DIR_NAME$W,[DISPLAY_NAME$14]:DIR_NAME$14,[DISPLAY_NAME$L]:DIR_NAME$L,[DISPLAY_NAME$D]:DIR_NAME$D,[DISPLAY_NAME$E]:DIR_NAME$E,[DISPLAY_NAME$A]:DIR_NAME$A,[DISPLAY_NAME$C]:DIR_NAME$C,[DISPLAY_NAME$z]:DIR_NAME$z,[DISPLAY_NAME$G]:DIR_NAME$G,[DISPLAY_NAME$Y]:DIR_NAME$Y,[DISPLAY_NAME$P]:DIR_NAME$P,[DISPLAY_NAME$w]:DIR_NAME$w,[DISPLAY_NAME$v]:DIR_NAME$v,[DISPLAY_NAME$u]:DIR_NAME$u,[DISPLAY_NAME$t]:DIR_NAME$t,[DISPLAY_NAME$s]:DIR_NAME$s,[DISPLAY_NAME$r]:DIR_NAME$r,[DISPLAY_NAME$q]:DIR_NAME$q,[DISPLAY_NAME$p]:DIR_NAME$p,[DISPLAY_NAME$o]:DIR_NAME$o,[DISPLAY_NAME$n]:DIR_NAME$n,[DISPLAY_NAME$m]:DIR_NAME$m,[DISPLAY_NAME$l]:DIR_NAME$l,[DISPLAY_NAME$k]:DIR_NAME$k,[DISPLAY_NAME$j]:DIR_NAME$j,[DISPLAY_NAME$i]:DIR_NAME$i,[DISPLAY_NAME$h]:DIR_NAME$h,[DISPLAY_NAME$g]:DIR_NAME$g,[DISPLAY_NAME$f]:DIR_NAME$f,[DISPLAY_NAME$e]:DIR_NAME$e,[DISPLAY_NAME$d]:DIR_NAME$d,[DISPLAY_NAME$c]:DIR_NAME$c,[DISPLAY_NAME$b]:DIR_NAME$b,[DISPLAY_NAME$a]:DIR_NAME$a,[DISPLAY_NAME$9]:DIR_NAME$9,[DISPLAY_NAME$8]:DIR_NAME$8,[DISPLAY_NAME$7]:DIR_NAME$7,[DISPLAY_NAME$6]:DIR_NAME$6,[DISPLAY_NAME$5]:DIR_NAME$5,[DISPLAY_NAME$4]:DIR_NAME$4,[DISPLAY_NAME$3]:DIR_NAME$3,[DISPLAY_NAME$2]:DIR_NAME$2,[DISPLAY_NAME$1]:DIR_NAME$1,[DISPLAY_NAME]:DIR_NAME};
|
1047
1049
|
|
1048
1050
|
const DEFAULT_INTEGRATIONS_CONFIG={All:true};
|
1049
1051
|
|
@@ -2827,7 +2829,7 @@ const CHANNEL='web';// These are the top-level elements in the standard RudderSt
|
|
2827
2829
|
const TOP_LEVEL_ELEMENTS=['integrations','anonymousId','originalTimestamp'];// Reserved elements in the context of standard RudderStack event spec
|
2828
2830
|
// Typically, these elements are not allowed to be overridden by the user
|
2829
2831
|
const CONTEXT_RESERVED_ELEMENTS=['library','consentManagement','userAgent','ua-ch','screen'];// Reserved elements in the standard RudderStack event spec
|
2830
|
-
const RESERVED_ELEMENTS=['
|
2832
|
+
const RESERVED_ELEMENTS=['id','anonymous_id','user_id','sent_at','timestamp','received_at','original_timestamp','event','event_text','channel','context_ip','context_request_ip','context_passed_ip','group_id','previous_id'];
|
2831
2833
|
|
2832
2834
|
const MIN_SESSION_ID_LENGTH=10;/**
|
2833
2835
|
* A function to validate current session and return true/false depending on that
|
@@ -2972,7 +2974,7 @@ class UserSessionManager{constructor(errorHandler,logger,pluginsManager,storeMan
|
|
2972
2974
|
* Initialize User session with values from storage
|
2973
2975
|
*/init(){this.syncStorageDataToState();// Register the effect to sync with storage
|
2974
2976
|
this.registerEffects();}syncStorageDataToState(){this.migrateStorageIfNeeded();this.migrateDataFromPreviousStorage();// get the values from storage and set it again
|
2975
|
-
this.setUserId(this.getUserId());this.setUserTraits(this.getUserTraits());this.setGroupId(this.getGroupId());this.setGroupTraits(this.getGroupTraits());this.setAnonymousId(this.getAnonymousId(
|
2977
|
+
this.setUserId(this.getUserId());this.setUserTraits(this.getUserTraits());this.setGroupId(this.getGroupId());this.setGroupTraits(this.getGroupTraits());const{externalAnonymousIdCookieName,anonymousIdOptions}=state.loadOptions.value;let externalAnonymousId;if(isDefinedAndNotNull(externalAnonymousIdCookieName)&&typeof externalAnonymousIdCookieName==='string'){externalAnonymousId=this.getExternalAnonymousIdByCookieName(externalAnonymousIdCookieName);}this.setAnonymousId(externalAnonymousId??this.getAnonymousId(anonymousIdOptions));this.setAuthToken(this.getAuthToken());this.setInitialReferrerInfo();this.configureSessionTracking();}configureSessionTracking(){let sessionInfo=this.getSessionInfo();if(this.isPersistenceEnabledForStorageEntry('sessionInfo')){const configuredSessionTrackingInfo=this.getConfiguredSessionTrackingInfo();const persistedSessionInfo=this.getSessionInfo()??defaultSessionInfo;sessionInfo={...persistedSessionInfo,...configuredSessionTrackingInfo,autoTrack:configuredSessionTrackingInfo.autoTrack&&persistedSessionInfo.manualTrack!==true};}this.setSessionInfo(sessionInfo);}setInitialReferrerInfo(){const persistedInitialReferrer=this.getInitialReferrer();const persistedInitialReferringDomain=this.getInitialReferringDomain();if(persistedInitialReferrer&&persistedInitialReferringDomain){this.setInitialReferrer(persistedInitialReferrer);this.setInitialReferringDomain(persistedInitialReferringDomain);}else {const initialReferrer=persistedInitialReferrer||getReferrer();this.setInitialReferrer(initialReferrer);this.setInitialReferringDomain(getReferringDomain(initialReferrer));}}isPersistenceEnabledForStorageEntry(entryName){return isStorageTypeValidForStoringData(state.storage.entries.value[entryName]?.type);}migrateDataFromPreviousStorage(){const entries=state.storage.entries.value;const storageTypesForMigration=[COOKIE_STORAGE,LOCAL_STORAGE,SESSION_STORAGE];Object.keys(entries).forEach(entry=>{const key=entry;const currentStorage=entries[key]?.type;const curStore=this.storeManager?.getStore(storageClientDataStoreNameMap[currentStorage]);if(curStore){storageTypesForMigration.forEach(storage=>{const store=this.storeManager?.getStore(storageClientDataStoreNameMap[storage]);if(store&&storage!==currentStorage){const value=store.get(USER_SESSION_STORAGE_KEYS[key]);if(isDefinedNotNullAndNotEmptyString(value)){curStore.set(USER_SESSION_STORAGE_KEYS[key],value);}store.remove(USER_SESSION_STORAGE_KEYS[key]);}});}});}migrateStorageIfNeeded(){if(!state.storage.migrate.value){return;}const persistentStoreNames=[CLIENT_DATA_STORE_COOKIE,CLIENT_DATA_STORE_LS,CLIENT_DATA_STORE_SESSION];const stores=[];persistentStoreNames.forEach(storeName=>{const store=this.storeManager?.getStore(storeName);if(store){stores.push(store);}});Object.keys(USER_SESSION_STORAGE_KEYS).forEach(storageKey=>{const storageEntry=USER_SESSION_STORAGE_KEYS[storageKey];stores.forEach(store=>{const migratedVal=this.pluginsManager?.invokeSingle('storage.migrate',storageEntry,store.engine,this.errorHandler,this.logger);// Skip setting the value if it is null or undefined
|
2976
2978
|
// as those values indicate there is no need for migration or
|
2977
2979
|
// migration failed
|
2978
2980
|
if(!isNullOrUndefined(migratedVal)){store.set(storageEntry,migratedVal);}});});}getConfiguredSessionTrackingInfo(){let autoTrack=state.loadOptions.value.sessions?.autoTrack!==false;// Do not validate any further if autoTrack is disabled
|
@@ -3001,7 +3003,7 @@ USER_SESSION_KEYS.forEach(sessionKey=>{O(()=>{this.syncValueToStorage(sessionKey
|
|
3001
3003
|
* @returns anonymousId
|
3002
3004
|
*/getAnonymousId(options){const storage=state.storage.entries.value.anonymousId?.type;// fetch the anonymousId from storage
|
3003
3005
|
if(isStorageTypeValidForStoringData(storage)){let persistedAnonymousId=this.getEntryValue('anonymousId');if(!persistedAnonymousId&&options){// fetch anonymousId from external source
|
3004
|
-
const autoCapturedAnonymousId=this.pluginsManager?.invokeSingle('storage.getAnonymousId',getStorageEngine,options);persistedAnonymousId=autoCapturedAnonymousId;}state.session.anonymousId.value=persistedAnonymousId||generateAnonymousId();}return state.session.anonymousId.value;}getEntryValue(sessionKey){const entries=state.storage.entries.value;const storageType=entries[sessionKey]?.type;if(isStorageTypeValidForStoringData(storageType)){const store=this.storeManager?.getStore(storageClientDataStoreNameMap[storageType]);const storageKey=entries[sessionKey]?.key;return store?.get(storageKey)??null;}return null;}/**
|
3006
|
+
const autoCapturedAnonymousId=this.pluginsManager?.invokeSingle('storage.getAnonymousId',getStorageEngine,options);persistedAnonymousId=autoCapturedAnonymousId;}state.session.anonymousId.value=persistedAnonymousId||generateAnonymousId();}return state.session.anonymousId.value;}getEntryValue(sessionKey){const entries=state.storage.entries.value;const storageType=entries[sessionKey]?.type;if(isStorageTypeValidForStoringData(storageType)){const store=this.storeManager?.getStore(storageClientDataStoreNameMap[storageType]);const storageKey=entries[sessionKey]?.key;return store?.get(storageKey)??null;}return null;}getExternalAnonymousIdByCookieName(key){const storageEngine=getStorageEngine(COOKIE_STORAGE);if(storageEngine?.isEnabled){return storageEngine.getItem(key)??null;}return null;}/**
|
3005
3007
|
* Fetches User Id
|
3006
3008
|
* @returns
|
3007
3009
|
*/getUserId(){return this.getEntryValue('userId');}/**
|