@@ -80,6 +80,20 @@ export const truncateString = (str, num) => {
8080 }
8181}
8282
83+ const removeSubDomain = ( v ) => {
84+ try {
85+ var parts = v . split ( '.' ) ;
86+ var is2ndLevelDomain = false ;
87+ const secondLevel = parts [ parts . length - 2 ] ;
88+ if ( secondLevel === "co" || secondLevel === "com" || secondLevel === "gv" || secondLevel === "ac" || secondLevel === "edu" || secondLevel === "gov" || secondLevel === "mil" || secondLevel === "net" || secondLevel === "org" ) {
89+ is2ndLevelDomain = true ;
90+ }
91+ parts = parts . slice ( is2ndLevelDomain ? - 3 : - 2 ) ;
92+ return parts . join ( '.' ) ;
93+ } catch ( exp ) { }
94+ return v ;
95+ }
96+
8397export const loadFromGleapCache = ( key ) => {
8498 try {
8599 const cachedData = localStorage . getItem ( `gleap-widget-${ key } ` ) ;
@@ -110,7 +124,7 @@ export const setGleapCookie = (name, value, days) => {
110124 date . setTime ( date . getTime ( ) + ( days * 24 * 60 * 60 * 1000 ) ) ;
111125 expires = "; expires=" + date . toUTCString ( ) ;
112126 }
113- const host = window . location . host . split ( ":" ) [ 0 ] ;
127+ const host = removeSubDomain ( window . location . host . split ( ":" ) [ 0 ] ) ;
114128 document . cookie = name + "=" + ( value || "" ) + expires + "; path=/; domain=" + host ;
115129 } catch ( exp ) { }
116130}
@@ -130,7 +144,7 @@ export const getGleapCookie = (name) => {
130144
131145export const eraseGleapCookie = ( name ) => {
132146 try {
133- const host = window . location . host . split ( ":" ) [ 0 ] ;
147+ const host = removeSubDomain ( window . location . host . split ( ":" ) [ 0 ] ) ;
134148 document . cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Domain=' + host ;
135149 } catch ( exp ) { }
136150}
0 commit comments