From 3a2fee2f77a12342a02320f193cca18b3cee9e53 Mon Sep 17 00:00:00 2001
From: David <33458145+davidmcpowell@users.noreply.github.com>
Date: Wed, 27 Aug 2025 15:04:36 +0100
Subject: [PATCH] Merge pull request #28120 from overleaf/dp-more-error-states
Add remaining pdf error states
GitOrigin-RevId: 4c0dd3fa105273eda5c9a010051a2cb60c0056c4
---
.../web/frontend/extracted-translations.json | 1 +
.../pdf-error-state/pdf-error-state.tsx | 6 ++
.../rendering-error-expected-state.tsx | 35 ++++++++++++
.../pdf-error-state/rendering-error-state.tsx | 55 +++++++++++++++++++
.../stories/pdf-error-state.stories.tsx | 2 +
services/web/locales/en.json | 1 +
6 files changed, 100 insertions(+)
create mode 100644 services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx
create mode 100644 services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx
diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json
index 7009bed5a6..e62d86eac0 100644
--- a/services/web/frontend/extracted-translations.json
+++ b/services/web/frontend/extracted-translations.json
@@ -1614,6 +1614,7 @@
"something_went_wrong_processing_the_request": "",
"something_went_wrong_rendering_pdf": "",
"something_went_wrong_rendering_pdf_expected": "",
+ "something_went_wrong_rendering_pdf_expected_new": "",
"something_went_wrong_server": "",
"somthing_went_wrong_compiling": "",
"sorry_it_looks_like_that_didnt_work_this_time": "",
diff --git a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx
index a7c0d09e9b..4a31293b13 100644
--- a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx
+++ b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx
@@ -8,6 +8,8 @@ import {
ShortCompileTimeoutErrorState,
} from './compile-timeout-error-state'
import GeneralErrorState from './general-error-state'
+import RenderingErrorExpectedState from './rendering-error-expected-state'
+import RenderingErrorState from './rendering-error-state'
// AvailableStates
// - rendering-error-expected
@@ -131,6 +133,10 @@ function PdfErrorState() {
}
/>
)
+ case 'rendering-error-expected':
+ return
+ case 'rendering-error':
+ return
default:
return
}
diff --git a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx
new file mode 100644
index 0000000000..ba610f37d6
--- /dev/null
+++ b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx
@@ -0,0 +1,35 @@
+import { Trans, useTranslation } from 'react-i18next'
+import ErrorState from './error-state'
+import OLButton from '@/shared/components/ol/ol-button'
+import { useDetachCompileContext as useCompileContext } from '@/shared/context/detach-compile-context'
+
+export default function RenderingErrorExpectedState() {
+ const { t } = useTranslation()
+
+ const { startCompile } = useCompileContext()
+
+ return (
+ ,
+ ]}
+ />
+ }
+ actions={[
+ // eslint-disable-next-line react/jsx-key
+ startCompile()}>
+ {t('recompile')}
+ ,
+ ]}
+ />
+ )
+}
diff --git a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx
new file mode 100644
index 0000000000..a43b23d3b7
--- /dev/null
+++ b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx
@@ -0,0 +1,55 @@
+import { Trans, useTranslation } from 'react-i18next'
+import ErrorState from './error-state'
+import getMeta from '@/utils/meta'
+
+export default function RenderingErrorState() {
+ const { t } = useTranslation()
+
+ return (
+
+ {t('something_went_wrong_rendering_pdf')}
+
+ ,
+ ]}
+ />
+ {getMeta('ol-compilesUserContentDomain') && (
+ <>
+
+
+ ,
+ /* eslint-disable-next-line jsx-a11y/anchor-has-content */
+ ,
+ ]}
+ />
+ >
+ )}
+ >
+ }
+ />
+ )
+}
diff --git a/services/web/frontend/stories/pdf-error-state.stories.tsx b/services/web/frontend/stories/pdf-error-state.stories.tsx
index e6a77cc61d..ecd16e915b 100644
--- a/services/web/frontend/stories/pdf-error-state.stories.tsx
+++ b/services/web/frontend/stories/pdf-error-state.stories.tsx
@@ -24,6 +24,8 @@ const compileErrors = [
'pdf-viewer-loading-error',
'project-too-large',
'rate-limited',
+ 'rendering-error-expected',
+ 'rendering-error',
'success',
'terminated',
'timedout',
diff --git a/services/web/locales/en.json b/services/web/locales/en.json
index 9d70051c92..57cad2fe18 100644
--- a/services/web/locales/en.json
+++ b/services/web/locales/en.json
@@ -2096,6 +2096,7 @@
"something_went_wrong_processing_the_request": "Something went wrong processing the request",
"something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.",
"something_went_wrong_rendering_pdf_expected": "There was an issue displaying this PDF. <0>Please recompile0>",
+ "something_went_wrong_rendering_pdf_expected_new": "There was an issue displaying this PDF. Please recompile. If that doesn’t help, follow our <0>troubleshooting guide0>.",
"something_went_wrong_server": "Something went wrong. Please try again.",
"somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.",
"sorry_detected_sales_restricted_region": "Sorry, we’ve detected that you are in a region from which we cannot presently accept payments. If you think you’ve received this message in error, please contact us with details of your location, and we will look into this for you. We apologize for the inconvenience.",