From d69dbe6db5833d76162d1914c1747dc8c965d68f Mon Sep 17 00:00:00 2001 From: Connor O'Brien Date: Mon, 15 Dec 2025 14:58:55 -0600 Subject: [PATCH] Revert "Creating unified functions, always save to keep in sync (#109)" This reverts commit 1ec4fc27f9fa74589ca14141ee48a47c1780ff19. --- init-activities.js | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/init-activities.js b/init-activities.js index a318e6a..785f9c1 100644 --- a/init-activities.js +++ b/init-activities.js @@ -71,17 +71,6 @@ function setCookie(name, value, days) { document.cookie = name + '=' + (value || '') + expires + '; path=/'; } -function getJSONFromMemory(name) { - const value = getJSONFromCookie(name); - if (value !== null) return value; - return getJSONFromStorage(name); -} - -function setJSONToMemory(name, data) { - setJSONCookie(name, data); - setJSONStorage(name, data); -} - function getJSONFromCookie(cookieName) { const cookies = document.cookie.split(';'); @@ -146,7 +135,7 @@ function setJSONStorage(key, data) { } function cleanupStoredVariations() { - const storageValue = getJSONFromMemory(COOKIE_NAME); + const storageValue = getJSONFromStorage(COOKIE_NAME); if (!storageValue || !storageValue.variations) return; const storedVariations = storageValue.variations; @@ -173,7 +162,9 @@ function cleanupStoredVariations() { }); // Update storage with cleaned variations - setJSONToMemory(COOKIE_NAME, { ...storageValue, variations: cleanedVariations }); + if (Object.keys(cleanedVariations).length !== Object.keys(storedVariations).length) { + setJSONStorage(COOKIE_NAME, { ...storageValue, variations: cleanedVariations }); + } } function detectAudiences(userAudience, activityAudiences) { @@ -510,7 +501,7 @@ function attachJsFile(src) { function loadVariation(activity) { const activityName = activity.activity; const variations = activity.variants; - const storageValue = getJSONFromMemory(COOKIE_NAME) || { variations: {} }; + const storageValue = getJSONFromStorage(COOKIE_NAME) || { variations: {} }; const storageVariations = storageValue.variations || {}; // --- Helper: Weighted random selection --- @@ -597,7 +588,7 @@ function loadVariation(activity) { if (overrideVariant && variations?.[overrideVariant]) { // set storage to value used in override storageVariations[activityName] = overrideVariant; - setJSONToMemory(COOKIE_NAME, { ...storageValue, variations: storageVariations }); + setJSONStorage(COOKIE_NAME, { ...storageValue, variations: storageVariations }); setClarityTags(activityName, overrideVariant); setTrackMetricsLink(activityName, overrideVariant); // Load overridden variant without modifying storage @@ -611,7 +602,7 @@ function loadVariation(activity) { if (!selectedVariation || !variations?.[selectedVariation]) { selectedVariation = selectVariation(variations); storageVariations[activityName] = selectedVariation; - setJSONToMemory(COOKIE_NAME, { ...storageValue, variations: storageVariations }); + setJSONStorage(COOKIE_NAME, { ...storageValue, variations: storageVariations }); } setClarityTags(activityName, selectedVariation);