diff --git a/lib/widgets/public_room_bottom_sheet.dart b/lib/widgets/public_room_bottom_sheet.dart index f5d483f2..f97bdb90 100644 --- a/lib/widgets/public_room_bottom_sheet.dart +++ b/lib/widgets/public_room_bottom_sheet.dart @@ -34,7 +34,9 @@ class PublicRoomBottomSheet extends StatelessWidget { final client = Matrix.of(context).client; final result = await showFutureLoadingDialog( context: context, - future: () => client.joinRoom(roomAlias ?? chunk!.roomId), + future: () => chunk?.joinRule == 'knock' + ? client.knockRoom(chunk!.roomId) + : client.joinRoom(roomAlias ?? chunk!.roomId), ); if (result.error == null) { if (client.getRoomById(result.result!) == null) {