@@ -214,7 +214,7 @@ define(function (require, exports, module) {
214214 }
215215 }
216216
217- function _showGeneralSurvey ( surveyURL ) {
217+ function _showGeneralSurvey ( surveyURL , delayOverride ) {
218218 let surveyVersion = 6 ; // increment this if you want to show this again
219219 if ( userAlreadyDidAction . generalSurveyShownVersion === surveyVersion ) {
220220 return ;
@@ -237,7 +237,7 @@ define(function (require, exports, module) {
237237 } , 200 ) ;
238238 userAlreadyDidAction . generalSurveyShownVersion = surveyVersion ;
239239 PhStore . setItem ( GUIDED_TOUR_LOCAL_STORAGE_KEY , JSON . stringify ( userAlreadyDidAction ) ) ;
240- } , GENERAL_SURVEY_TIME ) ;
240+ } , delayOverride || GENERAL_SURVEY_TIME ) ;
241241 }
242242
243243 // 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) {
295295 return resizeObserver ;
296296 }
297297
298- function _showPowerUserSurvey ( surveyURL ) {
298+ function _showPowerUserSurvey ( surveyURL , intervalOverride ) {
299299 if ( _isPowerUser ( ) ) {
300+ const intervalDays = intervalOverride || POWER_USER_SURVEY_INTERVAL_DAYS ;
300301 Metrics . countEvent ( Metrics . EVENT_TYPE . USER , "power" , "user" , 1 ) ;
301302 let lastShownDate = userAlreadyDidAction . lastShownPowerSurveyDate ;
302303 let nextShowDate = new Date ( lastShownDate ) ;
303- nextShowDate . setUTCDate ( nextShowDate . getUTCDate ( ) + POWER_USER_SURVEY_INTERVAL_DAYS ) ;
304+ nextShowDate . setUTCDate ( nextShowDate . getUTCDate ( ) + intervalDays ) ;
304305 let currentDate = new Date ( ) ;
305306 if ( currentDate < nextShowDate ) {
306307 return ;
@@ -338,11 +339,14 @@ define(function (require, exports, module) {
338339 if ( ! Phoenix . isNativeApp && surveyJSON . browser ) {
339340 surveyJSON = {
340341 newUser : surveyJSON . browser . newUser || surveyJSON . newUser ,
341- powerUser : surveyJSON . browser . powerUser || surveyJSON . powerUser
342+ newUserShowDelayMS : surveyJSON . browser . newUserShowDelayMS || surveyJSON . newUserShowDelayMS ,
343+ powerUser : surveyJSON . browser . powerUser || surveyJSON . powerUser ,
344+ powerUserShowIntervalDays : surveyJSON . browser . powerUserShowIntervalDays
345+ || surveyJSON . powerUserShowIntervalDays
342346 } ;
343347 }
344- surveyJSON . newUser && _showGeneralSurvey ( surveyJSON . newUser ) ;
345- surveyJSON . powerUser && _showPowerUserSurvey ( surveyJSON . powerUser ) ;
348+ surveyJSON . newUser && _showGeneralSurvey ( surveyJSON . newUser , surveyJSON . newUserShowDelayMS ) ;
349+ surveyJSON . powerUser && _showPowerUserSurvey ( surveyJSON . powerUser , surveyJSON . powerUserShowIntervalDays ) ;
346350 } catch ( e ) {
347351 console . error ( "Error fetching survey link" , surveyLinksURL , e ) ;
348352 Metrics . countEvent ( Metrics . EVENT_TYPE . USER , "survey" , "fetchError" , 1 ) ;
0 commit comments