diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.js b/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.js index 75998c2f62..e81860486b 100644 --- a/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.js +++ b/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.js @@ -146,12 +146,19 @@ function PdfJsViewer({ url }) { // when highlights are created, build the highlight elements useEffect(() => { if (pdfJsWrapper && highlights?.length) { - const elements = highlights.map(highlight => - buildHighlightElement(highlight, pdfJsWrapper.viewer) - ) + const elements = [] + + for (const highlight of highlights) { + try { + const element = buildHighlightElement(highlight, pdfJsWrapper.viewer) + elements.push(element) + } catch (error) { + // ignore invalid highlights + } + } // scroll to the first highlighted element - elements[0].scrollIntoView({ + elements[0]?.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth',