From 64112c2a3c3cf9f265bc31f627eadf64ccd1e834 Mon Sep 17 00:00:00 2001 From: Gabby Gurdin Date: Fri, 5 Apr 2024 16:55:12 -0400 Subject: [PATCH] prevent pangea message events made from encrypted messages, display enrypted messages correctly --- lib/pages/chat/events/message.dart | 21 +++++++++-------- lib/pages/chat/events/message_content.dart | 27 +++++++++++++++------- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index 5b1a56cf5..7304267d1 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -2,7 +2,6 @@ import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pangea/enum/use_type.dart'; import 'package:fluffychat/pangea/models/language_model.dart'; -import 'package:fluffychat/pangea/models/pangea_message_event.dart'; import 'package:fluffychat/pangea/widgets/chat/message_toolbar.dart'; import 'package:fluffychat/utils/date_time_extension.dart'; import 'package:fluffychat/utils/string_color.dart'; @@ -141,10 +140,9 @@ class Message extends StatelessWidget { } // #Pangea - final PangeaMessageEvent? pangeaMessageEvent = - controller.getPangeaMessageEvent(event.eventId); ToolbarDisplayController? toolbarController; - if (event.messageType == MessageTypes.Text || + if (event.type == EventTypes.Message && + event.messageType == MessageTypes.Text || event.messageType == MessageTypes.Notice) { toolbarController = controller.getToolbarDisplayController(event.eventId); } @@ -351,7 +349,8 @@ class Message extends StatelessWidget { borderRadius: borderRadius, // #Pangea selected: selected, - pangeaMessageEvent: pangeaMessageEvent, + pangeaMessageEvent: + toolbarController?.pangeaMessageEvent, immersionMode: immersionMode, toolbarController: toolbarController, // Pangea# @@ -361,7 +360,9 @@ class Message extends StatelessWidget { RelationshipTypes.edit, ) // #Pangea || - (pangeaMessageEvent?.showUseType ?? + (toolbarController + ?.pangeaMessageEvent + .showUseType ?? false) // Pangea# ) @@ -373,10 +374,12 @@ class Message extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ // #Pangea - if (pangeaMessageEvent - ?.showUseType ?? + if (toolbarController + ?.pangeaMessageEvent + .showUseType ?? false) ...[ - pangeaMessageEvent!.useType + toolbarController! + .pangeaMessageEvent.useType .iconView( context, textColor.withAlpha(164), diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index 9b930cf83..3fdd55ece 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -125,6 +125,15 @@ class MessageContent extends StatelessWidget { switch (event.type) { case EventTypes.Message: case EventTypes.Encrypted: + // #Pangea + return _ButtonContent( + textColor: buttonTextColor, + onPressed: () {}, + icon: '🔒', + label: L10n.of(context)!.encrypted, + fontSize: fontSize, + ); + // Pangea# case EventTypes.Sticker: switch (event.messageType) { case MessageTypes.Image: @@ -190,14 +199,16 @@ class MessageContent extends StatelessWidget { // else we fall through to the normal message rendering continue textmessage; case MessageTypes.BadEncrypted: - case EventTypes.Encrypted: - return _ButtonContent( - textColor: buttonTextColor, - onPressed: () => _verifyOrRequestKey(context), - icon: '🔒', - label: L10n.of(context)!.encrypted, - fontSize: fontSize, - ); + // #Pangea + // case EventTypes.Encrypted: + // return _ButtonContent( + // textColor: buttonTextColor, + // onPressed: () => _verifyOrRequestKey(context), + // icon: '🔒', + // label: L10n.of(context)!.encrypted, + // fontSize: fontSize, + // ); + // Pangea# case MessageTypes.Location: final geoUri = Uri.tryParse(event.content.tryGet('geo_uri')!);