Fix issue with joining public rooms with no guest access.

This fixes #2888.

Signed-off-by: Chris Moos <chris@chrismoos.com>
This commit is contained in:
Chris Moos 2019-12-22 14:37:39 -07:00
parent 3e407af820
commit c93d7996f6
3 changed files with 17 additions and 5 deletions

View file

@ -1,3 +1,9 @@
Changes in 0.10.5 (TBD)
===============================================
Bug fix:
* Fix error when joining some public rooms. (#2888).
Changes in 0.10.4 (2019-12-11)
===============================================

View file

@ -51,12 +51,17 @@
if (self)
{
// Report public room data
_roomName = publicRoom.name;
_roomName = publicRoom.displayname;
_roomAvatarUrl = publicRoom.avatarUrl;
_roomTopic = publicRoom.topic;
_roomAliases = publicRoom.aliases;
_numJoinedMembers = publicRoom.numJoinedMembers;
// First try to fallback to the name if displayname isn't present
if (!_roomName.length) {
_roomName = publicRoom.name;
}
if (!_roomName.length)
{
// Consider the room aliases to define a default room name.
@ -109,7 +114,9 @@
} failure:^(NSError *error) {
MXStrongifyAndReturnIfNil(self);
self->_roomName = self->_roomId;
if(self->_roomName == nil || self->_roomName.length == 0) {
self->_roomName = self->_roomId;
}
completion(NO);
}];
}

View file

@ -267,13 +267,12 @@
// Preview the public room
if (publicRoom.worldReadable)
{
RoomPreviewData *roomPreviewData = [[RoomPreviewData alloc] initWithRoomId:publicRoom.roomId andSession:recentsDataSource.publicRoomsDirectoryDataSource.mxSession];
RoomPreviewData *roomPreviewData = [[RoomPreviewData alloc] initWithPublicRoom:publicRoom andSession:recentsDataSource.publicRoomsDirectoryDataSource.mxSession];
[self startActivityIndicator];
// Try to get more information about the room before opening its preview
[roomPreviewData peekInRoom:^(BOOL succeeded) {
[self stopActivityIndicator];
[[AppDelegate theDelegate].masterTabBarController showRoomPreview:roomPreviewData];