diff --git a/services/web/app/src/Features/Project/ProjectController.mjs b/services/web/app/src/Features/Project/ProjectController.mjs index 043267825a..61e27f4325 100644 --- a/services/web/app/src/Features/Project/ProjectController.mjs +++ b/services/web/app/src/Features/Project/ProjectController.mjs @@ -513,7 +513,7 @@ const _ProjectController = { req, projectId ) - const imageNames = ProjectHelper.getAllowedImagesForUser(user) + const allowedImageNames = ProjectHelper.getAllowedImagesForUser(user) const privilegeLevel = await AuthorizationManager.promises.getPrivilegeLevelForProject( @@ -847,7 +847,7 @@ const _ProjectController = { maxReconnectGracefullyIntervalMs: Settings.maxReconnectGracefullyIntervalMs, brandVariation, - imageNames, + allowedImageNames, gitBridgePublicBaseUrl: Settings.gitBridgePublicBaseUrl, gitBridgeEnabled: Features.hasFeature('git-bridge'), wsUrl, diff --git a/services/web/app/src/Features/Project/ProjectHelper.js b/services/web/app/src/Features/Project/ProjectHelper.js index cdb03bca3a..ab03600347 100644 --- a/services/web/app/src/Features/Project/ProjectHelper.js +++ b/services/web/app/src/Features/Project/ProjectHelper.js @@ -148,27 +148,11 @@ function _addNumericSuffixToProjectName(name, allProjectNames, maxLength) { return null } -function _imageAllowed(user, image) { - if (image.alphaOnly) { - return Boolean(user?.alphaProgram) - } - if (image.monthlyExperimental) { - return Boolean( - user?.labsProgram && user.labsExperiments.includes('monthly-texlive') - ) - } - return true -} - function getAllowedImagesForUser(user) { - let images = Settings.allowedImageNames || [] - - images = images.map(image => { - return { - ...image, - allowed: _imageAllowed(user, image), - } - }) - - return images + const images = Settings.allowedImageNames || [] + if (user?.alphaProgram) { + return images + } else { + return images.filter(image => !image.alphaOnly) + } } diff --git a/services/web/app/views/project/editor/_meta.pug b/services/web/app/views/project/editor/_meta.pug index 5aebbd8b01..9b60857be0 100644 --- a/services/web/app/views/project/editor/_meta.pug +++ b/services/web/app/views/project/editor/_meta.pug @@ -1,6 +1,6 @@ meta(name="ol-project_id" content=project_id) meta(name="ol-projectName" content=projectName) -meta(name="ol-projectOwnerHasPremiumOnPageLoad" content=projectOwnerHasPremiumOnPageLoad) +meta(name="ol-projectOwnerHasPremiumOnPageLoad" data-type="boolean" content=projectOwnerHasPremiumOnPageLoad) meta(name="ol-userSettings" data-type="json" content=userSettings) meta(name="ol-user" data-type="json" content=user) meta(name="ol-labsExperiments" data-type="json" content=labsExperiments) @@ -26,16 +26,16 @@ meta(name="ol-showSymbolPalette" data-type="boolean" content=showSymbolPalette) meta(name="ol-symbolPaletteAvailable" data-type="boolean" content=symbolPaletteAvailable) meta(name="ol-showAiErrorAssistant" data-type="boolean" content=showAiErrorAssistant) meta(name="ol-detachRole" data-type="string" content=detachRole) -meta(name="ol-imageNames" data-type="json" content=imageNames) +meta(name="ol-allowedImageNames" data-type="json" content=allowedImageNames) meta(name="ol-languages" data-type="json" content=languages) meta(name="ol-editorThemes" data-type="json" content=editorThemes) meta(name="ol-legacyEditorThemes" data-type="json" content=legacyEditorThemes) meta(name="ol-showUpgradePrompt" data-type="boolean" content=showUpgradePrompt) -meta(name="ol-showSupport" data-type="boolean" content=showSupport) -meta(name="ol-showTemplatesServerPro" data-type="boolean" content=showTemplatesServerPro) -meta(name="ol-hasTrackChangesFeature" data-type="boolean" content=hasTrackChangesFeature) -meta(name="ol-otMigrationStage" data-type="number" content=otMigrationStage) -meta(name="ol-inactiveTutorials" data-type="json" content=user.inactiveTutorials) +meta(name="ol-showSupport", data-type="boolean" content=showSupport) +meta(name="ol-showTemplatesServerPro", data-type="boolean" content=showTemplatesServerPro) +meta(name="ol-hasTrackChangesFeature", data-type="boolean" content=hasTrackChangesFeature) +meta(name="ol-otMigrationStage", data-type="number" content=otMigrationStage) +meta(name="ol-inactiveTutorials", data-type="json" content=user.inactiveTutorials) meta(name="ol-projectTags" data-type="json" content=projectTags) meta(name="ol-ro-mirror-on-client-no-local-storage" data-type="boolean" content=roMirrorOnClientNoLocalStorage) meta(name="ol-isSaas" data-type="boolean" content=isSaas) @@ -44,12 +44,12 @@ meta(name='ol-customerIoEnabled' data-type="boolean" content=customerIoEnabled) meta(name='ol-compileSettings' data-type="json" content=compileSettings) if(isOverleafAssistBundleEnabled) //- expose plans info to show prices in paywall-change-compile-timeout test - meta(name="ol-addonPrices" data-type="json" content=addonPrices) + meta(name="ol-addonPrices", data-type="json" content=addonPrices) // translations for the loading page, before i18n has loaded in the client -meta(name="ol-loadingText" data-type="string" content=translate("loading")) -meta(name="ol-translationIoNotLoaded" data-type="string" content=translate("could_not_connect_to_websocket_server")) -meta(name="ol-translationLoadErrorMessage" data-type="string" content=translate("could_not_load_translations")) -meta(name="ol-translationUnableToJoin" data-type="string" content=translate("could_not_connect_to_collaboration_server")) +meta(name="ol-loadingText", data-type="string" content=translate("loading")) +meta(name="ol-translationIoNotLoaded", data-type="string" content=translate("could_not_connect_to_websocket_server")) +meta(name="ol-translationLoadErrorMessage", data-type="string" content=translate("could_not_load_translations")) +meta(name="ol-translationUnableToJoin", data-type="string" content=translate("could_not_connect_to_collaboration_server")) if (settings.overleaf != null) meta(name="ol-overallThemes" data-type="json" content=overallThemes) diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 252270222e..7d6c354e01 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -1484,7 +1484,6 @@ "revoke_invite": "", "right": "", "role": "", - "rolling_texlive_build": "", "saml_auth_error": "", "saml_identity_exists_error": "", "saml_invalid_signature_error": "", @@ -1779,7 +1778,6 @@ "test": "", "test_configuration": "", "test_configuration_successful": "", - "test_more_recent_versions_of_texlive": "", "tex_live_version": "", "texgpt": "", "thank_you": "", diff --git a/services/web/frontend/js/features/editor-left-menu/components/settings/settings-image-name.tsx b/services/web/frontend/js/features/editor-left-menu/components/settings/settings-image-name.tsx index 996323ffa9..a0499fe569 100644 --- a/services/web/frontend/js/features/editor-left-menu/components/settings/settings-image-name.tsx +++ b/services/web/frontend/js/features/editor-left-menu/components/settings/settings-image-name.tsx @@ -11,18 +11,18 @@ export default function SettingsImageName() { const { imageName, setImageName } = useProjectSettingsContext() const { write } = usePermissionsContext() - const allowedImageNames = useMemo(() => getMeta('ol-imageNames') || [], []) + const allowedImageNames = useMemo( + () => getMeta('ol-allowedImageNames') || [], + [] + ) const options: Array