Merge pull request #22705 from overleaf/mf-tear-down-paywall-cta

[web] Tear down `paywall-cta` split test

GitOrigin-RevId: 8cfba819b80bb34f48f8fc1fec37aee6791ef9f0
This commit is contained in:
M Fahru
2025-03-27 06:11:56 -07:00
committed by Copybot
parent 3512992ac4
commit 898b42e131
8 changed files with 4 additions and 59 deletions

View File

@@ -338,7 +338,6 @@ const _ProjectController = {
'external-socket-heartbeat',
'full-project-search',
'null-test-share-modal',
'paywall-cta',
'pdf-caching-cached-url-lookup',
'pdf-caching-mode',
'pdf-caching-prefetch-large',

View File

@@ -409,15 +409,6 @@ async function projectListPage(req, res, next) {
logger.error({ err: error }, 'Failed to get individual subscription')
}
try {
await SplitTestHandler.promises.getAssignment(req, res, 'paywall-cta')
} catch (error) {
logger.error(
{ err: error },
'failed to get "paywall-cta" split test assignment'
)
}
// Get the user's assignment for the DS unified nav split test, which
// populates splitTestVariants with a value for the split test name and allows
// Pug to send it to the browser

View File

@@ -604,21 +604,14 @@
"generic_if_problem_continues_contact_us": "",
"generic_linked_file_compile_error": "",
"generic_something_went_wrong": "",
"get_advanced_reference_search": "",
"get_collaborative_benefits": "",
"get_discounted_plan": "",
"get_dropbox_sync": "",
"get_error_assist": "",
"get_exclusive_access_to_labs": "",
"get_full_project_history": "",
"get_git_integration": "",
"get_github_sync": "",
"get_in_touch": "",
"get_more_compile_time": "",
"get_most_subscription_by_checking_features": "",
"get_most_subscription_discover_premium_features": "",
"get_symbol_palette": "",
"get_track_changes": "",
"git": "",
"git_authentication_token": "",
"git_authentication_token_create_modal_info_1": "",
@@ -988,7 +981,6 @@
"maximum_files_uploaded_together": "",
"maybe_later": "",
"members_management": "",
"mendeley_cta": "",
"mendeley_dynamic_sync_description": "",
"mendeley_groups_loading_error": "",
"mendeley_groups_relink": "",
@@ -1137,7 +1129,6 @@
"owner": "",
"page_current": "",
"pagination_navigation": "",
"papers_cta": "",
"papers_dynamic_sync_description": "",
"papers_groups_loading_error": "",
"papers_groups_relink": "",
@@ -2139,7 +2130,6 @@
"zoom_in": "",
"zoom_out": "",
"zoom_to": "",
"zotero_cta": "",
"zotero_dynamic_sync_description": "",
"zotero_groups_loading_error": "",
"zotero_groups_relink": "",

View File

@@ -3,7 +3,6 @@ import Icon from '../../../../shared/components/icon'
import { useCallback, useEffect, useState } from 'react'
import * as eventTracking from '../../../../infrastructure/event-tracking'
import StartFreeTrialButton from '../../../../shared/components/start-free-trial-button'
import { useFeatureFlag } from '@/shared/context/split-test-context'
function FeatureItem({ text }: { text: string }) {
return (
@@ -17,8 +16,6 @@ export function OwnerPaywallPrompt() {
const { t } = useTranslation()
const [clickedFreeTrialButton, setClickedFreeTrialButton] = useState(false)
const hasNewPaywallCta = useFeatureFlag('paywall-cta')
useEffect(() => {
eventTracking.send('subscription-funnel', 'editor-click-feature', 'history')
eventTracking.sendMB('paywall-prompt', { 'paywall-type': 'history' })
@@ -53,9 +50,7 @@ export function OwnerPaywallPrompt() {
buttonProps={{ variant: 'premium' }}
handleClick={handleFreeTrialClick}
>
{hasNewPaywallCta
? t('get_full_project_history')
: t('start_free_trial')}
{t('start_free_trial')}
</StartFreeTrialButton>
</p>
{clickedFreeTrialButton ? (

View File

@@ -2,15 +2,12 @@ import Notification from '@/shared/components/notification'
import StartFreeTrialButton from '@/shared/components/start-free-trial-button'
import { useTranslation } from 'react-i18next'
import { FC } from 'react'
import { useFeatureFlag } from '@/shared/context/split-test-context'
export const CompileTimeWarningUpgradePromptInner: FC<{
handleDismissWarning: () => void
}> = ({ handleDismissWarning }) => {
const { t } = useTranslation()
const hasNewPaywallCta = useFeatureFlag('paywall-cta')
return (
<Notification
action={
@@ -21,9 +18,7 @@ export const CompileTimeWarningUpgradePromptInner: FC<{
variant: 'secondary',
}}
>
{hasNewPaywallCta
? t('get_more_compile_time')
: t('start_free_trial_without_exclamation')}
{t('start_free_trial_without_exclamation')}
</StartFreeTrialButton>
}
ariaLive="polite"

View File

@@ -6,7 +6,6 @@ import PdfLogEntry from './pdf-log-entry'
import { useStopOnFirstError } from '../../../shared/hooks/use-stop-on-first-error'
import OLButton from '@/features/ui/components/ol/ol-button'
import * as eventTracking from '../../../infrastructure/event-tracking'
import { useFeatureFlag } from '@/shared/context/split-test-context'
import getMeta from '@/utils/meta'
function TimeoutUpgradePromptNew() {
@@ -50,8 +49,6 @@ const CompileTimeout = memo(function CompileTimeout({
}: CompileTimeoutProps) {
const { t } = useTranslation()
const hasNewPaywallCta = useFeatureFlag('paywall-cta')
return (
<PdfLogEntry
headerTitle={t('your_compile_timed_out')}
@@ -86,9 +83,7 @@ const CompileTimeout = memo(function CompileTimeout({
source="compile-timeout"
buttonProps={{ variant: 'primary', className: 'w-100' }}
>
{hasNewPaywallCta
? t('get_more_compile_time')
: t('start_a_free_trial')}
{t('start_a_free_trial')}
</StartFreeTrialButton>
</p>
)}

View File

@@ -5,7 +5,6 @@ import teaserVideo from '../images/teaser-track-changes.mp4'
import teaserImage from '../images/teaser-track-changes.gif'
import { startFreeTrial, upgradePlan } from '@/main/account-upgrade'
import { memo } from 'react'
import { useFeatureFlag } from '@/shared/context/split-test-context'
import OLModal, {
OLModalBody,
OLModalFooter,
@@ -30,8 +29,6 @@ function UpgradeTrackChangesModal({
const project = useProjectContext()
const user = useUserContext()
const hasNewPaywallCta = useFeatureFlag('paywall-cta')
return (
<OLModal show={show} onHide={() => setShow(false)}>
<OLModalHeader closeButton>
@@ -78,9 +75,7 @@ function UpgradeTrackChangesModal({
variant="primary"
onClick={() => startFreeTrial('track-changes')}
>
{hasNewPaywallCta
? t('get_track_changes')
: t('try_it_for_free')}
{t('try_it_for_free')}
</OLButton>
) : (
<OLButton

View File

@@ -804,26 +804,17 @@
"generic_if_problem_continues_contact_us": "If the problem continues please contact us",
"generic_linked_file_compile_error": "This projects output files are not available because it failed to compile. Please open the project to see the compilation error details.",
"generic_something_went_wrong": "Sorry, something went wrong",
"get_advanced_reference_search": "Get advanced reference search",
"get_collaborative_benefits": "Get the collaborative benefits from __appName__, even if you prefer to work offline",
"get_discounted_plan": "Get discounted plan",
"get_dropbox_sync": "Get Dropbox Sync",
"get_error_assist": "Get Error Assist",
"get_exclusive_access_to_labs": "Get exclusive access to early-stage experiments when you join Overleaf Labs. All we ask in return is your honest feedback to help us develop and improve.",
"get_full_project_history": "Get full project history",
"get_git_integration": "Get Git integration",
"get_github_sync": "Get GitHub Sync",
"get_in_touch": "Get in touch",
"get_in_touch_having_problems": "<a href=\"__link__\">Get in touch with support</a> if youre having problems",
"get_involved": "Get involved",
"get_more_compile_time": "Get more compile time",
"get_most_subscription_by_checking_features": "Get the most out of your __appName__ subscription by checking out <0>__appName__s features</0>.",
"get_most_subscription_discover_premium_features": "Get the most from your __appName__ subscription. <0>Discover premium features</0>.",
"get_symbol_palette": "Get Symbol Palette",
"get_the_best_overleaf_experience": "Get the best Overleaf experience",
"get_the_best_writing_experience": "Get the best writing experience",
"get_the_most_out_headline": "Get the most out of __appName__ with features such as:",
"get_track_changes": "Get track changes",
"git": "Git",
"git_authentication_token": "Git authentication token",
"git_authentication_token_create_modal_info_1": "This is your Git authentication token. You should enter this when prompted for a password.",
@@ -1305,7 +1296,6 @@
"member_picker": "Select number of users for group plan",
"members_management": "Members management",
"mendeley": "Mendeley",
"mendeley_cta": "Get Mendeley integration",
"mendeley_dynamic_sync_description": "With the Mendeley integration, you can import your references into __appName__. You can either import all your references at once or dynamically search your Mendeley library directly from __appName__.",
"mendeley_groups_loading_error": "There was an error loading groups from Mendeley",
"mendeley_groups_relink": "There was an error accessing your Mendeley data. This was likely caused by lack of permissions. Please re-link your account and try again.",
@@ -1394,7 +1384,6 @@
"no_existing_password": "Please use the password reset form to set your password",
"no_featured_templates": "No featured templates",
"no_folder": "No folder",
"no_i_dont_need_these": "No, I dont need these",
"no_image_files_found": "No image files found",
"no_libraries_selected": "No libraries selected",
"no_members": "No members",
@@ -1513,7 +1502,6 @@
"page_current": "Page __page__, Current Page",
"page_not_found": "Page Not Found",
"pagination_navigation": "Pagination Navigation",
"papers_cta": "Get Papers integration",
"papers_dynamic_sync_description": "With the Papers integration, you can import your references into __appName__. You can either import all your references at once or dynamically search your Papers library directly from __appName__.",
"papers_groups_loading_error": "There was an error loading libraries from Papers",
"papers_groups_relink": "There was an error accessing your Papers data. This was likely caused by lack of permissions. Please re-link your account and try again.",
@@ -2582,7 +2570,6 @@
"work_or_university_sso": "Work/university single sign-on",
"work_with_non_overleaf_users": "Work with non Overleaf users",
"work_with_other_github_users": "Work with other GitHub users",
"write_and_collaborate_faster_with_features_like": "Write and collaborate faster with features like:",
"writefull": "Writefull",
"writefull_loading_error_body": "Try refreshing the page. If this doesnt work, try disabling any active browser extensions to check they arent blocking Writefull from loading.",
"writefull_loading_error_title": "Writefull didnt load correctly",
@@ -2597,7 +2584,6 @@
"x_price_per_year": "__price__ per year",
"year": "year",
"yearly": "Yearly",
"yes_im_in": "Yes, Im in",
"yes_move_me_to_personal_plan": "Yes, move me to the Personal plan",
"yes_that_is_correct": "Yes, thats correct",
"you": "You",
@@ -2711,7 +2697,6 @@
"zoom_to": "Zoom to",
"zotero": "Zotero",
"zotero_and_mendeley_integrations": "<0>Zotero</0> and <0>Mendeley</0> integrations",
"zotero_cta": "Get Zotero integration",
"zotero_dynamic_sync_description": "With the Zotero integration, you can import your references into __appName__. You can either import all your references at once or dynamically search your Zotero library directly from __appName__.",
"zotero_groups_loading_error": "There was an error loading groups from Zotero",
"zotero_groups_relink": "There was an error accessing your Zotero data. This was likely caused by lack of permissions. Please re-link your account and try again.",