diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index 3c43dee0..2835f450 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -480,6 +480,8 @@ class ChatListController extends State } void setStatus() async { + final client = Matrix.of(context).client; + final currentPresence = await client.fetchCurrentPresence(client.userID!); final input = await showTextInputDialog( useRootNavigator: false, context: context, @@ -493,17 +495,19 @@ class ChatListController extends State maxLines: 6, minLines: 1, maxLength: 255, + initialText: currentPresence.statusMsg, ), ], ); if (input == null) return; + if (!mounted) return; await showFutureLoadingDialog( context: context, - future: () => Matrix.of(context).client.setPresence( - Matrix.of(context).client.userID!, - PresenceType.online, - statusMsg: input.single, - ), + future: () => client.setPresence( + client.userID!, + PresenceType.online, + statusMsg: input.single, + ), ); }