From c4349babcfdbb75feb27e90157e2dc18a9d3099c Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 13 Jun 2025 13:04:06 -0400 Subject: [PATCH 1/8] Fix duplicate language warning overflow --- .../pages/settings_learning_view.dart | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/pangea/learning_settings/pages/settings_learning_view.dart b/lib/pangea/learning_settings/pages/settings_learning_view.dart index 74c8cb0c6..c521e9717 100644 --- a/lib/pangea/learning_settings/pages/settings_learning_view.dart +++ b/lib/pangea/learning_settings/pages/settings_learning_view.dart @@ -192,13 +192,15 @@ class SettingsLearningView extends StatelessWidget { .colorScheme .error, ), - Text( - L10n.of(context) - .noIdenticalLanguages, - style: TextStyle( - color: Theme.of(context) - .colorScheme - .error, + Flexible( + child: Text( + L10n.of(context) + .noIdenticalLanguages, + style: TextStyle( + color: Theme.of(context) + .colorScheme + .error, + ), ), ), ], From 01b8a4ff383cc6ba0724e058bc12fa2864005503 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 13 Jun 2025 13:35:26 -0400 Subject: [PATCH 2/8] Stop overflow in language selection entries --- .../widgets/p_language_dropdown.dart | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/pangea/learning_settings/widgets/p_language_dropdown.dart b/lib/pangea/learning_settings/widgets/p_language_dropdown.dart index 462eaf650..c71fea714 100644 --- a/lib/pangea/learning_settings/widgets/p_language_dropdown.dart +++ b/lib/pangea/learning_settings/widgets/p_language_dropdown.dart @@ -239,15 +239,17 @@ class LanguageDropDownEntry extends StatelessWidget { Expanded( child: Row( children: [ - Text( - languageModel.getDisplayName(context) ?? "", - style: const TextStyle().copyWith( - color: enabled - ? Theme.of(context).textTheme.bodyLarge!.color - : Theme.of(context).disabledColor, - fontSize: 14, + Flexible( + child: Text( + languageModel.getDisplayName(context) ?? "", + style: const TextStyle().copyWith( + color: enabled + ? Theme.of(context).textTheme.bodyLarge!.color + : Theme.of(context).disabledColor, + fontSize: 14, + ), + overflow: TextOverflow.ellipsis, ), - overflow: TextOverflow.ellipsis, ), const SizedBox(width: 10), if (isL2List && languageModel.l2Support != L2SupportEnum.full) From 742bc0d8decfccad572c39a29b2fcd13806a014f Mon Sep 17 00:00:00 2001 From: Kelrap Date: Mon, 16 Jun 2025 11:01:34 -0400 Subject: [PATCH 3/8] Make get started background grayer and more opaque --- lib/pangea/onboarding/onboarding_complete.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/pangea/onboarding/onboarding_complete.dart b/lib/pangea/onboarding/onboarding_complete.dart index cbc3c821b..796602d28 100644 --- a/lib/pangea/onboarding/onboarding_complete.dart +++ b/lib/pangea/onboarding/onboarding_complete.dart @@ -19,7 +19,10 @@ class OnboardingComplete extends StatelessWidget { children: [ Container( decoration: BoxDecoration( - color: Theme.of(context).colorScheme.onSurface.withAlpha(20), + color: Theme.of(context) + .colorScheme + .surfaceContainerHigh + .withAlpha(170), borderRadius: BorderRadius.circular( 10.0, ), From bf1b4397df0abc5b6aa6c886df7c91c14076311a Mon Sep 17 00:00:00 2001 From: Kelrap Date: Mon, 16 Jun 2025 11:15:08 -0400 Subject: [PATCH 4/8] Does not show option to start a conversation for the user's own profile popup --- .../member_actions_popup_menu_button.dart | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lib/widgets/member_actions_popup_menu_button.dart b/lib/widgets/member_actions_popup_menu_button.dart index 6502beedd..115ddb072 100644 --- a/lib/widgets/member_actions_popup_menu_button.dart +++ b/lib/widgets/member_actions_popup_menu_button.dart @@ -7,6 +7,7 @@ import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/pangea/analytics_misc/level_display_name.dart'; import 'package:fluffychat/pangea/bot/utils/bot_name.dart'; import 'package:fluffychat/widgets/avatar.dart'; +import 'package:fluffychat/widgets/matrix.dart'; import 'package:fluffychat/widgets/permission_slider_dialog.dart'; import 'adaptive_dialogs/show_ok_cancel_alert_dialog.dart'; import 'adaptive_dialogs/user_dialog.dart'; @@ -90,20 +91,21 @@ void showMemberActionsPopupMenu({ ), const PopupMenuDivider(), // #Pangea - PopupMenuItem( - value: _MemberActions.chat, - child: Row( - children: [ - const Icon(Icons.forum_outlined), - const SizedBox(width: 18), - Text( - dmRoomId == null - ? L10n.of(context).startConversation - : L10n.of(context).sendAMessage, - ), - ], + if (Matrix.of(context).client.userID != user.id) + PopupMenuItem( + value: _MemberActions.chat, + child: Row( + children: [ + const Icon(Icons.forum_outlined), + const SizedBox(width: 18), + Text( + dmRoomId == null + ? L10n.of(context).startConversation + : L10n.of(context).sendAMessage, + ), + ], + ), ), - ), // Pangea# if (onMention != null) PopupMenuItem( From 007162ea0265b53507d4a943e8172467bb8483fa Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 16 Jun 2025 11:53:22 -0400 Subject: [PATCH 5/8] chore: update how client instance is accessed --- lib/widgets/member_actions_popup_menu_button.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/widgets/member_actions_popup_menu_button.dart b/lib/widgets/member_actions_popup_menu_button.dart index 115ddb072..f4ff7c3ca 100644 --- a/lib/widgets/member_actions_popup_menu_button.dart +++ b/lib/widgets/member_actions_popup_menu_button.dart @@ -7,7 +7,6 @@ import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/pangea/analytics_misc/level_display_name.dart'; import 'package:fluffychat/pangea/bot/utils/bot_name.dart'; import 'package:fluffychat/widgets/avatar.dart'; -import 'package:fluffychat/widgets/matrix.dart'; import 'package:fluffychat/widgets/permission_slider_dialog.dart'; import 'adaptive_dialogs/show_ok_cancel_alert_dialog.dart'; import 'adaptive_dialogs/user_dialog.dart'; @@ -91,7 +90,7 @@ void showMemberActionsPopupMenu({ ), const PopupMenuDivider(), // #Pangea - if (Matrix.of(context).client.userID != user.id) + if (user.room.client.userID != user.id) PopupMenuItem( value: _MemberActions.chat, child: Row( From 9139c992acd46975cf78d8229371a549b21f50f7 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 16 Jun 2025 12:00:53 -0400 Subject: [PATCH 6/8] chore: update emojis when switching between different tokens --- lib/pangea/lemmas/lemma_reaction_picker.dart | 32 +++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/lib/pangea/lemmas/lemma_reaction_picker.dart b/lib/pangea/lemmas/lemma_reaction_picker.dart index b229f2396..92a3a70ef 100644 --- a/lib/pangea/lemmas/lemma_reaction_picker.dart +++ b/lib/pangea/lemmas/lemma_reaction_picker.dart @@ -28,17 +28,35 @@ class LemmaReactionPickerState extends State { @override void initState() { super.initState(); - widget.cId.getLemmaInfo().then((info) { - loading = false; - setState(() => displayEmoji = info.emoji); - }).catchError((e, s) { - ErrorHandler.logError(data: widget.cId.toJson(), e: e, s: s); - setState(() => loading = false); - }); + _refresh(); + } + + @override + void didUpdateWidget(LemmaReactionPicker oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.cId != widget.cId) { + _refresh(); + } } void setEmoji(String emoji) => widget.controller.sendEmojiAction(emoji); + Future _refresh() async { + setState(() { + loading = true; + displayEmoji = []; + }); + + try { + final info = await widget.cId.getLemmaInfo(); + displayEmoji = info.emoji; + } catch (e, s) { + ErrorHandler.logError(data: widget.cId.toJson(), e: e, s: s); + } finally { + setState(() => loading = false); + } + } + @override Widget build(BuildContext context) { return Container( From a92237fc8bfb4816fd70540ebbde03b2eccf5377 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 16 Jun 2025 14:12:49 -0400 Subject: [PATCH 7/8] chore: update transcription error message --- lib/l10n/intl_en.arb | 3 ++- lib/pangea/toolbar/widgets/overlay_message.dart | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 50166f59f..09c40f998 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -5016,5 +5016,6 @@ "directMessage": "Direct Message", "newDirectMessage": "New direct message", "speakingExercisesTooltip": "Speaking practice", - "noChatsFoundHereYet": "No chats found here yet" + "noChatsFoundHereYet": "No chats found here yet", + "transcriptionFailed": "Failed to transcribe audio" } \ No newline at end of file diff --git a/lib/pangea/toolbar/widgets/overlay_message.dart b/lib/pangea/toolbar/widgets/overlay_message.dart index ed2f8b71e..b6633b0c6 100644 --- a/lib/pangea/toolbar/widgets/overlay_message.dart +++ b/lib/pangea/toolbar/widgets/overlay_message.dart @@ -160,7 +160,7 @@ class OverlayMessage extends StatelessWidget { ), const SizedBox(width: 8), Text( - L10n.of(context).oopsSomethingWentWrong, + L10n.of(context).transcriptionFailed, style: AppConfig.messageTextStyle( event, textColor, From 20fab6a5d2d08b8088f506bf17a2d0eeadbdf150 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Mon, 16 Jun 2025 15:04:37 -0400 Subject: [PATCH 8/8] Don't use space default image/description for joining chats in space --- .../public_spaces/public_room_bottom_sheet.dart | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/pangea/public_spaces/public_room_bottom_sheet.dart b/lib/pangea/public_spaces/public_room_bottom_sheet.dart index ba0b71fc7..89ed09700 100644 --- a/lib/pangea/public_spaces/public_room_bottom_sheet.dart +++ b/lib/pangea/public_spaces/public_room_bottom_sheet.dart @@ -200,12 +200,14 @@ class PublicRoomBottomSheetState extends State { Row( spacing: 16.0, children: [ - (chunk?.avatarUrl != null) + (chunk?.avatarUrl != null || chunk?.roomType != 'm.space') ? Avatar( mxContent: chunk?.avatarUrl, name: chunk?.name, size: 160.0, - borderRadius: BorderRadius.circular(24.0), + borderRadius: BorderRadius.circular( + chunk?.roomType != 'm.space' ? 80 : 24.0, + ), ) : ClipRRect( borderRadius: BorderRadius.circular(24.0), @@ -242,7 +244,11 @@ class PublicRoomBottomSheetState extends State { child: SingleChildScrollView( child: Text( chunk?.topic ?? - L10n.of(context).noSpaceDescriptionYet, + (chunk?.roomType != 'm.space' + ? L10n.of(context) + .noChatDescriptionYet + : L10n.of(context) + .noSpaceDescriptionYet), softWrap: true, textAlign: TextAlign.start, maxLines: null,