22 Commits
Author SHA1 Message Date
claudeandClaude Sonnet 4.6 1c323351a2 fix: parse Quarto schema YAML errors and stop heading style bleeding
Build and Deploy Verso / deploy (push) Successful in 9m46s
Two unrelated fixes:

1. quarto-log-parser: handle the two-line Quarto schema-validation
   error format:
     ERROR: In file main.qmd
     (line 6, columns 24--27) Field "section-numbering" has value …
   Previously neither the file name nor the line number were extracted,
   so the error appeared without a red highlight. Now the first line
   stores the filename in pendingLocation and the second line creates
   the log entry with the correct file and line so the editor can jump
   to and highlight it.

2. headingTitleTokenizer: change contextual: false → contextual: true
   and guard with stack.canShift(HeadingTitle). With contextual: false
   Lezer calls the tokenizer speculatively at positions beyond the strict
   post-HeadingMark state; in some LALR-merged states the resulting token
   was accepted for body-text lines, making them render as bold-blue
   heading text. The contextual guard ensures the tokenizer only fires
   in the one state where HeadingTitle is legitimately valid.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 13:31:26 +00:00
claudeandClaude Opus 4.8 c9727a26e4 Python deps: smart missing-package hint + switch to .vrf requirements file
Build and Deploy Verso / deploy (push) Successful in 9m46s
Option A: when a {python} cell fails with ModuleNotFoundError/ImportError, the
log now suggests the exact PyPI package to add (with a module->package map, e.g.
cv2 -> opencv-python, sklearn -> scikit-learn), names the Verso requirements
file, and notes it could instead be a local module — so the langmuirthermalstudy
case isn't mistaken for a PyPI package.

