diff --git a/src/pages/gallery/components/CollectionSelector.tsx b/src/pages/gallery/components/CollectionSelector.tsx index f7f665280..1d2b92e3c 100644 --- a/src/pages/gallery/components/CollectionSelector.tsx +++ b/src/pages/gallery/components/CollectionSelector.tsx @@ -19,7 +19,7 @@ function CollectionSelector({ const [encryptionKey, setEncryptionKey] = useState(null); useEffect(() => { (async () => { - setToken(getData(LS_KEYS.USER).token); + setToken(getData(LS_KEYS.USER)?.token); setEncryptionKey(await getActualKey()); })(); }); diff --git a/src/utils/common/key.ts b/src/utils/common/key.ts index 03addce0a..a6ff8ba32 100644 --- a/src/utils/common/key.ts +++ b/src/utils/common/key.ts @@ -6,9 +6,11 @@ const CryptoWorker: any = typeof window !== 'undefined' && Comlink.wrap(new Worker("worker/crypto.worker.js", { type: 'module' })); export const getActualKey = async () => { - const cryptoWorker = await new CryptoWorker(); - const encryptedKey = getKey(SESSION_KEYS.ENCRYPTION_KEY).encryptionKey; const session = getData(LS_KEYS.SESSION); + if (session == null) + return; + const cryptoWorker = await new CryptoWorker(); + const encryptedKey = getKey(SESSION_KEYS.ENCRYPTION_KEY)?.encryptionKey; const key: string = await cryptoWorker.decryptB64(encryptedKey, session.sessionNonce, session.sessionKey); return key; }