diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 6432bc393..acf0019e4 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -1233,6 +1233,11 @@ class ChatController extends State if (response == OkCancelResult.ok) { final events = room.pinnedEventIds ..removeWhere((oldEvent) => oldEvent == eventId); + if (scrollToEventIdMarker == eventId) { + setState(() { + scrollToEventIdMarker = null; + }); + } showFutureLoadingDialog( context: context, future: () => room.setPinnedEvents(events), @@ -1247,7 +1252,8 @@ class ChatController extends State selectedEventIds.length == 1 && pinnedEventIds.contains(selectedEventIds.single); if (unpin) { - pinnedEventIds.removeWhere(selectedEventIds.contains); + unpinEvent(selectedEventIds.single); + return; } else { pinnedEventIds.addAll(selectedEventIds); }