Revert "Revert "Handle PDF failure error case""

This reverts commit 946838e51feaff28025c4a4d733e0dd89a29e890.

GitOrigin-RevId: 63f130c8cfecfb512ec97bda62c6ea1cad2c8fed
This commit is contained in:
Paulo Jorge Reis 2021-07-05 14:04:13 +01:00 committed by Copybot
parent 89b031a21a
commit db8173011e
5 changed files with 45 additions and 4 deletions

View file

@ -203,6 +203,11 @@
"no_messages": "",
"no_new_commits_in_github": "",
"no_other_projects_found": "",
"no_pdf_error_explanation": "",
"no_pdf_error_reason_unrecoverable_error": "",
"no_pdf_error_reason_no_content": "",
"no_pdf_error_reason_output_pdf_already_exists": "",
"no_pdf_error_title": "",
"no_preview_available": "",
"no_search_results": "",
"no_symbols_found": "",

View file

@ -1,5 +1,5 @@
import PropTypes from 'prop-types'
import { useTranslation } from 'react-i18next'
import { useTranslation, Trans } from 'react-i18next'
import PreviewLogsPaneEntry from './preview-logs-pane-entry'
import Icon from '../../../shared/components/icon'
import { useEditorContext } from '../../../shared/context/editor-context'
@ -59,6 +59,30 @@ function PreviewError({ name }) {
} else if (name === 'projectTooLarge') {
errorTitle = t('project_too_large')
errorContent = <>{t('project_too_much_editable_text')}</>
} else if (name === 'failure') {
errorTitle = t('no_pdf_error_title')
errorContent = (
<>
<Trans i18nKey="no_pdf_error_explanation" />
<ul className="log-entry-formatted-content-list">
<li>
<Trans i18nKey="no_pdf_error_reason_unrecoverable_error" />
</li>
<li>
<Trans
i18nKey="no_pdf_error_reason_no_content"
components={{ code: <code /> }}
/>
</li>
<li>
<Trans
i18nKey="no_pdf_error_reason_output_pdf_already_exists"
components={{ code: <code /> }}
/>
</li>
</ul>
</>
)
}
return errorTitle ? (

View file

@ -479,6 +479,7 @@ App.controller(
} else if (response.status === 'failure') {
$scope.pdf.view = 'errors'
$scope.pdf.failure = true
$scope.pdf.downloadUrl = null
$scope.shouldShowLogs = true
fetchLogs(fileByPath, { pdfDownloadDomain })
} else if (response.status === 'clsi-maintenance') {
@ -519,7 +520,8 @@ App.controller(
$scope.pdf.compileInProgress ? { compileInProgress: true } : null,
$scope.pdf.timedout ? { timedout: true } : null,
$scope.pdf.projectTooLarge ? { projectTooLarge: true } : null,
$scope.pdf.autoCompileDisabled ? { autoCompileDisabled: true } : null
$scope.pdf.autoCompileDisabled ? { autoCompileDisabled: true } : null,
$scope.pdf.failure ? { failure: true } : null
)
if (

View file

@ -175,6 +175,11 @@
}
}
.log-entry-formatted-content-list {
margin: @margin-xs 0;
padding-left: @padding-md;
}
.first-error-popup {
position: absolute;
z-index: 1;

View file

@ -1,6 +1,11 @@
{
"chat_error": "Could not load chat messages, please try again.",
"reconnect": "Try again",
"no_pdf_error_title": "No PDF",
"no_pdf_error_explanation": "This compile didn't produce a PDF. This can happen if:",
"no_pdf_error_reason_unrecoverable_error": "There is an unrecoverable LaTeX error. If there are LaTeX errors shown below or in the raw logs, please try to fix them and compile again.",
"no_pdf_error_reason_no_content": "The <code>document</code> environment contains no content. If it's empty, please add some content and compile again.",
"no_pdf_error_reason_output_pdf_already_exists": "This project contains a file called <code>output.pdf</code>. If that file exists, please rename it and compile again.",
"logs_pane_info_message": "We are testing a new logs pane",
"logs_pane_info_message_popup": "We are testing a new logs pane. Click here to give feedback.",
"github_symlink_error": "Your Github repository contains symbolic link files, which are not currently supported by Overleaf. Please remove these and try again.",