From 7acb6bb161ec438c8fe94d7815a6c9346a621dbe Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Thu, 15 Apr 2021 15:18:47 +1000 Subject: [PATCH] Added comlink.transfer to export --- src/modals/ImportExportModal.js | 3 ++- src/workers/DatabaseWorker.js | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modals/ImportExportModal.js b/src/modals/ImportExportModal.js index f57e3f7..cb134d2 100644 --- a/src/modals/ImportExportModal.js +++ b/src/modals/ImportExportModal.js @@ -206,11 +206,12 @@ function ImportExportModal({ isOpen, onRequestClose }) { const tokenIds = checkedTokens.map((token) => token.id); try { - const blob = await worker.exportData( + const buffer = await worker.exportData( Comlink.proxy(handleDBProgress), mapIds, tokenIds ); + const blob = new Blob([buffer]); saveAs(blob, `${shortid.generate()}.owlbear`); addSuccessToast("Exported", checkedMaps, checkedTokens); } catch (e) { diff --git a/src/workers/DatabaseWorker.js b/src/workers/DatabaseWorker.js index bb47f64..28d6c9c 100644 --- a/src/workers/DatabaseWorker.js +++ b/src/workers/DatabaseWorker.js @@ -7,6 +7,7 @@ import { import { encode, decode } from "@msgpack/msgpack"; import { getDatabase } from "../database"; +import blobToBuffer from "../helpers/blobToBuffer"; // Worker to load large amounts of database data on a separate thread let service = { @@ -92,7 +93,10 @@ let service = { numRowsPerChunk: 1, prettyJson: true, }); - return data; + + const buffer = await blobToBuffer(data); + + return Comlink.transfer(buffer, [buffer.buffer]); }, /**