fix: include image decryption response in reader canvas data
CI / Backend CI (pull_request) Successful in 1m11s
CI / E2E Tests (pull_request) Successful in 9m7s
CI / Generate Certificates (pull_request) Successful in 1m25s
CI / Frontend CI (pull_request) Successful in 1m4s

This commit is contained in:
me
2026-07-01 23:27:37 +05:30
parent ae867a7ec7
commit 81085cb83f
+27 -19
View File
@@ -114,27 +114,29 @@ export default function Reader() {
images: LetterImageData[],
encrypted_dek: string,
cryptoUtils: CryptoUtils,
) => {
if (!images?.length) return;
): Promise<CanvasJSON> => {
if (!images?.length) return canvasData;
const isShared = !!sharingKey;
try {
if (isShared) {
await decryptCanvasImagesWithSharingKey(
canvasData,
images,
sharingKey,
cryptoUtils,
);
} else {
await decryptCanvasImages(
canvasData,
images,
encrypted_dek,
// biome-ignore lint/style/noNonNullAssertion: masterKey is guaranteed to be non-null here as isDecryptionKeyAvailable is true
masterKey!,
cryptoUtils,
);
const { canvasDataWithDecryptedImages } =
await decryptCanvasImagesWithSharingKey(
canvasData,
images,
sharingKey,
cryptoUtils,
);
return canvasDataWithDecryptedImages;
}
const { canvasDataWithDecryptedImages } = await decryptCanvasImages(
canvasData,
images,
encrypted_dek,
// biome-ignore lint/style/noNonNullAssertion: masterKey is guaranteed to be non-null here as isDecryptionKeyAvailable is true
masterKey!,
cryptoUtils,
);
return canvasDataWithDecryptedImages;
} catch (err) {
setLogTrace({
message:
@@ -142,6 +144,7 @@ export default function Reader() {
log: err instanceof Error ? err.message : "Unknown error",
type: "WARN",
});
return canvasData;
}
};
@@ -187,8 +190,13 @@ export default function Reader() {
);
const canvasData: CanvasJSON = JSON.parse(decryptedContent);
await decryptImages(canvasData, images, encrypted_dek, cryptoUtils);
setDecryptedCanvasData(canvasData);
const decryptedCanvasData = await decryptImages(
canvasData,
images,
encrypted_dek,
cryptoUtils,
);
setDecryptedCanvasData(decryptedCanvasData);
};
const processLetterData = async (data: LetterResponseData) => {