From 107cc422940ba39879f0c8e56751e93064f4e240 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 26 Feb 2026 10:54:52 -0500 Subject: [PATCH] fix: only assing token composite keys in practice mode (#5818) --- lib/pages/chat/events/html_message.dart | 24 ++++++++-------------- lib/pages/chat/events/message_content.dart | 3 ++- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart index 739bef2ea..28def208e 100644 --- a/lib/pages/chat/events/html_message.dart +++ b/lib/pages/chat/events/html_message.dart @@ -14,7 +14,6 @@ import 'package:fluffychat/pangea/common/widgets/shimmer_background.dart'; import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; -import 'package:fluffychat/pangea/toolbar/layout/reading_assistance_mode_enum.dart'; import 'package:fluffychat/pangea/toolbar/message_practice/message_practice_mode_enum.dart'; import 'package:fluffychat/pangea/toolbar/message_practice/token_practice_button.dart'; import 'package:fluffychat/pangea/toolbar/message_selection_overlay.dart'; @@ -50,7 +49,7 @@ class HtmlMessage extends StatelessWidget { final Event? nextEvent; final Event? prevEvent; final bool isTransitionAnimation; - final ReadingAssistanceMode? readingAssistanceMode; + final bool isPracticeMode; final void Function(PangeaToken)? onClick; // Pangea# @@ -74,7 +73,7 @@ class HtmlMessage extends StatelessWidget { this.prevEvent, this.onClick, this.isTransitionAnimation = false, - this.readingAssistanceMode, + this.isPracticeMode = false, // Pangea# }); @@ -409,7 +408,7 @@ class HtmlMessage extends StatelessWidget { // #Pangea double fontSize = this.fontSize; - if (readingAssistanceMode == ReadingAssistanceMode.practiceMode) { + if (isPracticeMode) { fontSize = (overlayController != null && overlayController!.maxWidth > 600 ? Theme.of(context).textTheme.titleLarge?.fontSize @@ -477,8 +476,7 @@ class HtmlMessage extends StatelessWidget { return TextSpan( children: [ WidgetSpan( - alignment: - readingAssistanceMode == ReadingAssistanceMode.practiceMode + alignment: isPracticeMode ? PlaceholderAlignment.bottom : PlaceholderAlignment.middle, child: Column( @@ -493,8 +491,7 @@ class HtmlMessage extends StatelessWidget { overlayController!.onClickOverlayMessageToken(token), textColor: textColor, ), - if (readingAssistanceMode == - ReadingAssistanceMode.practiceMode && + if (isPracticeMode && token != null && overlayController != null) TokenPracticeButton( @@ -505,7 +502,7 @@ class HtmlMessage extends StatelessWidget { textColor: textColor, ), CompositedTransformTarget( - link: token != null + link: token != null && isPracticeMode ? MatrixState.pAnyState .layerLinkAndKey( "message-token-${token.text.uniqueKey}-${event.eventId}", @@ -536,9 +533,7 @@ class HtmlMessage extends StatelessWidget { selected: selected, highlighted: highlighted, isNew: isNew, - practiceMode: - readingAssistanceMode == - ReadingAssistanceMode.practiceMode, + practiceMode: isPracticeMode, hovered: hovered, ), ), @@ -548,8 +543,7 @@ class HtmlMessage extends StatelessWidget { ), ), ), - if (readingAssistanceMode == - ReadingAssistanceMode.practiceMode && + if (isPracticeMode && token != null && overlayController != null) ListenableBuilder( @@ -969,7 +963,7 @@ class HtmlMessage extends StatelessWidget { _ => null, }; return WidgetSpan( - alignment: readingAssistanceMode == ReadingAssistanceMode.practiceMode + alignment: isPracticeMode ? PlaceholderAlignment.bottom : PlaceholderAlignment.middle, child: Column( diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index 4e8f75a04..afc45322a 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -340,7 +340,8 @@ class MessageContent extends StatelessWidget { ? null : onClick, isTransitionAnimation: isTransitionAnimation, - readingAssistanceMode: readingAssistanceMode, + isPracticeMode: + readingAssistanceMode == ReadingAssistanceMode.practiceMode, // Pangea# ), );