diff --git a/Riot/Model/Room/RoomPreviewData.h b/Riot/Model/Room/RoomPreviewData.h index 47797327c..71280b099 100644 --- a/Riot/Model/Room/RoomPreviewData.h +++ b/Riot/Model/Room/RoomPreviewData.h @@ -62,6 +62,7 @@ @property (nonatomic) NSString *roomName; @property (nonatomic, readonly) NSString *roomTopic; @property (nonatomic, readonly) NSString *roomAvatarUrl; +@property (nonatomic, readonly) NSString *roomCanonicalAlias; @property (nonatomic, readonly) NSArray *roomAliases; @property (nonatomic, readonly) NSInteger numJoinedMembers; // -1 if unknown. diff --git a/Riot/Model/Room/RoomPreviewData.m b/Riot/Model/Room/RoomPreviewData.m index b86f1b7ef..74738367a 100644 --- a/Riot/Model/Room/RoomPreviewData.m +++ b/Riot/Model/Room/RoomPreviewData.m @@ -54,14 +54,22 @@ _roomName = publicRoom.displayname; _roomAvatarUrl = publicRoom.avatarUrl; _roomTopic = publicRoom.topic; + _roomCanonicalAlias = publicRoom.canonicalAlias; _roomAliases = publicRoom.aliases; _numJoinedMembers = publicRoom.numJoinedMembers; // First try to fallback to the name if displayname isn't present - if (!_roomName.length) { + if (!_roomName.length) + { _roomName = publicRoom.name; } + if (!_roomName.length) + { + // Use the canonical alias if present. + _roomName = publicRoom.canonicalAlias; + } + if (!_roomName.length) { // Consider the room aliases to define a default room name.