mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
Fix: the avatar was incorrect for the pill of a message if the event is not loaded.
This commit is contained in:
parent
5006ccb333
commit
13ba93ae13
2 changed files with 12 additions and 14 deletions
|
@ -1059,7 +1059,6 @@ manualChangeMessageForVideo:(NSString*)manualChangeMessageForVideo
|
||||||
NSString *link = [mutableAttributedString.string substringWithRange:matchRange];
|
NSString *link = [mutableAttributedString.string substringWithRange:matchRange];
|
||||||
// Handle potential permalinks
|
// Handle potential permalinks
|
||||||
if ([permalinkRegex numberOfMatchesInString:link options:0 range:NSMakeRange(0, link.length)]) {
|
if ([permalinkRegex numberOfMatchesInString:link options:0 range:NSMakeRange(0, link.length)]) {
|
||||||
MXLogDebug(@"[MXKTools] Permalink detected: %@", link);
|
|
||||||
NSURLComponents *url = [[NSURLComponents new] initWithString:link];
|
NSURLComponents *url = [[NSURLComponents new] initWithString:link];
|
||||||
if (url.URL)
|
if (url.URL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -226,11 +226,7 @@ struct PillProvider {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func computeDisplayText(withRoomDisplayName displayName: String?) -> String {
|
let displayText = room?.displayName.flatMap { VectorL10n.pillMessageIn($0) } ?? VectorL10n.pillMessage
|
||||||
displayName.flatMap { VectorL10n.pillMessageIn($0) } ?? VectorL10n.pillMessage
|
|
||||||
}
|
|
||||||
|
|
||||||
let displayText = computeDisplayText(withRoomDisplayName: room?.displayName)
|
|
||||||
|
|
||||||
let data = PillTextAttachmentData(pillType: .message(roomId: roomId, eventId: messageId),
|
let data = PillTextAttachmentData(pillType: .message(roomId: roomId, eventId: messageId),
|
||||||
items: [
|
items: [
|
||||||
|
@ -254,25 +250,28 @@ struct PillProvider {
|
||||||
/// - Returns: a pill attachment
|
/// - Returns: a pill attachment
|
||||||
private func pillTextAttachment(inCurrentRoomForMessageId messageId: String) -> PillAttachmentKind {
|
private func pillTextAttachment(inCurrentRoomForMessageId messageId: String) -> PillAttachmentKind {
|
||||||
var roomMember: MXRoomMember?
|
var roomMember: MXRoomMember?
|
||||||
// Try to get the room member
|
// If we have the event locally, try to get the room member
|
||||||
if let event = session.store.event(withEventId: messageId, inRoom: roomState.roomId) {
|
if let event = session.store.event(withEventId: messageId, inRoom: roomState.roomId) {
|
||||||
roomMember = self.roomMember(withUserId: event.sender)
|
roomMember = self.roomMember(withUserId: event.sender)
|
||||||
}
|
}
|
||||||
|
|
||||||
let displayText: String
|
let displayText: String
|
||||||
if let userDisplayName = roomMember?.displayname {
|
let avatar: PillTextAttachmentItem
|
||||||
displayText = VectorL10n.pillMessageFrom(userDisplayName)
|
if let roomMember {
|
||||||
|
displayText = VectorL10n.pillMessageFrom(roomMember.displayname)
|
||||||
|
avatar = .avatar(url: roomMember.avatarUrl,
|
||||||
|
string: roomMember.displayname,
|
||||||
|
matrixId: roomMember.userId)
|
||||||
} else {
|
} else {
|
||||||
displayText = VectorL10n.pillMessage
|
displayText = VectorL10n.pillMessage
|
||||||
|
avatar = .asset(named: "link_icon",
|
||||||
|
parameters: .init(backgroundColor: PillAssetColor(uiColor: ThemeService.shared().theme.colors.links),
|
||||||
|
rawRenderingMode: UIImage.RenderingMode.alwaysTemplate.rawValue))
|
||||||
}
|
}
|
||||||
|
|
||||||
let avatarUrl = roomMember?.avatarUrl
|
|
||||||
|
|
||||||
let data = PillTextAttachmentData(pillType: .message(roomId: roomState.roomId, eventId: messageId),
|
let data = PillTextAttachmentData(pillType: .message(roomId: roomState.roomId, eventId: messageId),
|
||||||
items: [
|
items: [
|
||||||
.avatar(url: avatarUrl,
|
avatar,
|
||||||
string: roomMember?.displayname,
|
|
||||||
matrixId: roomMember?.userId ?? ""),
|
|
||||||
.text(displayText)
|
.text(displayText)
|
||||||
].compactMap { $0 },
|
].compactMap { $0 },
|
||||||
isHighlighted: false,
|
isHighlighted: false,
|
||||||
|
|
Loading…
Reference in a new issue