From aaeb72c3988f9c9f56925c79115d28d8d03bfa8e Mon Sep 17 00:00:00 2001 From: Kelrap Date: Wed, 22 May 2024 14:34:27 -0400 Subject: [PATCH 1/5] Overflowing text is shortened, with ellipsis --- lib/pangea/extensions/pangea_room_extension.dart | 2 ++ lib/pangea/pages/class_settings/class_name_header.dart | 10 ++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/pangea/extensions/pangea_room_extension.dart b/lib/pangea/extensions/pangea_room_extension.dart index febd17fa8..4d08f0b62 100644 --- a/lib/pangea/extensions/pangea_room_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension.dart @@ -124,6 +124,8 @@ extension PangeaRoom on Room { Text nameAndRoomTypeIcon([TextStyle? textStyle]) => Text.rich( style: textStyle, + maxLines: 1, + overflow: TextOverflow.ellipsis, TextSpan( children: [ WidgetSpan( diff --git a/lib/pangea/pages/class_settings/class_name_header.dart b/lib/pangea/pages/class_settings/class_name_header.dart index 39adaa126..12a1090f2 100644 --- a/lib/pangea/pages/class_settings/class_name_header.dart +++ b/lib/pangea/pages/class_settings/class_name_header.dart @@ -1,11 +1,9 @@ +import 'package:fluffychat/pages/chat_details/chat_details.dart'; +import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; import 'package:flutter/material.dart'; import 'package:flutter/src/widgets/visibility.dart' as visible; - import 'package:matrix/matrix.dart'; -import 'package:fluffychat/pages/chat_details/chat_details.dart'; -import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; - class ClassNameHeader extends StatelessWidget { final Room room; final ChatDetailsController controller; @@ -24,14 +22,14 @@ class ClassNameHeader extends StatelessWidget { style: TextButton.styleFrom( padding: const EdgeInsets.symmetric(horizontal: 25), ), - label: visible.Visibility( + icon: visible.Visibility( visible: controller.showEditNameIcon, child: Icon( Icons.edit, color: Theme.of(context).colorScheme.onBackground, ), ), - icon: room.nameAndRoomTypeIcon( + label: room.nameAndRoomTypeIcon( TextStyle( fontSize: 20, color: Theme.of(context).textTheme.bodyLarge!.color, From 37f0772a01f7e96eb4e085871c0f4f1f0aa15c96 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 24 May 2024 14:24:31 -0400 Subject: [PATCH 2/5] Fixing toolbar bugs for newly-sent messages --- lib/pages/chat/events/message_content.dart | 8 ++++--- lib/pangea/widgets/chat/message_toolbar.dart | 21 ++++++++++++------- .../chat/message_translation_card.dart | 4 +++- lib/pangea/widgets/igc/pangea_rich_text.dart | 8 ++++--- 4 files changed, 26 insertions(+), 15 deletions(-) diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index f04296d38..069585d7f 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -344,9 +344,11 @@ class MessageContent extends StatelessWidget { MatrixLocals(L10n.of(context)!), hideReply: true, ); - toolbarController?.toolbar?.textSelection.setMessageText( - messageText, - ); + // #Pangea + // toolbarController?.toolbar?.textSelection.setMessageText( + // messageText, + // ); + // Pangea# return SelectableLinkify( onSelectionChanged: (selection, cause) { if (cause == SelectionChangedCause.longPress && diff --git a/lib/pangea/widgets/chat/message_toolbar.dart b/lib/pangea/widgets/chat/message_toolbar.dart index 2f6d82ef1..142a27227 100644 --- a/lib/pangea/widgets/chat/message_toolbar.dart +++ b/lib/pangea/widgets/chat/message_toolbar.dart @@ -188,10 +188,13 @@ class MessageToolbarState extends State { return; } - setState(() { - currentMode = newMode; - updatingMode = true; - }); + if (mounted) { + setState(() { + currentMode = newMode; + updatingMode = true; + }); + } + if (!subscribed) { toolbarContent = MessageUnsubscribedCard( languageTool: newMode.title(context), @@ -221,9 +224,11 @@ class MessageToolbarState extends State { break; } } - setState(() { - updatingMode = false; - }); + if (mounted) { + setState(() { + updatingMode = false; + }); + } } void showTranslation() { @@ -289,7 +294,7 @@ class MessageToolbarState extends State { final bool autoplay = MatrixState.pangeaController.pStoreService.read( PLocalKey.autoPlayMessages, ) ?? - true; + false; if (widget.pangeaMessageEvent.isAudioMessage) { updateMode(MessageMode.speechToText); diff --git a/lib/pangea/widgets/chat/message_translation_card.dart b/lib/pangea/widgets/chat/message_translation_card.dart index f797cc3b4..b1bae20e5 100644 --- a/lib/pangea/widgets/chat/message_translation_card.dart +++ b/lib/pangea/widgets/chat/message_translation_card.dart @@ -113,7 +113,9 @@ class MessageTranslationCardState extends State { l2Code = MatrixState.pangeaController.languageController.activeL2Code( roomID: widget.messageEvent.room.id, ); - setState(() {}); + if (mounted) { + setState(() {}); + } loadTranslation(() async { if (widget.selection.selectedText != null) { diff --git a/lib/pangea/widgets/igc/pangea_rich_text.dart b/lib/pangea/widgets/igc/pangea_rich_text.dart index 43416e006..262f37824 100644 --- a/lib/pangea/widgets/igc/pangea_rich_text.dart +++ b/lib/pangea/widgets/igc/pangea_rich_text.dart @@ -61,9 +61,11 @@ class PangeaRichTextState extends State { widget.toolbarController?.toolbar?.textSelection.setMessageText( newTextSpan, ); - setState(() { - textSpan = newTextSpan; - }); + if (mounted) { + setState(() { + textSpan = newTextSpan; + }); + } } void setTextSpan() { From 81e773b1bcbc25539b3b219dba286a29a194c657 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 24 May 2024 15:12:26 -0400 Subject: [PATCH 3/5] Don't change toolbar's messageText here --- lib/pages/chat/events/message_content.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index 069585d7f..98b789b80 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -365,8 +365,11 @@ class MessageContent extends StatelessWidget { .onTextSelection(selection); }, onTap: () => toolbarController?.showToolbar(context), - text: toolbarController?.toolbar?.textSelection.messageText ?? - messageText, + // #Pangea + // text: toolbarController?.toolbar?.textSelection.messageText ?? + // messageText, + text: messageText, + // Pangea# contextMenuBuilder: (context, state) => (toolbarController?.highlighted ?? false) ? const SizedBox.shrink() From a72197c80560f9e1cf9e22b26b6d3fe85b05569b Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 27 May 2024 09:45:50 -0400 Subject: [PATCH 4/5] increased max chat / space name length --- lib/pages/new_group/new_group_view.dart | 2 +- lib/pages/new_space/new_space_view.dart | 2 +- lib/pangea/utils/set_class_name.dart | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pages/new_group/new_group_view.dart b/lib/pages/new_group/new_group_view.dart index 523f3002e..ced178038 100644 --- a/lib/pages/new_group/new_group_view.dart +++ b/lib/pages/new_group/new_group_view.dart @@ -58,7 +58,7 @@ class NewGroupView extends StatelessWidget { Expanded( child: TextField( // #Pangea - maxLength: 32, + maxLength: 64, // Pangea# controller: controller.nameController, autocorrect: false, diff --git a/lib/pages/new_space/new_space_view.dart b/lib/pages/new_space/new_space_view.dart index 23f81b7ab..2b6371b09 100644 --- a/lib/pages/new_space/new_space_view.dart +++ b/lib/pages/new_space/new_space_view.dart @@ -96,7 +96,7 @@ class NewSpaceView extends StatelessWidget { Expanded( child: TextField( // #Pangea - maxLength: 32, + maxLength: 64, // Pangea# controller: controller.nameController, autocorrect: false, diff --git a/lib/pangea/utils/set_class_name.dart b/lib/pangea/utils/set_class_name.dart index 1fd2ab66d..430f8ce4c 100644 --- a/lib/pangea/utils/set_class_name.dart +++ b/lib/pangea/utils/set_class_name.dart @@ -27,7 +27,7 @@ void setClassDisplayname(BuildContext context, String? roomId) async { : L10n.of(context)!.changeTheNameOfTheChat, ), content: TextField( - maxLength: 32, + maxLength: 64, controller: textFieldController, ), actions: [ From 26fe82a625f0f0d32c489370baf21c070c0853db Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 27 May 2024 12:12:55 -0400 Subject: [PATCH 5/5] pangea comment fix --- lib/pages/chat/events/message_content.dart | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index 98b789b80..41997afea 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -344,11 +344,6 @@ class MessageContent extends StatelessWidget { MatrixLocals(L10n.of(context)!), hideReply: true, ); - // #Pangea - // toolbarController?.toolbar?.textSelection.setMessageText( - // messageText, - // ); - // Pangea# return SelectableLinkify( onSelectionChanged: (selection, cause) { if (cause == SelectionChangedCause.longPress && @@ -365,11 +360,7 @@ class MessageContent extends StatelessWidget { .onTextSelection(selection); }, onTap: () => toolbarController?.showToolbar(context), - // #Pangea - // text: toolbarController?.toolbar?.textSelection.messageText ?? - // messageText, text: messageText, - // Pangea# contextMenuBuilder: (context, state) => (toolbarController?.highlighted ?? false) ? const SizedBox.shrink()