mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-10-31 16:24:11 +00:00
Fix broken avatar aspect ratio in the share sheet and notifications
The media repo serves thumbnails with the scale method, so avatars keep their source aspect ratio. The system stretches whatever INImage we donate to fill a circle, distorting any non-square avatar in the share sheet's conversation suggestions (and notifications, which are donated the same image). Centre-crop donated avatars to a square before handing them to the system, in both the timeline's send message intent donation and the NSE's communication context.
This commit is contained in:
@@ -650,8 +650,9 @@ class TimelineController: TimelineControllerProtocol {
|
||||
}
|
||||
|
||||
if let avatarURL, let mediaSource = try? MediaSourceProxy(url: avatarURL, mimeType: nil) {
|
||||
if case let .success(avatarData) = await mediaProvider.loadThumbnailForSource(source: mediaSource, size: .init(width: 100, height: 100)) {
|
||||
sendMessageIntent.setImage(INImage(imageData: avatarData), forParameterNamed: \.speakableGroupName)
|
||||
if case let .success(avatarData) = await mediaProvider.loadThumbnailForSource(source: mediaSource, size: .init(width: 100, height: 100)),
|
||||
let squareAvatarData = Avatars.squareAvatarImageData(from: avatarData) {
|
||||
sendMessageIntent.setImage(INImage(imageData: squareAvatarData), forParameterNamed: \.speakableGroupName)
|
||||
} else {
|
||||
addPlacehoder()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user