Merge pull request #23285 from overleaf/ds-compile-timeout-paywall-split-test

Compile timeout paywall - Setting up the split test

GitOrigin-RevId: c91c25c167daffdcd7b86fddf33e1867f90d0f4a
This commit is contained in:
Davinder Singh
2025-01-31 15:40:54 +00:00
committed by Copybot
parent e600c18e4e
commit 633be7d9fd
4 changed files with 21 additions and 1 deletions

View File

@@ -355,6 +355,7 @@ const _ProjectController = {
'reviewer-role',
'papers-integration',
'editor-redesign',
'paywall-change-compile-timeout',
].filter(Boolean)
const getUserValues = async userId =>
@@ -845,6 +846,9 @@ const _ProjectController = {
isReviewerRoleEnabled:
reviewerRoleAssignment?.variant === 'enabled' ||
Object.keys(project.reviewer_refs || {}).length > 0,
isPaywallChangeCompileTimeoutEnabled:
splitTestAssignments['paywall-change-compile-timeout']?.variant ===
'enabled',
})
timer.done()
} catch (err) {

View File

@@ -42,6 +42,7 @@ meta(name="ol-ro-mirror-on-client-no-local-storage" data-type="boolean" content=
meta(name="ol-isSaas" data-type="boolean" content=isSaas)
meta(name="ol-shouldLoadHotjar" data-type="boolean" content=shouldLoadHotjar)
meta(name="ol-isReviewerRoleEnabled" data-type="boolean" content=isReviewerRoleEnabled)
meta(name="ol-isPaywallChangeCompileTimeoutEnabled" data-type="boolean" content=isPaywallChangeCompileTimeoutEnabled)
// translations for the loading page, before i18n has loaded in the client
meta(name="ol-loadingText", data-type="string" content=translate("loading"))

View File

@@ -15,6 +15,8 @@ import { useDetachCompileContext as useCompileContext } from '../../../shared/co
import PdfLogEntry from './pdf-log-entry'
import { usePdfPreviewContext } from '@/features/pdf-preview/components/pdf-preview-provider'
import PropTypes from 'prop-types'
import TimeoutUpgradePaywallPrompt from './timeout-upgrade-paywall-prompt'
import getMeta from '@/utils/meta'
function PdfLogsViewer({ alwaysVisible = false }) {
const {
@@ -32,6 +34,10 @@ function PdfLogsViewer({ alwaysVisible = false }) {
const { t } = useTranslation()
const isPaywallChangeCompileTimeoutEnabled = getMeta(
'ol-isPaywallChangeCompileTimeoutEnabled'
)
return (
<div
className={classnames('logs-pane', {
@@ -46,7 +52,11 @@ function PdfLogsViewer({ alwaysVisible = false }) {
{loadingError && <PdfPreviewError error="pdf-viewer-loading-error" />}
{hasShortCompileTimeout && error === 'timedout' ? (
<TimeoutUpgradePromptNew />
isPaywallChangeCompileTimeoutEnabled ? (
<TimeoutUpgradePaywallPrompt />
) : (
<TimeoutUpgradePromptNew />
)
) : (
<>{error && <PdfPreviewError error={error} />}</>
)}

View File

@@ -0,0 +1,5 @@
function TimeoutUpgradePaywallPrompt() {
return <div>Hello world from new paywall component</div>
}
export default TimeoutUpgradePaywallPrompt