From 5f1144521f2993cb9d295b656ee50f276b5de82b Mon Sep 17 00:00:00 2001 From: abose <arun@core.ai> Date: Thu, 21 Nov 2024 17:20:39 +0530 Subject: [PATCH] chore: remote config of survey show times --- .../Phoenix/guided-tour.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/extensionsIntegrated/Phoenix/guided-tour.js b/src/extensionsIntegrated/Phoenix/guided-tour.js index 5559404bbc..abcf0c2cae 100644 --- a/src/extensionsIntegrated/Phoenix/guided-tour.js +++ b/src/extensionsIntegrated/Phoenix/guided-tour.js @@ -214,7 +214,7 @@ define(function (require, exports, module) { } } - function _showGeneralSurvey(surveyURL) { + function _showGeneralSurvey(surveyURL, delayOverride) { let surveyVersion = 6; // increment this if you want to show this again if(userAlreadyDidAction.generalSurveyShownVersion === surveyVersion) { return; @@ -237,7 +237,7 @@ define(function (require, exports, module) { }, 200); userAlreadyDidAction.generalSurveyShownVersion = surveyVersion; PhStore.setItem(GUIDED_TOUR_LOCAL_STORAGE_KEY, JSON.stringify(userAlreadyDidAction)); - }, GENERAL_SURVEY_TIME); + }, delayOverride || GENERAL_SURVEY_TIME); } // a power user is someone who has used Phoenix at least 3 days or 8 hours in the last two weeks @@ -295,12 +295,13 @@ define(function (require, exports, module) { return resizeObserver; } - function _showPowerUserSurvey(surveyURL) { + function _showPowerUserSurvey(surveyURL, intervalOverride) { if(_isPowerUser()) { + const intervalDays = intervalOverride || POWER_USER_SURVEY_INTERVAL_DAYS; Metrics.countEvent(Metrics.EVENT_TYPE.USER, "power", "user", 1); let lastShownDate = userAlreadyDidAction.lastShownPowerSurveyDate; let nextShowDate = new Date(lastShownDate); - nextShowDate.setUTCDate(nextShowDate.getUTCDate() + POWER_USER_SURVEY_INTERVAL_DAYS); + nextShowDate.setUTCDate(nextShowDate.getUTCDate() + intervalDays); let currentDate = new Date(); if(currentDate < nextShowDate){ return; @@ -338,11 +339,14 @@ define(function (require, exports, module) { if(!Phoenix.isNativeApp && surveyJSON.browser) { surveyJSON = { newUser: surveyJSON.browser.newUser || surveyJSON.newUser, - powerUser: surveyJSON.browser.powerUser || surveyJSON.powerUser + newUserShowDelayMS: surveyJSON.browser.newUserShowDelayMS || surveyJSON.newUserShowDelayMS, + powerUser: surveyJSON.browser.powerUser || surveyJSON.powerUser, + powerUserShowIntervalDays: surveyJSON.browser.powerUserShowIntervalDays + || surveyJSON.powerUserShowIntervalDays }; } - surveyJSON.newUser && _showGeneralSurvey(surveyJSON.newUser); - surveyJSON.powerUser && _showPowerUserSurvey(surveyJSON.powerUser); + surveyJSON.newUser && _showGeneralSurvey(surveyJSON.newUser, surveyJSON.newUserShowDelayMS); + surveyJSON.powerUser && _showPowerUserSurvey(surveyJSON.powerUser, surveyJSON.powerUserShowIntervalDays); } catch (e) { console.error("Error fetching survey link", surveyLinksURL, e); Metrics.countEvent(Metrics.EVENT_TYPE.USER, "survey", "fetchError", 1);