From 9e039cc5327c6b8ae5c1bda0e7f216ff6a7578b4 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Mon, 24 Feb 2025 21:31:12 +0800 Subject: [PATCH] :bug: Fix editing message --- lib/controllers/chat_message_controller.dart | 2 +- lib/screens/chat.dart | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/controllers/chat_message_controller.dart b/lib/controllers/chat_message_controller.dart index 4e77c7c..db3fbf3 100644 --- a/lib/controllers/chat_message_controller.dart +++ b/lib/controllers/chat_message_controller.dart @@ -214,7 +214,7 @@ class ChatMessageController extends ChangeNotifier { final idx = messages.indexWhere((x) => x.id == message.relatedEventId); if (idx != -1) { - final newBody = message.body; + final newBody = Map.from(message.body); newBody.remove('related_event'); messages[idx] = messages[idx].copyWith( body: newBody, diff --git a/lib/screens/chat.dart b/lib/screens/chat.dart index 32d4910..4aba838 100644 --- a/lib/screens/chat.dart +++ b/lib/screens/chat.dart @@ -41,6 +41,7 @@ class _ChatScreenState extends State { Future _fetchWhatsNew() async { final sn = context.read(); final resp = await sn.client.get('/cgi/im/whats-new'); + if (resp.data == null) return; final List out = resp.data; setState(() { _unreadCounts = {for (var v in out) v['channel_id']: v['count']};