diff --git a/apps/client/src/types-pdfjs.d.ts b/apps/client/src/types-pdfjs.d.ts index ada0729cc..12756778e 100644 --- a/apps/client/src/types-pdfjs.d.ts +++ b/apps/client/src/types-pdfjs.d.ts @@ -38,14 +38,17 @@ interface PdfOutlineItem { items: PdfOutlineItem[]; } -interface PdfDocumentModifiedMessage { - type: "pdfjs-viewer-document-modified"; - data: Uint8Array; +interface WithContext { ntxId: string; noteId: string | null | undefined; } -interface PdfSaveViewHistoryMessage { +interface PdfDocumentModifiedMessage extends WithContext { + type: "pdfjs-viewer-document-modified"; + data: Uint8Array; +} + +interface PdfSaveViewHistoryMessage extends WithContext { type: "pdfjs-viewer-save-view-history"; data: string; } diff --git a/apps/client/src/widgets/type_widgets/file/Pdf.tsx b/apps/client/src/widgets/type_widgets/file/Pdf.tsx index 8446a2585..cd86c506e 100644 --- a/apps/client/src/widgets/type_widgets/file/Pdf.tsx +++ b/apps/client/src/widgets/type_widgets/file/Pdf.tsx @@ -38,7 +38,9 @@ export default function PdfPreview({ note, blob, componentId, noteContext }: { } if (event.data.type === "pdfjs-viewer-save-view-history" && event.data?.data) { - historyConfig?.storeFn(JSON.parse(event.data.data)); + if (event.data.noteId === note.noteId && event.data.ntxId === noteContext.ntxId) { + historyConfig?.storeFn(JSON.parse(event.data.data)); + } } if (event.data.type === "pdfjs-viewer-toc") { diff --git a/packages/pdfjs-viewer/src/persistence.ts b/packages/pdfjs-viewer/src/persistence.ts index c28298a44..977db124f 100644 --- a/packages/pdfjs-viewer/src/persistence.ts +++ b/packages/pdfjs-viewer/src/persistence.ts @@ -41,7 +41,9 @@ function saveHistory(value: string) { window.parent.postMessage({ type: "pdfjs-viewer-save-view-history", - data: JSON.stringify(history) + data: JSON.stringify(history), + ntxId: window.TRILIUM_NTX_ID, + noteId: window.TRILIUM_NOTE_ID } satisfies PdfSaveViewHistoryMessage, window.location.origin); saveTimeout = null; }, 2_000);