From 0b5398de886accfabb7de4e7a0a262866411f4f5 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 13 Oct 2022 16:46:34 +0100 Subject: [PATCH] fix: fingerprinting protection error in Brave browser --- src/components/dashboard/AvatarForm.tsx | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/dashboard/AvatarForm.tsx b/src/components/dashboard/AvatarForm.tsx index 6d981a7d..b54101e2 100644 --- a/src/components/dashboard/AvatarForm.tsx +++ b/src/components/dashboard/AvatarForm.tsx @@ -26,15 +26,22 @@ const AvatarEditorModal: React.FC<{ // Get cropped image if (editorRef.current) { const fromCanvas = editorRef.current?.getImage() - const toCanvas = document.createElement("canvas") - toCanvas.width = 460 - toCanvas.height = 460 - const pica = createPica() - const result = await pica.resize(fromCanvas, toCanvas) - const blob = await pica.toBlob(result, "image/jpeg", 0.9) + let blob: Blob | null = null + try { + const toCanvas = document.createElement("canvas") + toCanvas.width = 460 + toCanvas.height = 460 + const pica = createPica() + const result = await pica.resize(fromCanvas, toCanvas) + blob = await pica.toBlob(result, "image/jpeg", 0.9) + } catch (error) { + blob = await new Promise((resolve) => fromCanvas.toBlob(resolve)) + } // Upload image to R2 - key = (await uploadFile(blob)).key + if (blob) { + key = (await uploadFile(blob)).key + } } // Save the image to profile / site