mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-04 22:59:01 +02:00
5e49f421c2
(Re)Cleanup editor-redesign-opt-out feature flag GitOrigin-RevId: afefced1f77de2b8b27e1333ffa647ac41561e31
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
|
|
|
|
// Copied from services/web/frontend/js/features/ide-redesign/utils/new-editor-utils.ts
|
|
const SPLIT_TEST_USER_CUTOFF_DATE = new Date(Date.UTC(2025, 8, 23, 13, 0, 0)) // 2pm British Summer Time on September 23, 2025
|
|
const NEW_USER_CUTOFF_DATE = new Date(Date.UTC(2025, 10, 12, 12, 0, 0)) // 12pm GMT on November 12, 2025
|
|
|
|
async function getEnableNewEditorLegacyDefault(req, res, user) {
|
|
if (req.query['existing-user-override'] === 'true') {
|
|
return false
|
|
}
|
|
|
|
if (req.query['skip-new-user-check'] === 'true') {
|
|
return true
|
|
}
|
|
|
|
if (user.signUpDate >= NEW_USER_CUTOFF_DATE) {
|
|
return true
|
|
}
|
|
|
|
if (user.signUpDate >= SPLIT_TEST_USER_CUTOFF_DATE) {
|
|
const assignment = await SplitTestHandler.promises.getAssignment(
|
|
req,
|
|
res,
|
|
'editor-redesign-new-users'
|
|
)
|
|
|
|
return assignment.variant !== 'default'
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
async function buildUserSettings(req, res, user) {
|
|
const defaultLegacyEnableNewEditor = await getEnableNewEditorLegacyDefault(
|
|
req,
|
|
res,
|
|
user
|
|
)
|
|
|
|
const enableNewEditorStageFour = user.ace.enableNewEditorStageFour ?? true
|
|
const enableNewEditorLegacy =
|
|
user.ace.enableNewEditor ?? defaultLegacyEnableNewEditor
|
|
|
|
return {
|
|
mode: user.ace.mode,
|
|
editorTheme: user.ace.theme,
|
|
editorLightTheme: user.ace.lightTheme,
|
|
editorDarkTheme: user.ace.darkTheme,
|
|
fontSize: user.ace.fontSize,
|
|
autoComplete: user.ace.autoComplete,
|
|
autoPairDelimiters: user.ace.autoPairDelimiters,
|
|
pdfViewer: user.ace.pdfViewer,
|
|
syntaxValidation: user.ace.syntaxValidation,
|
|
fontFamily: user.ace.fontFamily || 'lucida',
|
|
lineHeight: user.ace.lineHeight || 'normal',
|
|
overallTheme: user.ace.overallTheme,
|
|
mathPreview: user.ace.mathPreview,
|
|
breadcrumbs: user.ace.breadcrumbs,
|
|
referencesSearchMode: user.ace.referencesSearchMode,
|
|
enableNewEditor: enableNewEditorStageFour,
|
|
enableNewEditorLegacy,
|
|
darkModePdf: user.ace.darkModePdf ?? false,
|
|
}
|
|
}
|
|
|
|
export default {
|
|
buildUserSettings,
|
|
}
|