From fb4e912ed0cca7217927ef226e3e23f221b0de01 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 4 Jan 2026 21:08:39 +0200 Subject: [PATCH] chore(pdfjs): address requested changes --- apps/client/src/widgets/type_widgets/file/Pdf.tsx | 10 ++++++++-- packages/pdfjs-viewer/scripts/build.ts | 4 ++-- packages/pdfjs-viewer/src/custom.ts | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/file/Pdf.tsx b/apps/client/src/widgets/type_widgets/file/Pdf.tsx index 7acbc6d6c..ee731448a 100644 --- a/apps/client/src/widgets/type_widgets/file/Pdf.tsx +++ b/apps/client/src/widgets/type_widgets/file/Pdf.tsx @@ -24,11 +24,17 @@ export default function PdfPreview({ note, blob, componentId, noteContext }: { getData() { if (!iframeRef.current?.contentWindow) return undefined; - return new Promise((resolve) => { + return new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + reject(new Error("Timeout while waiting for blob response")); + }, 10_000); + const onMessageReceived = (event: PdfMessageEvent) => { if (event.data.type !== "pdfjs-viewer-blob") return; if (event.data.noteId !== note.noteId || event.data.ntxId !== noteContext.ntxId) return; const blob = new Blob([event.data.data as Uint8Array], { type: note.mime }); + + clearTimeout(timeout); window.removeEventListener("message", onMessageReceived); resolve(blob); }; @@ -36,7 +42,7 @@ export default function PdfPreview({ note, blob, componentId, noteContext }: { window.addEventListener("message", onMessageReceived); iframeRef.current?.contentWindow?.postMessage({ type: "trilium-request-blob", - }); + }, window.location.origin); }); }, onContentChange() { diff --git a/packages/pdfjs-viewer/scripts/build.ts b/packages/pdfjs-viewer/scripts/build.ts index ff0cd9805..4a7e56880 100644 --- a/packages/pdfjs-viewer/scripts/build.ts +++ b/packages/pdfjs-viewer/scripts/build.ts @@ -4,7 +4,7 @@ import { build as esbuild } from "esbuild"; import { LOCALES } from "@triliumnext/commons"; import { watch } from "chokidar"; import { readFileSync, writeFileSync } from "fs"; -import packageJson from "../package.json" with { type: "json "}; +import packageJson from "../package.json" with { type: "json " }; const build = new BuildHelper("packages/pdfjs-viewer"); const watchMode = process.argv.includes("--watch"); @@ -71,7 +71,7 @@ function patchCacheBuster(htmlFilePath: string) { ``, ``); html = html.replace( - `` , + ``, `` ); diff --git a/packages/pdfjs-viewer/src/custom.ts b/packages/pdfjs-viewer/src/custom.ts index 2532c8d76..95b56a3c2 100644 --- a/packages/pdfjs-viewer/src/custom.ts +++ b/packages/pdfjs-viewer/src/custom.ts @@ -82,7 +82,7 @@ function manageSave() { data, ntxId: window.TRILIUM_NTX_ID, noteId: window.TRILIUM_NOTE_ID - } satisfies PdfDocumentBlobResultMessage, window.location.origin) + } satisfies PdfDocumentBlobResultMessage, window.location.origin); } });