Switch the per-project requirements file from requirements.txt to a Verso-
specific requirements.vrf (so it won't be confused with arbitrary .txt files);
QuartoRunner now looks for requirements.vrf, and 'vrf' is registered as an
editable text extension. The dedicated in-UI editor (and hiding it from the
file tree) follows in a separate change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 14:19:01 +00:00
claudeandClaude Opus 4.8 96fc1a90a1 Surface missing-Python-package errors clearly in the Quarto log
Build and Deploy Verso / deploy (push) Successful in 14m45s
When a {python} cell fails with ModuleNotFoundError/ImportError, the Quarto
log parser now emits an actionable error ('Python package "X" is not
installed on the server') noting which scientific packages are pre-installed,
instead of leaking an opaque traceback line.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 11:32:08 +00:00
claudeandClaude Opus 4.8 aa3fb56458 Parse Quarto logs and make the accent colour a single knob
Build and Deploy Verso / deploy (push) Successful in 11m55s
Quarto compiles (.qmd/.md/.Rmd, dispatched to QuartoRunner) write
Typst/Pandoc/Quarto diagnostics to output.log that the LaTeX log parser
does not understand, so the Errors/Warnings tabs stayed empty. Add a
dedicated quarto-log-parser that recognises Typst `error:`/`warning:`
(+ `┌─ file:line:col`), Pandoc `[WARNING]`/`[ERROR]`, Quarto CLI/Deno
`ERROR:`/`WARNING:`, and knitr `Quitting from lines`. handleLogFiles now
routes to it when the root file is a Quarto file (mirrors CLSI dispatch),
otherwise the LaTeX path is unchanged.

Also decouple the UI accent from the green ramp. The framework already
funnels every primary/accent surface (primary buttons, Bootstrap
$primary/$success, --btn-primary-background) through the --bg-accent-*
tokens; those just happened to point at Overleaf green. Introduce a
single $accent knob in foundations/colors.scss (with auto-derived
hover/tint shades) and repoint the accent tokens at it, defaulting to
the Verso/Quarto blue. Re-skinning the whole UI is now a one-line edit.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 10:57:06 +00:00
DavidandCopybot 1b5887d97f Merge pull request #28675 from overleaf/dp-pdf-preview-output-files-typescript-2
Convert output-files.js to typescript

GitOrigin-RevId: 32eb509f491cfd53de7f1b21b97861ba421566a5
2025-09-30 08:05:45 +00:00
Mathias JakobsenandCopybot 44f4c835c8 Merge pull request #27819 from overleaf/mj-human-readable-logs-typescript
[web] Convert logs parsing to typescript

GitOrigin-RevId: 7a338740db50c8a3a0b70dd2212083f17348d4f1
2025-08-14 08:05:15 +00:00
Alf EatonandCopybot b9a8a7f7ec Move AI provider usage to the backend (#18562)
GitOrigin-RevId: 4f66c6576571c4fbb7381d8d0e34f2e468d6f34f
2024-06-18 08:04:09 +00:00
Alf EatonandCopybot 1f14746111 Remove latex-log-parser split test (#17999)
GitOrigin-RevId: 5accb0e5fc4c1ecce563f1d6f991de8c8633308b
2024-04-23 08:05:16 +00:00
Mathias JakobsenandCopybot d7a4061486 Merge pull request #16397 from overleaf/mj-logparser-missed-error
[web] Stop wrapping potential errors into previous log lines

GitOrigin-RevId: 892fc19e2e7886afa3dc011315879fa992f94877
2024-01-08 09:04:35 +00:00
Mathias JakobsenandCopybot 1a6f3fc256 Merge pull request #16253 from overleaf/mj-human-readable-logs-fixes
[web] Fix incorrect error log parsing and imprecise package recommendations

GitOrigin-RevId: a0b9c6c51ebf680bb77be88167ab6d35eaa8fa70
2023-12-19 09:04:07 +00:00
John Lees-MillerandCopybot fcf9c92160 Split test for log parser changes
GitOrigin-RevId: efe9fb29c5ae56889b686692f8533ae0ae4a3b1d
2022-06-22 08:04:55 +00:00
Eric Mc SweenandCopybot 4c546adbb1 Add non-capturing groups
GitOrigin-RevId: 313e62d4add4bd0694efd98927032edf6114f8e5
2022-06-22 08:04:36 +00:00
Copybot f5da397d5c Merge pull request #1024 from gucci-on-fleek:main
GitOrigin-RevId: 759fff1f03907613b225c82d07f31fa691cfd967
2022-06-22 08:04:31 +00:00
Eric Mc SweenandCopybot cb657d1f1c Merge pull request #8297 from overleaf/em-halt-on-error-logs
Stop on first error info box in logs pane

GitOrigin-RevId: cf11f65d582d98bea93c6506393940d9a6144c0d
2022-06-08 08:03:12 +00:00
Max Chernoff 92c18d0ff4 Parse class/expl3/luatexbase warnings
See overleaf/overleaf#1023.

Signed-off-by: Max Chernoff <49086429+gucci-on-fleek@users.noreply.github.com>
2022-05-22 22:36:06 -06:00
ilkin-overleafandCopybot be0774be8f Merge pull request #7060 from overleaf/ii-5273-latex-log-parsers
Clean up log parsers code

GitOrigin-RevId: 7dc4dbbb07bba72dda63d75502602570620fe07d
2022-03-22 09:03:14 +00:00
Miguel SerranoandCopybot 35396ab61a Add limit to log parsing for react log viewer (#6213)
* Add limit to log parsing for react log viewer

GitOrigin-RevId: e2e5ffd6eaf1c207cc4f49fb5c637457990c328e
2022-01-12 09:03:59 +00:00
Alf EatonandCopybot 50df230846 [web] Upgrade Prettier to match version in monorepo root (#6231)
GitOrigin-RevId: 02f97af1b9704782eee77a0b7dfc477ada23e34d
2022-01-11 09:03:23 +00:00
Timothée AlbyandCopybot cf0a488a30 Merge pull request #6035 from overleaf/msm-remove-redundant-bibtex-error
Remove redundant >100 bibtex errors message

GitOrigin-RevId: b2487aaf3b31c469b5780f6d05e4cd124666adf5
2021-12-15 09:04:58 +00:00
Alf EatonandCopybot 1fc57aadcf Merge pull request #5721 from overleaf/hb-fix-log-line-parsing
Improve file line error log parser regex

GitOrigin-RevId: d3fbb39b4a6d99e339c1d6e6eb81d9cfb3ec5935
2021-11-17 09:03:25 +00:00
Jakob AckermannandCopybot a6f05109a3 Merge pull request #5352 from overleaf/jpa-no-var
[misc] fix eslint violations for `no-var`

GitOrigin-RevId: c52e82f3a8a993b8662cc5aa56e7b95ca3c55832
2021-10-27 08:03:00 +00:00
Hugh O'BrienandCopybot 9c83d58caa Merge pull request #5104 from overleaf/hb-move-log-parsers-to-web
Move log parsers to web

GitOrigin-RevId: c9983e168aba6e690809f45c2a056228dc69e0f3
2021-09-29 08:03:21 +00:00