diff --git a/lib/pages/chat_members/chat_members.dart b/lib/pages/chat_members/chat_members.dart index 5d3ca2125..c777d286e 100644 --- a/lib/pages/chat_members/chat_members.dart +++ b/lib/pages/chat_members/chat_members.dart @@ -52,6 +52,8 @@ class ChatMembersController extends State { .getRoomById(widget.roomId) ?.requestParticipants(); + if (!mounted) return; + setState(() { members = participants; }); diff --git a/lib/pages/chat_members/chat_members_view.dart b/lib/pages/chat_members/chat_members_view.dart index f110b380e..b60caa5f6 100644 --- a/lib/pages/chat_members/chat_members_view.dart +++ b/lib/pages/chat_members/chat_members_view.dart @@ -43,7 +43,7 @@ class ChatMembersView extends StatelessWidget { ), actions: [ IconButton( - onPressed: () => context.go('/rooms/{room.id}/invite'), + onPressed: () => context.go('/rooms/${room.id}/invite'), icon: const Icon( Icons.person_add_outlined, ), diff --git a/lib/pages/invitation_selection/invitation_selection_view.dart b/lib/pages/invitation_selection/invitation_selection_view.dart index 07600669e..202e4b378 100644 --- a/lib/pages/invitation_selection/invitation_selection_view.dart +++ b/lib/pages/invitation_selection/invitation_selection_view.dart @@ -15,7 +15,19 @@ class InvitationSelectionView extends StatelessWidget { @override Widget build(BuildContext context) { - final room = Matrix.of(context).client.getRoomById(controller.roomId!)!; + final room = + Matrix.of(context).client.getRoomById(controller.widget.roomId); + if (room == null) { + return Scaffold( + appBar: AppBar( + title: Text(L10n.of(context)!.oopsSomethingWentWrong), + ), + body: Center( + child: Text(L10n.of(context)!.youAreNoLongerParticipatingInThisChat), + ), + ); + } + final groupName = room.name.isEmpty ? L10n.of(context)!.group : room.name; return Scaffold( appBar: AppBar(