@rudderstack/analytics-js 3.0.0-beta.22 → 3.0.0-beta.24
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/npm/index.d.ts +1 -0
- package/dist/npm/legacy/cjs/index.js +89 -87
- package/dist/npm/legacy/esm/index.js +89 -87
- package/dist/npm/legacy/umd/index.js +89 -87
- package/dist/npm/modern/bundled/cjs/index.js +86 -84
- package/dist/npm/modern/bundled/esm/index.js +86 -84
- package/dist/npm/modern/bundled/umd/index.js +86 -84
- package/dist/npm/modern/cjs/index.js +6 -6
- package/dist/npm/modern/content-script/cjs/index.js +85 -83
- package/dist/npm/modern/content-script/esm/index.js +85 -83
- package/dist/npm/modern/content-script/umd/index.js +85 -83
- package/dist/npm/modern/esm/index.js +6 -6
- package/dist/npm/modern/umd/index.js +6 -6
- 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.24';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.24',// 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
|
|
@@ -2435,7 +2437,7 @@ const matchingCodes=[22,1014];// [everything except Firefox, Firefox]
|
|
2435
2437
|
const isQuotaExceededError=matchingNames.includes(e.name)||matchingCodes.includes(e.code);return e instanceof DOMException&&isQuotaExceededError;};// TODO: also check for SecurityErrors
|
2436
2438
|
// https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage#exceptions
|
2437
2439
|
const isStorageAvailable=(type=LOCAL_STORAGE,storageInstance,logger)=>{let storage;let testData;try{switch(type){case MEMORY_STORAGE:return true;case COOKIE_STORAGE:storage=storageInstance;testData=STORAGE_TEST_COOKIE;break;case LOCAL_STORAGE:storage=storageInstance??globalThis.localStorage;testData=STORAGE_TEST_LOCAL_STORAGE;// was STORAGE_TEST_LOCAL_STORAGE in ours and generateUUID() in segment retry one
|
2438
|
-
break;case SESSION_STORAGE:storage=storageInstance??globalThis.sessionStorage;testData=STORAGE_TEST_SESSION_STORAGE;break;default:return false;}if(!storage){return false;}storage.setItem(testData,'true');if(storage.getItem(testData)){storage.removeItem(testData);return true;}return false;}catch(err){const msgPrefix=STORAGE_UNAVAILABILITY_ERROR_PREFIX(CAPABILITIES_MANAGER,type);let reason='unavailable';if(isStorageQuotaExceeded(err)){reason='full';}logger?.
|
2440
|
+
break;case SESSION_STORAGE:storage=storageInstance??globalThis.sessionStorage;testData=STORAGE_TEST_SESSION_STORAGE;break;default:return false;}if(!storage){return false;}storage.setItem(testData,'true');if(storage.getItem(testData)){storage.removeItem(testData);return true;}return false;}catch(err){const msgPrefix=STORAGE_UNAVAILABILITY_ERROR_PREFIX(CAPABILITIES_MANAGER,type);let reason='unavailable';if(isStorageQuotaExceeded(err)){reason='full';}logger?.warn(`${msgPrefix}${reason}.`,err);return false;}};
|
2439
2441
|
|
2440
2442
|
/**
|
2441
2443
|
* Encode.
|
@@ -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');}/**
|