From 28b90eeaa676e080ed0fdd3fb5f52b467533ff96 Mon Sep 17 00:00:00 2001 From: Florian <45694132+flo-bit@users.noreply.github.com> Date: Tue, 7 Apr 2026 22:38:29 +0200 Subject: [PATCH] fix safari compression issue --- src/lib/atproto/image-helper.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/atproto/image-helper.ts b/src/lib/atproto/image-helper.ts index 4ead117..fc90d8d 100644 --- a/src/lib/atproto/image-helper.ts +++ b/src/lib/atproto/image-helper.ts @@ -49,7 +49,9 @@ export function compressImage( if (!ctx) return reject(new Error('Failed to get canvas context.')); ctx.drawImage(img, 0, 0, width, height); - // Use WebP for both compression and transparency support + // Use WebP if supported, fall back to JPEG (Safari doesn't support WebP encoding) + const supportsWebP = canvas.toDataURL('image/webp').startsWith('data:image/webp'); + const mimeType = supportsWebP ? 'image/webp' : 'image/jpeg'; let quality = 0.9; function attemptCompression() { @@ -71,7 +73,7 @@ export function compressImage( attemptCompression(); } }, - 'image/webp', + mimeType, quality ); } -- 2.51.2