From 1a69972b4cc11f057a8d1531e5c808a42bba6b1d Mon Sep 17 00:00:00 2001 From: Kelrap Date: Wed, 11 Jun 2025 13:11:12 -0400 Subject: [PATCH 1/2] Hide reply action in chats where user can't send messages --- lib/pages/chat/chat.dart | 9 ++++++++- lib/pangea/toolbar/widgets/overlay_header.dart | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 19a6181ab..87ad65665 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -1390,6 +1390,12 @@ class ChatController extends State return true; } +// #Pangea + bool get canReplySelectedEvents { + return room.canSendDefaultMessages; + } + // Pangea# + bool get canPinSelectedEvents { if (isArchived || !room.canChangeStateEvent(EventTypes.RoomPinnedEvents) || @@ -1618,7 +1624,8 @@ class ChatController extends State if (timeline == null || events.any( (e) => e.aggregatedEvents(timeline!, RelationshipTypes.reaction).any( - (re) => re.content.tryGetMap('m.relates_to')?['key'] == emoji), + (re) => re.content.tryGetMap('m.relates_to')?['key'] == emoji, + ), )) { return; } diff --git a/lib/pangea/toolbar/widgets/overlay_header.dart b/lib/pangea/toolbar/widgets/overlay_header.dart index faae598c8..009f78f73 100644 --- a/lib/pangea/toolbar/widgets/overlay_header.dart +++ b/lib/pangea/toolbar/widgets/overlay_header.dart @@ -63,7 +63,8 @@ class OverlayHeaderState extends State { padding: const EdgeInsets.symmetric(vertical: 8.0), child: Row( children: [ - if (controller.selectedEvents.length == 1) + if (controller.selectedEvents.length == 1 && + controller.canReplySelectedEvents) IconButton( icon: const Icon(Symbols.reply_all), tooltip: l10n.reply, From a36ac5cc81283043c9c7c7305cf1ee8b6d90b552 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Wed, 11 Jun 2025 15:23:28 -0400 Subject: [PATCH 2/2] simplify --- lib/pages/chat/chat.dart | 6 ------ lib/pangea/toolbar/widgets/overlay_header.dart | 5 ++++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 87ad65665..4b577e5b2 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -1390,12 +1390,6 @@ class ChatController extends State return true; } -// #Pangea - bool get canReplySelectedEvents { - return room.canSendDefaultMessages; - } - // Pangea# - bool get canPinSelectedEvents { if (isArchived || !room.canChangeStateEvent(EventTypes.RoomPinnedEvents) || diff --git a/lib/pangea/toolbar/widgets/overlay_header.dart b/lib/pangea/toolbar/widgets/overlay_header.dart index 009f78f73..cb4db5d21 100644 --- a/lib/pangea/toolbar/widgets/overlay_header.dart +++ b/lib/pangea/toolbar/widgets/overlay_header.dart @@ -63,8 +63,11 @@ class OverlayHeaderState extends State { padding: const EdgeInsets.symmetric(vertical: 8.0), child: Row( children: [ + // #Pangea + // if (controller.selectedEvents.length == 1) if (controller.selectedEvents.length == 1 && - controller.canReplySelectedEvents) + controller.room.canSendDefaultMessages) + // Pangea# IconButton( icon: const Icon(Symbols.reply_all), tooltip: l10n.reply,