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