diff --git a/src/pages/credentials/index.tsx b/src/pages/credentials/index.tsx index 1c20f5861..cfd124b7a 100644 --- a/src/pages/credentials/index.tsx +++ b/src/pages/credentials/index.tsx @@ -11,11 +11,7 @@ import { useRouter } from 'next/router'; import * as Yup from 'yup'; import { keyAttributes } from 'types'; import { setKey, SESSION_KEYS, getKey } from 'utils/storage/sessionStorage'; -import * as Comlink from 'comlink'; - -const CryptoWorker: any = - typeof window !== 'undefined' && - Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); +import CryptoWorker from 'utils/crypto/cryptoWorker'; const Image = styled.img` width: 200px; diff --git a/src/pages/generate/index.tsx b/src/pages/generate/index.tsx index e68656b89..c83d947ba 100644 --- a/src/pages/generate/index.tsx +++ b/src/pages/generate/index.tsx @@ -11,12 +11,8 @@ import { putAttributes } from 'services/userService'; import { getData, LS_KEYS, setData } from 'utils/storage/localStorage'; import { useRouter } from 'next/router'; import { getKey, SESSION_KEYS, setKey } from 'utils/storage/sessionStorage'; -import * as Comlink from 'comlink'; import { B64EncryptionResult } from 'services/uploadService'; - -const CryptoWorker: any = - typeof window !== 'undefined' && - Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); +import CryptoWorker from 'utils/crypto/cryptoWorker'; const Image = styled.img` width: 200px; diff --git a/src/services/collectionService.ts b/src/services/collectionService.ts index b75812b59..26fe9e974 100644 --- a/src/services/collectionService.ts +++ b/src/services/collectionService.ts @@ -4,14 +4,11 @@ import { file } from './fileService'; import localForage from 'localforage'; import HTTPService from './HTTPService'; -import * as Comlink from 'comlink'; import { B64EncryptionResult } from './uploadService'; import { getActualKey, getToken } from 'utils/common/key'; import { user } from './userService'; +import CryptoWorker from 'utils/crypto/cryptoWorker'; -const CryptoWorker: any = - typeof window !== 'undefined' && - Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); const ENDPOINT = getEndpoint(); enum CollectionType { diff --git a/src/services/downloadManager.ts b/src/services/downloadManager.ts index 2652b8b02..30e3947ff 100644 --- a/src/services/downloadManager.ts +++ b/src/services/downloadManager.ts @@ -2,13 +2,11 @@ import { getToken } from 'utils/common/key'; import { file } from './fileService'; import HTTPService from './HTTPService'; import { getEndpoint } from 'utils/common/apiUtil'; -import * as Comlink from 'comlink'; import { getFileExtension } from 'utils/common/utilFunctions'; +import CryptoWorker from 'utils/crypto/cryptoWorker'; const ENDPOINT = getEndpoint(); -const CryptoWorker: any = - typeof window !== 'undefined' && - Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); + const heic2any = typeof window !== 'undefined' && require('heic2any'); const TYPE_HEIC = 'heic'; diff --git a/src/services/fileService.ts b/src/services/fileService.ts index add87f5cc..8a27b4d7d 100644 --- a/src/services/fileService.ts +++ b/src/services/fileService.ts @@ -1,13 +1,10 @@ import { getEndpoint } from 'utils/common/apiUtil'; import HTTPService from './HTTPService'; -import * as Comlink from 'comlink'; import localForage from 'localforage'; import { collection } from './collectionService'; import { MetadataObject } from './uploadService'; +import CryptoWorker from 'utils/crypto/cryptoWorker'; -const CryptoWorker: any = - typeof window !== 'undefined' && - Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); const ENDPOINT = getEndpoint(); const DIFF_LIMIT: number = 2500; diff --git a/src/services/uploadService.ts b/src/services/uploadService.ts index 0e8976e4a..bae0b8f6a 100644 --- a/src/services/uploadService.ts +++ b/src/services/uploadService.ts @@ -1,15 +1,12 @@ import { getEndpoint } from 'utils/common/apiUtil'; import HTTPService from './HTTPService'; -import * as Comlink from 'comlink'; import EXIF from 'exif-js'; import { fileAttribute } from './fileService'; import { collection, CollectionAndItsLatestFile } from './collectionService'; import { FILE_TYPE } from 'pages/gallery'; import { checkConnectivity } from 'utils/common/utilFunctions'; import { ErrorHandler } from 'utils/common/errorUtil'; -const CryptoWorker: any = - typeof window !== 'undefined' && - Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); +import CryptoWorker from 'utils/crypto/cryptoWorker'; const ENDPOINT = getEndpoint(); const THUMBNAIL_HEIGHT = 720; diff --git a/src/utils/common/key.ts b/src/utils/common/key.ts index 12c122af2..eab610eda 100644 --- a/src/utils/common/key.ts +++ b/src/utils/common/key.ts @@ -1,10 +1,6 @@ +import CryptoWorker from 'utils/crypto/cryptoWorker'; import { getData, LS_KEYS } from 'utils/storage/localStorage'; import { getKey, SESSION_KEYS } from 'utils/storage/sessionStorage'; -import * as Comlink from 'comlink'; - -const CryptoWorker: any = - typeof window !== 'undefined' && - Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); export const getActualKey = async () => { const session = getData(LS_KEYS.SESSION); diff --git a/src/utils/crypto/cryptoWorker.ts b/src/utils/crypto/cryptoWorker.ts new file mode 100644 index 000000000..c5e37f8bb --- /dev/null +++ b/src/utils/crypto/cryptoWorker.ts @@ -0,0 +1,7 @@ +import * as Comlink from 'comlink'; + +const CryptoWorker: any = + typeof window !== 'undefined' && + Comlink.wrap(new Worker('worker/crypto.worker.js', { type: 'module' })); + +export default CryptoWorker;