From 887afb0247fabbd4f06d9ea6b95e5c32a0a9bcab Mon Sep 17 00:00:00 2001 From: Gabby Gurdin Date: Mon, 12 Feb 2024 15:25:13 -0500 Subject: [PATCH] upgraded to most recent version of matrix sdk, fix for when to show rich text --- assets/l10n/intl_en.arb | 44 ++++++++++++++++++- lib/pages/chat/events/message_content.dart | 12 ++++- lib/pangea/models/pangea_message_event.dart | 4 +- lib/pangea/widgets/igc/pangea_rich_text.dart | 4 ++ .../matrix_sdk_extensions/matrix_locals.dart | 24 ++++++++++ pubspec.lock | 4 +- pubspec.yaml | 2 +- 7 files changed, 86 insertions(+), 8 deletions(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 3aed42f1a..d433179ec 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3885,5 +3885,47 @@ "enableModeration": "Enable moderation", "enableModerationDesc": "Enable automatic moderation to review messages before they are sent", "conversationLanguageLevel": "What is the language level of this conversation?", - "showDefinition": "Show Definition" + "showDefinition": "Show Definition", + "acceptedKeyVerification": "{sender} accepted key verification", + "@acceptedKeyVerification": { + "type": "text", + "placeholders": { + "sender": {} + } + }, + "canceledKeyVerification": "{sender} canceled key verification", + "@canceledKeyVerification": { + "type": "text", + "placeholders": { + "sender": {} + } + }, + "completedKeyVerification": "{sender} completed key verification", + "@completedKeyVerification": { + "type": "text", + "placeholders": { + "sender": {} + } + }, + "isReadyForKeyVerification": "{sender} is ready for key verification", + "@isReadyForKeyVerification": { + "type": "text", + "placeholders": { + "sender": {} + } + }, + "requestedKeyVerification": "{sender} requested key verification", + "@requestedKeyVerification": { + "type": "text", + "placeholders": { + "sender": {} + } + }, + "startedKeyVerification": "{sender} started key verification", + "@startedKeyVerification": { + "type": "text", + "placeholders": { + "sender": {} + } + } } \ No newline at end of file diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index aea56de0b..46c518ca5 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -170,7 +170,11 @@ class MessageContent extends StatelessWidget { event.isRichMessage // #Pangea && - !(pangeaMessageEvent?.showRichText(selected) ?? false) + !(pangeaMessageEvent?.showRichText( + selected, + toolbarController?.highlighted ?? false, + ) ?? + false) // Pangea# ) { var html = event.formattedText; @@ -266,7 +270,11 @@ class MessageContent extends StatelessWidget { decoration: event.redacted ? TextDecoration.lineThrough : null, height: 1.3, ); - if (pangeaMessageEvent?.showRichText(selected) ?? false) { + if (pangeaMessageEvent?.showRichText( + selected, + toolbarController?.highlighted ?? false, + ) ?? + false) { return PangeaRichText( style: messageTextStyle, pangeaMessageEvent: pangeaMessageEvent!, diff --git a/lib/pangea/models/pangea_message_event.dart b/lib/pangea/models/pangea_message_event.dart index d4b0dce50..20b951111 100644 --- a/lib/pangea/models/pangea_message_event.dart +++ b/lib/pangea/models/pangea_message_event.dart @@ -67,7 +67,7 @@ class PangeaMessageEvent { .firstOrNull ?? _event; - bool showRichText(bool selected) { + bool showRichText(bool selected, bool highlighted) { if (!_isValidPangeaMessageEvent) { return false; } @@ -77,7 +77,7 @@ class PangeaMessageEvent { if ([EventStatus.error, EventStatus.sending].contains(_event.status)) { return false; } - if (ownMessage && !selected) return false; + if (ownMessage && !selected && !highlighted) return false; return true; } diff --git a/lib/pangea/widgets/igc/pangea_rich_text.dart b/lib/pangea/widgets/igc/pangea_rich_text.dart index afb1ebce6..fcfd4f337 100644 --- a/lib/pangea/widgets/igc/pangea_rich_text.dart +++ b/lib/pangea/widgets/igc/pangea_rich_text.dart @@ -58,6 +58,10 @@ class PangeaRichTextState extends State { } String getTextSpan() { + if (_fetchingRepresentation == true) { + return widget.pangeaMessageEvent.body; + } + if (widget.pangeaMessageEvent.eventId.contains("webdebug")) { debugger(when: kDebugMode); } diff --git a/lib/utils/matrix_sdk_extensions/matrix_locals.dart b/lib/utils/matrix_sdk_extensions/matrix_locals.dart index 4a9b68274..4eaec0d52 100644 --- a/lib/utils/matrix_sdk_extensions/matrix_locals.dart +++ b/lib/utils/matrix_sdk_extensions/matrix_locals.dart @@ -320,4 +320,28 @@ class MatrixLocals extends MatrixLocalizations { @override String hasKnocked(String targetName) => l10n.hasKnocked(targetName); + + @override + String acceptedKeyVerification(String senderName) => + l10n.acceptedKeyVerification(senderName); + + @override + String canceledKeyVerification(String senderName) => + l10n.canceledKeyVerification(senderName); + + @override + String completedKeyVerification(String senderName) => + l10n.completedKeyVerification(senderName); + + @override + String isReadyForKeyVerification(String senderName) => + l10n.isReadyForKeyVerification(senderName); + + @override + String requestedKeyVerification(String senderName) => + l10n.requestedKeyVerification(senderName); + + @override + String startedKeyVerification(String senderName) => + l10n.startedKeyVerification(senderName); } diff --git a/pubspec.lock b/pubspec.lock index 25e4ca8c1..dd1ad52b2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1376,10 +1376,10 @@ packages: dependency: "direct main" description: name: matrix - sha256: ae57870b14484044896a07abbc102b29cfafcfe38c382e954ba057e63196afdd + sha256: "187390203f6a5a7370490b7036f2defc306fda240f8d744191d406692c128469" url: "https://pub.dev" source: hosted - version: "0.25.5" + version: "0.25.8" matrix_api_lite: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 8700a1768..4b6d18698 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -66,7 +66,7 @@ dependencies: keyboard_shortcuts: ^0.1.4 latlong2: ^0.8.1 linkify: ^5.0.0 - matrix: ^0.25.5 + matrix: ^0.25.8 native_imaging: ^0.1.0 package_info_plus: ^4.0.0 pasteboard: ^0.2.0