diff --git a/server-ce/hotfix/6.1.1/Dockerfile b/server-ce/hotfix/6.1.1/Dockerfile new file mode 100644 index 0000000000..8b2c28205a --- /dev/null +++ b/server-ce/hotfix/6.1.1/Dockerfile @@ -0,0 +1,12 @@ +FROM sharelatex/sharelatex:6.1.0 + +# Apply security updates to base image +RUN apt update && apt install -y linux-libc-dev \ + && unattended-upgrade --verbose --no-minimal-upgrade-steps \ + && rm -rf /var/lib/apt/lists/* + +# Fix rendering logic for UI elements in the redesigned editor +COPY pr_31004.patch . +RUN patch -p1 < pr_31004.patch && rm pr_31004.patch + +RUN node genScript compile | bash diff --git a/server-ce/hotfix/6.1.1/pr_31004.patch b/server-ce/hotfix/6.1.1/pr_31004.patch new file mode 100644 index 0000000000..00bcec9f3a --- /dev/null +++ b/server-ce/hotfix/6.1.1/pr_31004.patch @@ -0,0 +1,131 @@ +--- a/services/web/frontend/js/features/ide-redesign/components/rail/rail-help-dropdown.tsx ++++ b/services/web/frontend/js/features/ide-redesign/components/rail/rail-help-dropdown.tsx +@@ -10,6 +10,7 @@ import { + + export default function RailHelpDropdown() { + const showSupport = getMeta('ol-showSupport') ++ const showDocumentation = getMeta('ol-wikiEnabled') + const { t } = useTranslation() + const { setActiveModal } = useRailContext() + const openKeyboardShortcutsModal = useCallback(() => { +@@ -24,20 +25,24 @@ export default function RailHelpDropdown() { + + {t('keyboard_shortcuts')} + +- +- {t('documentation')} +- +- +- {showSupport && ( +- +- {t('contact_us')} ++ {showDocumentation && ( ++ ++ {t('documentation')} + + )} ++ {showSupport && ( ++ <> ++ ++ ++ {t('contact_us')} ++ ++ ++ )} + + ) + } +diff --git a/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx b/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx +index 1610cdb89675..648d2f47fb53 100644 +--- a/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx ++++ b/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx +@@ -43,6 +43,8 @@ export const ToolbarMenuBar = () => { + const openProject = useOpenProject() + + const anonymous = getMeta('ol-anonymous') ++ const showSupport = getMeta('ol-showSupport') ++ const showDocumentation = getMeta('ol-wikiEnabled') + + useCommandProvider( + () => [ +@@ -266,19 +268,25 @@ export const ToolbarMenuBar = () => { + title={t('keyboard_shortcuts')} + onClick={openKeyboardShortcutsModal} + /> +- +- +- ++ {showDocumentation && ( ++ ++ )} ++ {showSupport && ( ++ <> ++ ++ ++ ++ )} + + + = ({ + children, + }) => { + const { t } = useTranslation() ++ const { isOverleaf } = getMeta('ol-ExposedSettings') + const { overallTheme } = useProjectSettingsContext() + + // TODO ide-redesign-cleanup: Rename this field and move it directly into this context +@@ -265,9 +267,10 @@ export const SettingsModalProvider: FC = ({ + title: t('subscription'), + icon: 'account_balance', + href: '/user/subscription', ++ hidden: !isOverleaf, + }, + ], +- [t, overallTheme, hasEmailNotifications, noNewEditorOptOut] ++ [t, overallTheme, hasEmailNotifications, noNewEditorOptOut, isOverleaf] + ) + + const settingsTabs = useMemo( diff --git a/server-ce/hotfix/6.1.2/Dockerfile b/server-ce/hotfix/6.1.2/Dockerfile new file mode 100644 index 0000000000..7e24f5ae23 --- /dev/null +++ b/server-ce/hotfix/6.1.2/Dockerfile @@ -0,0 +1,13 @@ +FROM sharelatex/sharelatex:6.1.1 + +# Apply security updates to base image +RUN apt update && apt install -y linux-libc-dev \ + && unattended-upgrade --verbose --no-minimal-upgrade-steps \ + && apt purge -y imagemagick \ + && apt autoremove -y \ + && apt install -y poppler-utils \ + && rm -rf /var/lib/apt/lists/* + +# Update converter +COPY issue_31527.patch . +RUN patch -p0 < issue_31527.patch && rm issue_31527.patch diff --git a/server-ce/hotfix/6.1.2/issue_31527.patch b/server-ce/hotfix/6.1.2/issue_31527.patch new file mode 100644 index 0000000000..f6e3d58722 --- /dev/null +++ b/server-ce/hotfix/6.1.2/issue_31527.patch @@ -0,0 +1,87 @@ +--- services/filestore/app/js/FileConverter.js ++++ services/filestore/app/js/FileConverter.js +@@ -22,45 +22,44 @@ export default { + } + + async function convert(sourcePath, requestedFormat) { +- const width = '600x' ++ const width = '1500' + return await _convert(sourcePath, requestedFormat, [ +- 'convert', +- '-define', +- `pdf:fit-page=${width}`, +- '-flatten', +- '-density', +- '300', +- `${sourcePath}[0]`, ++ 'pdftocairo', ++ '-png', ++ '-singlefile', ++ '-scale-to-x', ++ width.toString(), ++ '-scale-to-y', ++ '-1', ++ sourcePath, + ]) + } + + async function thumbnail(sourcePath) { +- const width = '548x' +- return await _convert(sourcePath, 'jpg', [ +- 'convert', +- '-flatten', +- '-background', +- 'white', +- '-density', +- '300', +- `${sourcePath}[0]`, +- '-resize', +- width, ++ const width = 700 ++ return await _convert(sourcePath, 'png', [ ++ 'pdftocairo', ++ '-png', ++ '-singlefile', ++ '-scale-to-x', ++ width.toString(), ++ '-scale-to-y', ++ '-1', ++ sourcePath, + ]) + } + + async function preview(sourcePath) { +- const width = '794x' +- return await _convert(sourcePath, 'jpg', [ +- 'convert', +- '-flatten', +- '-background', +- 'white', +- '-density', +- '300', +- `${sourcePath}[0]`, +- '-resize', +- width, ++ const width = 1000 ++ return await _convert(sourcePath, 'png', [ ++ 'pdftocairo', ++ '-png', ++ '-singlefile', ++ '-scale-to-x', ++ width.toString(), ++ '-scale-to-y', ++ '-1', ++ sourcePath, + ]) + } + +@@ -74,7 +73,8 @@ async function _convert(sourcePath, requestedFormat, command) { + const timer = new metrics.Timer('imageConvert') + const destPath = `${sourcePath}.${requestedFormat}` + +- command.push(destPath) ++ const outputBaseName = sourcePath ++ command.push(outputBaseName) + command = Settings.commands.convertCommandPrefix.concat(command) + + try {