mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-11 23:20:47 +02:00
02dc00b0b8
* [web] stopOnFirstError=true does not conflict with =false locally Allow stopOnFirstError to be enabled in the compile from cache and disabled locally. Compiles that passed with stopOnFirstError=true will also pass with stopOnFirstError=false. The inverse does not hold, and we need to recompile. * [web] record event when using compile from cache * [web] record event when falling back to clsi-cache * [web] make clsi-cache a premium feature * [k8s] clsi-cache: increase disk size for beta rollout NOTE: As this is a premium feature and paid servers run in zones c+d, we do not need to scale up clsi-cache in zone b for now. * [web] enable full sampling of compile-result-backend events * [web] fix frontend tests * [web] be more verbose when determining access to clsi-cache feature GitOrigin-RevId: 6fd663e16085187876eb225f7f33eeeaf69d2b2a
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
import getMeta from '../../../utils/meta'
|
|
import { debugConsole } from '@/utils/debugging'
|
|
|
|
const hasTextEncoder = typeof TextEncoder !== 'undefined'
|
|
if (!hasTextEncoder) {
|
|
debugConsole.warn('TextEncoder is not available. Disabling pdf-caching.')
|
|
}
|
|
|
|
const isOpera =
|
|
Array.isArray(navigator.userAgentData?.brands) &&
|
|
navigator.userAgentData.brands.some(b => b.brand === 'Opera')
|
|
if (isOpera) {
|
|
debugConsole.warn('Browser cache is limited in Opera. Disabling pdf-caching.')
|
|
}
|
|
|
|
function isFlagEnabled(flag) {
|
|
if (!hasTextEncoder) return false
|
|
if (isOpera) return false
|
|
return getMeta('ol-splitTestVariants')?.[flag] === 'enabled'
|
|
}
|
|
|
|
export const cachedUrlLookupEnabled = isFlagEnabled(
|
|
'pdf-caching-cached-url-lookup'
|
|
)
|
|
export const prefetchingEnabled = isFlagEnabled('pdf-caching-prefetching')
|
|
export const prefetchLargeEnabled = isFlagEnabled('pdf-caching-prefetch-large')
|
|
export const enablePdfCaching = isFlagEnabled('pdf-caching-mode')
|
|
export const trackPdfDownloadEnabled = isFlagEnabled('track-pdf-download')
|
|
export const projectOwnerHasPremiumOnPageLoad = getMeta(
|
|
'ol-projectOwnerHasPremiumOnPageLoad'
|
|
)
|
|
export const fallBackToClsiCache =
|
|
projectOwnerHasPremiumOnPageLoad && isFlagEnabled('fall-back-to-clsi-cache')
|