diff --git a/modules/BlueskyNSE/NotificationService.swift b/modules/BlueskyNSE/NotificationService.swift index eaf85924df..96ca79a391 100644 --- a/modules/BlueskyNSE/NotificationService.swift +++ b/modules/BlueskyNSE/NotificationService.swift @@ -118,11 +118,19 @@ class NotificationService: UNNotificationServiceExtension { } func downloadAvatarImage(from urlString: String) -> INImage? { - let thumbnailUrlString = urlString.replacingOccurrences( + var thumbnailUrlString = urlString.replacingOccurrences( of: "/img/avatar/", with: "/img/avatar_thumbnail/" ) + // CDN URLs may end with @webp or no extension (which defaults to webp). + // INImage doesn't reliably handle WebP, so force JPEG. + if let atRange = thumbnailUrlString.range(of: "@", options: .backwards) { + thumbnailUrlString = String(thumbnailUrlString[..