diff --git a/common/changes/@snowplow/browser-tracker-core/discover-root-default_2024-10-04-03-51.json b/common/changes/@snowplow/browser-tracker-core/discover-root-default_2024-10-04-03-51.json new file mode 100644 index 000000000..63c1c035e --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/discover-root-default_2024-10-04-03-51.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Re-allow unspecified cookies domains", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 8787d5146..6cbb5d8b4 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -224,7 +224,7 @@ export function Tracker( // First-party cookie domain // User agent defaults to origin hostname configCookieDomain = trackerConfiguration.cookieDomain ?? undefined, - discoverRootDomain = trackerConfiguration.discoverRootDomain || true, + discoverRootDomain = trackerConfiguration.discoverRootDomain ?? configCookieDomain === undefined, // First-party cookie path // Default is user agent defined. configCookiePath = '/', @@ -608,7 +608,15 @@ export function Tracker( if (configStateStorageStrategy == 'localStorage') { return attemptWriteLocalStorage(name, value, timeout); } else if (configStateStorageStrategy == 'cookie' || configStateStorageStrategy == 'cookieAndLocalStorage') { - return cookieStorage.setCookie(name, value, timeout, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure); + return cookieStorage.setCookie( + name, + value, + timeout, + configCookiePath, + configCookieDomain, + configCookieSameSite, + configCookieSecure + ); } return false; } @@ -621,8 +629,20 @@ export function Tracker( const sesname = getSnowplowCookieName('ses'); attemptDeleteLocalStorage(idname); attemptDeleteLocalStorage(sesname); - cookieStorage.deleteCookie(idname, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure); - cookieStorage.deleteCookie(sesname, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure); + cookieStorage.deleteCookie( + idname, + configCookiePath, + configCookieDomain, + configCookieSameSite, + configCookieSecure + ); + cookieStorage.deleteCookie( + sesname, + configCookiePath, + configCookieDomain, + configCookieSameSite, + configCookieSecure + ); if (!configuration?.preserveSession) { memorizedSessionId = uuid(); memorizedVisitCount = 1;