diff --git a/services/web/frontend/js/shared/context/detach-compile-context.js b/services/web/frontend/js/shared/context/detach-compile-context.js
index 524fa5eb10..162dde9c89 100644
--- a/services/web/frontend/js/shared/context/detach-compile-context.js
+++ b/services/web/frontend/js/shared/context/detach-compile-context.js
@@ -30,6 +30,7 @@ export function DetachCompileProvider({ children }) {
fileList: _fileList,
hasChanges: _hasChanges,
highlights: _highlights,
+ lastCompileOptions: _lastCompileOptions,
logEntries: _logEntries,
logEntryAnnotations: _logEntryAnnotations,
pdfDownloadUrl: _pdfDownloadUrl,
@@ -113,6 +114,12 @@ export function DetachCompileProvider({ children }) {
'detacher',
'detached'
)
+ const [lastCompileOptions] = useDetachStateWatcher(
+ 'lastCompileOptions',
+ _lastCompileOptions,
+ 'detacher',
+ 'detached'
+ )
const [logEntries] = useDetachStateWatcher(
'logEntries',
_logEntries,
@@ -314,6 +321,7 @@ export function DetachCompileProvider({ children }) {
fileList,
hasChanges,
highlights,
+ lastCompileOptions,
logEntryAnnotations,
logEntries,
pdfDownloadUrl,
@@ -357,6 +365,7 @@ export function DetachCompileProvider({ children }) {
fileList,
hasChanges,
highlights,
+ lastCompileOptions,
logEntryAnnotations,
logEntries,
pdfDownloadUrl,
diff --git a/services/web/frontend/js/shared/context/local-compile-context.js b/services/web/frontend/js/shared/context/local-compile-context.js
index f83d22ce27..69a12d41e9 100644
--- a/services/web/frontend/js/shared/context/local-compile-context.js
+++ b/services/web/frontend/js/shared/context/local-compile-context.js
@@ -458,6 +458,10 @@ export function LocalCompileProvider({ children }) {
})
}, [clearCache, compiler])
+ // After a compile, the compiler sets `data.options` to the options that were
+ // used for that compile.
+ const lastCompileOptions = useMemo(() => data?.options || {}, [data])
+
const value = useMemo(
() => ({
autoCompile,
@@ -471,6 +475,7 @@ export function LocalCompileProvider({ children }) {
fileList,
hasChanges,
highlights,
+ lastCompileOptions,
logEntryAnnotations,
logEntries,
pdfDownloadUrl,
@@ -514,6 +519,7 @@ export function LocalCompileProvider({ children }) {
fileList,
hasChanges,
highlights,
+ lastCompileOptions,
logEntries,
logEntryAnnotations,
position,
diff --git a/services/web/locales/en.json b/services/web/locales/en.json
index 5bd4bf3264..d4f3fe7751 100644
--- a/services/web/locales/en.json
+++ b/services/web/locales/en.json
@@ -34,6 +34,9 @@
"log_entry_maximum_entries_title": "__total__ log messages total. Showing the first __displayed__",
"log_entry_maximum_entries_message": "<0>Tip0>: Try to fix the first error and recompile. Often one error causes many later error messages.<1>If you need to see the full logs, you can still download them or view the raw logs below.1>",
"log_entry_maximum_entries_message_no_errors": "<0>Tip0>: If you need to see the full logs, you can still download them or view the raw logs below.",
+ "log_entry_maximum_entries_enable_stop_on_first_error": "Try to fix the first error and recompile. Often one error causes many later error messages. You can to focus on fixing errors. We recommend fixing errors as soon as possible; letting them accumulate may lead to hard-to-debug and fatal errors. Learn more",
+ "log_entry_maximum_entries_see_full_logs": "If you need to see the full logs, you can still download them or view the raw logs below.",
+ "tip": "Tip",
"navigate_log_source": "Navigate to log position in source code: __location__",
"other_output_files": "Download other output files",
"refresh": "Refresh",
@@ -1082,6 +1085,11 @@
"something_went_wrong_loading_pdf_viewer": "Something went wrong loading the PDF viewer. This might be caused by issues like <0>temporary network problems0> or an <0>outdated web browser0>. Please follow the <1>troubleshooting steps for access, loading and display problems1>. If the issue persists, please <2>let us know2>.",
"timedout": "Timed out",
"proj_timed_out_reason": "Sorry, your compile took too long to run and timed out. This may be due to a LaTeX error, or a large number of high-res images or complicated diagrams.",
+ "project_timed_out_intro": "Sorry, your compile took too long to run and timed out. The most common causes of timeouts are:",
+ "project_timed_out_optimize_images": "Large or high-resolution images are taking too long to process. You may be able to <0>optimize them0>.",
+ "project_timed_out_fatal_error": "A <0>fatal compile error0> may be completely blocking compilation.",
+ "project_timed_out_enable_stop_on_first_error": "<0>Enable “Stop on first error”0> to help you find and fix errors right away.",
+ "project_timed_out_learn_more": "<0>Learn more0> about other causes of compile timeouts and how to fix them.",
"no_errors_good_job": "No errors, good job!",
"compile_error": "Compile Error",
"generic_failed_compile_message": "Sorry, your LaTeX code couldn’t compile for some reason. Please check the errors below for details, or view the raw log",