From 4f5119fac0ab857decae2c5d0fde340c2afa3b6e Mon Sep 17 00:00:00 2001 From: Spence Pope Date: Mon, 6 Jul 2026 17:53:37 -0400 Subject: [PATCH] fix camera roll gif selection hanging on ios (#11074) --- src/view/com/composer/Composer.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx index a2cf83c75e..a09aaab8c1 100644 --- a/src/view/com/composer/Composer.tsx +++ b/src/view/com/composer/Composer.tsx @@ -389,9 +389,15 @@ export const ComposePost = ({ /* * Share-extension deeplinks deliver a video URI without duration, so * probe before we decide whether to compress. The picker and web paste - * paths already populate duration upstream. + * paths already populate duration upstream. GIFs must skip the probe: + * they have no video track, so the iOS prober never resolves or rejects + * and the await below would hang forever. */ - if (asset.duration == null && IS_NATIVE) { + if ( + asset.duration == null && + IS_NATIVE && + asset.mimeType !== 'image/gif' + ) { try { const probed = await getVideoMetadata(asset.uri) asset = {