From 707a2d3afe91d0a02b69d83d891fb74086e86702 Mon Sep 17 00:00:00 2001 From: Josh McLeod Date: Fri, 20 Mar 2026 10:35:02 -0400 Subject: [PATCH 1/2] Add URL.parse polyfill for PDF viewer browser compatibility pdfjs-dist v5 uses URL.parse() which is unavailable in older browsers (Safari < 18.2, Chrome < 126), causing "Unable to Load PDF" errors. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/components/pdf-viewer/pdf-viewer.js | 1 + src/components/pdf-viewer/url-parse-polyfill.js | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 src/components/pdf-viewer/url-parse-polyfill.js diff --git a/src/components/pdf-viewer/pdf-viewer.js b/src/components/pdf-viewer/pdf-viewer.js index c22a7bd..dcaaddc 100644 --- a/src/components/pdf-viewer/pdf-viewer.js +++ b/src/components/pdf-viewer/pdf-viewer.js @@ -1,5 +1,6 @@ import { html } from 'lit' import { ContextProvider } from '@lit/context' +import './url-parse-polyfill.js' import * as pdfjsLib from 'pdfjs-dist' import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.mjs?url' import jbig2WasmUrl from 'pdfjs-dist/wasm/jbig2.wasm?url' diff --git a/src/components/pdf-viewer/url-parse-polyfill.js b/src/components/pdf-viewer/url-parse-polyfill.js new file mode 100644 index 0000000..20ace9c --- /dev/null +++ b/src/components/pdf-viewer/url-parse-polyfill.js @@ -0,0 +1,11 @@ +// Polyfill URL.parse for browsers that don't support it (Safari < 18.2, Chrome < 126). +// Required by pdfjs-dist v5+. +if (typeof URL.parse !== 'function') { + URL.parse = function (url, base) { + try { + return new URL(url, base) + } catch { + return null + } + } +} From 815c08fe8fd6b9ae0918045c88fa75344007e48b Mon Sep 17 00:00:00 2001 From: Josh McLeod Date: Fri, 20 Mar 2026 10:36:57 -0400 Subject: [PATCH 2/2] Increment version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca3bb2c..090ee18 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@rolemodel/spider", "description": "Shared high level web components for RoleModel Software and beyond", "packageManager": "yarn@4.12.0", - "version": "0.0.8", + "version": "0.0.9", "author": "RoleModel Software", "license": "MIT", "type": "module",