diff --git a/src/data/firebase.ts b/src/data/firebase.ts index e97044ad..1451db08 100644 --- a/src/data/firebase.ts +++ b/src/data/firebase.ts @@ -2,6 +2,7 @@ import { createIV, getImportedKey } from "./index"; import { ExcalidrawElement } from "../element/types"; import { getSceneVersion } from "../element"; import Portal from "../components/Portal"; +import { restoreElements } from "./restore"; let firebasePromise: Promise<typeof import("firebase/app")> | null = null; @@ -155,6 +156,5 @@ export async function loadFromFirebase( const storedScene = doc.data() as FirebaseStoredScene; const ciphertext = storedScene.ciphertext.toUint8Array(); const iv = storedScene.iv.toUint8Array(); - const plaintext = await decryptElements(roomKey, iv, ciphertext); - return plaintext; + return restoreElements(await decryptElements(roomKey, iv, ciphertext)); } diff --git a/src/data/restore.ts b/src/data/restore.ts index 9d352746..a6913193 100644 --- a/src/data/restore.ts +++ b/src/data/restore.ts @@ -35,7 +35,7 @@ const restoreElementWithProperties = <T extends ExcalidrawElement>( // newly added elements version: element.version || 1, versionNonce: element.versionNonce ?? 0, - isDeleted: false, + isDeleted: element.isDeleted ?? false, id: element.id || randomId(), fillStyle: element.fillStyle || "hachure", strokeWidth: element.strokeWidth || 1,