From f5c914ed6cbd345f984cf4ba946ad536485f6ea1 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Mon, 11 Dec 2017 18:03:09 +0000 Subject: [PATCH 1/6] When upgrading track changes on V2, redirect to V1 trial page --- services/web/app/views/layout.pug | 4 ++++ .../web/public/coffee/main/account-upgrade.coffee | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/services/web/app/views/layout.pug b/services/web/app/views/layout.pug index e12d7d6f81..fc14c2030b 100644 --- a/services/web/app/views/layout.pug +++ b/services/web/app/views/layout.pug @@ -95,6 +95,10 @@ html(itemscope, itemtype='http://schema.org/Product') cdnDomain : '!{settings.templates.cdnDomain}', indexName : '!{settings.templates.indexName}' } + + - if (settings.overleaf && settings.overleaf.host) + script. + window.v1BaseUrl = '!{settings.overleaf.host}' body if(settings.recaptcha) diff --git a/services/web/public/coffee/main/account-upgrade.coffee b/services/web/public/coffee/main/account-upgrade.coffee index 6144bea9ef..29bc472505 100644 --- a/services/web/public/coffee/main/account-upgrade.coffee +++ b/services/web/public/coffee/main/account-upgrade.coffee @@ -11,9 +11,12 @@ define [ w = window.open() go = () -> ga?('send', 'event', 'subscription-funnel', 'upgraded-free-trial', source) - url = "/user/subscription/new?planCode=#{plan}&ssp=true" - if couponCode? - url = "#{url}&cc=#{couponCode}" + if window.v1BaseUrl? + url = "#{window.v1BaseUrl}/users/trial" + else + url = "/user/subscription/new?planCode=#{plan}&ssp=true" + if couponCode? + url = "#{url}&cc=#{couponCode}" $scope.startedFreeTrial = true switch source @@ -27,7 +30,7 @@ define [ else event_tracking.sendMB "subscription-start-trial", { source, plan } - + w.location = url if $scope.shouldABTestPlans From 4c81cd874fb81d8c3581217f1efe48779d869a67 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 13 Dec 2017 11:09:43 +0000 Subject: [PATCH 2/6] Remove unnecessary method - handled by FreeTrialModalController --- .../controllers/TrackChangesUpgradeModalController.coffee | 5 ----- 1 file changed, 5 deletions(-) diff --git a/services/web/public/coffee/ide/review-panel/controllers/TrackChangesUpgradeModalController.coffee b/services/web/public/coffee/ide/review-panel/controllers/TrackChangesUpgradeModalController.coffee index ae8c049f69..3fcc5e416f 100644 --- a/services/web/public/coffee/ide/review-panel/controllers/TrackChangesUpgradeModalController.coffee +++ b/services/web/public/coffee/ide/review-panel/controllers/TrackChangesUpgradeModalController.coffee @@ -4,8 +4,3 @@ define [ App.controller "TrackChangesUpgradeModalController", ($scope, $modalInstance) -> $scope.cancel = () -> $modalInstance.dismiss() - - $scope.startFreeTrial = (source) -> - ga?('send', 'event', 'subscription-funnel', 'upgraded-free-trial', source) - window.open("/user/subscription/new?planCode=student_free_trial_7_days") - $scope.startedFreeTrial = true \ No newline at end of file From b7a43d95e0e54035c55c8cd35eb49a661da4874e Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 13 Dec 2017 15:55:32 +0000 Subject: [PATCH 3/6] Remove unused method, now handled by FreeTrialModalController --- .../coffee/ide/pdf/controllers/PdfController.coffee | 8 -------- 1 file changed, 8 deletions(-) diff --git a/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee b/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee index 17afd8bbcb..90e5eca145 100644 --- a/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee +++ b/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee @@ -533,14 +533,6 @@ define [ else $scope.switchToSideBySideLayout() - $scope.startFreeTrial = (source) -> - ga?('send', 'event', 'subscription-funnel', 'compile-timeout', source) - - event_tracking.sendMB "subscription-start-trial", { source } - - window.open("/user/subscription/new?planCode=#{$scope.startTrialPlanCode}") - $scope.startedFreeTrial = true - App.factory "synctex", ["ide", "$http", "$q", (ide, $http, $q) -> # enable per-user containers by default perUserCompile = true From 73225223236b25567bc574875786b09ffc3e3cc2 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Thu, 14 Dec 2017 17:05:12 +0000 Subject: [PATCH 4/6] Use freeTrialBaseUrl instead of potentially fragile v1BaseUrl --- services/web/app/views/layout.pug | 5 ++++- services/web/public/coffee/main/account-upgrade.coffee | 9 +++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/services/web/app/views/layout.pug b/services/web/app/views/layout.pug index fc14c2030b..dd93b0b0fa 100644 --- a/services/web/app/views/layout.pug +++ b/services/web/app/views/layout.pug @@ -98,7 +98,10 @@ html(itemscope, itemtype='http://schema.org/Product') - if (settings.overleaf && settings.overleaf.host) script. - window.v1BaseUrl = '!{settings.overleaf.host}' + window.freeTrialBaseUrl = '!{settings.overleaf.host}/users/trial' + - else + script. + window.freeTrialBaseUrl = '/user/subscription/new' body if(settings.recaptcha) diff --git a/services/web/public/coffee/main/account-upgrade.coffee b/services/web/public/coffee/main/account-upgrade.coffee index 29bc472505..8356458ef9 100644 --- a/services/web/public/coffee/main/account-upgrade.coffee +++ b/services/web/public/coffee/main/account-upgrade.coffee @@ -11,12 +11,9 @@ define [ w = window.open() go = () -> ga?('send', 'event', 'subscription-funnel', 'upgraded-free-trial', source) - if window.v1BaseUrl? - url = "#{window.v1BaseUrl}/users/trial" - else - url = "/user/subscription/new?planCode=#{plan}&ssp=true" - if couponCode? - url = "#{url}&cc=#{couponCode}" + url = "#{window.freeTrialBaseUrl}?planCode=#{plan}&ssp=true" + if couponCode? + url = "#{url}&cc=#{couponCode}" $scope.startedFreeTrial = true switch source From da2c0b3fead5de68e96b5e2cbf39ec577ecff004 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Thu, 14 Dec 2017 17:09:11 +0000 Subject: [PATCH 5/6] Switch redirectToOLFreeTrialUrl to calculate trial url Sending unnecessary query params to OL seems like a footgun, so switch to compromise that is more explicit but doesn't send unnecessary query params --- services/web/app/views/layout.pug | 7 ++----- services/web/public/coffee/main/account-upgrade.coffee | 9 ++++++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/services/web/app/views/layout.pug b/services/web/app/views/layout.pug index dd93b0b0fa..14ebc3c576 100644 --- a/services/web/app/views/layout.pug +++ b/services/web/app/views/layout.pug @@ -98,11 +98,8 @@ html(itemscope, itemtype='http://schema.org/Product') - if (settings.overleaf && settings.overleaf.host) script. - window.freeTrialBaseUrl = '!{settings.overleaf.host}/users/trial' - - else - script. - window.freeTrialBaseUrl = '/user/subscription/new' - + window.redirectToOLFreeTrialUrl = '!{settings.overleaf.host}/users/trial' + body if(settings.recaptcha) script(src="https://www.google.com/recaptcha/api.js?render=explicit") diff --git a/services/web/public/coffee/main/account-upgrade.coffee b/services/web/public/coffee/main/account-upgrade.coffee index 8356458ef9..0cabc224a0 100644 --- a/services/web/public/coffee/main/account-upgrade.coffee +++ b/services/web/public/coffee/main/account-upgrade.coffee @@ -11,9 +11,12 @@ define [ w = window.open() go = () -> ga?('send', 'event', 'subscription-funnel', 'upgraded-free-trial', source) - url = "#{window.freeTrialBaseUrl}?planCode=#{plan}&ssp=true" - if couponCode? - url = "#{url}&cc=#{couponCode}" + if window.redirectToOLFreeTrialUrl? + url = window.redirectToOLFreeTrialUrl + else + url = "/user/subscription/new?planCode=#{plan}&ssp=true" + if couponCode? + url = "#{url}&cc=#{couponCode}" $scope.startedFreeTrial = true switch source From dc2ddf7e0938a5891d79ca751e8f58c1855f301e Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Mon, 18 Dec 2017 16:53:58 +0000 Subject: [PATCH 6/6] Check for OL free trial instead of host as it may be fragile indicator --- services/web/app/views/layout.pug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/web/app/views/layout.pug b/services/web/app/views/layout.pug index 14ebc3c576..2c6a836e8f 100644 --- a/services/web/app/views/layout.pug +++ b/services/web/app/views/layout.pug @@ -96,7 +96,7 @@ html(itemscope, itemtype='http://schema.org/Product') indexName : '!{settings.templates.indexName}' } - - if (settings.overleaf && settings.overleaf.host) + - if (settings.overleaf && settings.overleaf.useOLFreeTrial) script. window.redirectToOLFreeTrialUrl = '!{settings.overleaf.host}/users/trial'