From 3787c0041912607f51f8300d94a0dd27c520ab03 Mon Sep 17 00:00:00 2001 From: manuroe Date: Wed, 21 Jun 2017 15:58:37 +0200 Subject: [PATCH 1/2] Fix: Room directory: "No public rooms available" is displayed while loading #1336 --- .../RoomList/PublicRoomsDirectoryDataSource.m | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Riot/Model/RoomList/PublicRoomsDirectoryDataSource.m b/Riot/Model/RoomList/PublicRoomsDirectoryDataSource.m index 690996d0c..327d13a12 100644 --- a/Riot/Model/RoomList/PublicRoomsDirectoryDataSource.m +++ b/Riot/Model/RoomList/PublicRoomsDirectoryDataSource.m @@ -214,6 +214,10 @@ double const kPublicRoomsDirectoryDataExpiration = 10; { if (_hasReachedPaginationEnd) { + if (complete) + { + complete(0); + } return nil; } @@ -338,14 +342,22 @@ double const kPublicRoomsDirectoryDataExpiration = 10; tableViewCell.textLabel.font = [UIFont systemFontOfSize:15.0]; tableViewCell.selectionStyle = UITableViewCellSelectionStyleNone; } - - if (_searchPattern.length) + + if (state == MXKDataSourceStateReady) { - tableViewCell.textLabel.text = NSLocalizedStringFromTable(@"search_no_result", @"Vector", nil); + if (_searchPattern.length) + { + tableViewCell.textLabel.text = NSLocalizedStringFromTable(@"search_no_result", @"Vector", nil); + } + else + { + tableViewCell.textLabel.text = NSLocalizedStringFromTable(@"room_directory_no_public_room", @"Vector", nil); + } } else { - tableViewCell.textLabel.text = NSLocalizedStringFromTable(@"room_directory_no_public_room", @"Vector", nil); + // Show nothing while loading and in other cases + tableViewCell.textLabel.text = @""; } return tableViewCell; From 7e546d88f00af6191c8c388efa7a3415b02c11cb Mon Sep 17 00:00:00 2001 From: manuroe Date: Wed, 21 Jun 2017 16:00:05 +0200 Subject: [PATCH 2/2] Fix crash: Room directory: Clicking on "No public rooms available" make the app crash --- Riot/ViewController/RoomsViewController.m | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Riot/ViewController/RoomsViewController.m b/Riot/ViewController/RoomsViewController.m index 53bb95b3d..4c0c16d44 100644 --- a/Riot/ViewController/RoomsViewController.m +++ b/Riot/ViewController/RoomsViewController.m @@ -210,7 +210,12 @@ { if (indexPath.section == recentsDataSource.directorySection) { - [self openPublicRoomAtIndexPath:indexPath]; + // Sanity check + MXPublicRoom *publicRoom = [recentsDataSource.publicRoomsDirectoryDataSource roomAtIndexPath:indexPath]; + if (publicRoom) + { + [self openPublicRoomAtIndexPath:indexPath]; + } } else {