From cef27aa4ef595f3eb3e46b4342f14ca783546275 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Tue, 29 Jul 2025 12:48:02 -0400 Subject: [PATCH] fix: return bot STT from speech to text local (#3581) --- .../events/event_wrappers/pangea_message_event.dart | 12 +++++++++++- .../widgets/message_selection_positioner.dart | 7 ++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/pangea/events/event_wrappers/pangea_message_event.dart b/lib/pangea/events/event_wrappers/pangea_message_event.dart index da0e1a191..74aacf677 100644 --- a/lib/pangea/events/event_wrappers/pangea_message_event.dart +++ b/lib/pangea/events/event_wrappers/pangea_message_event.dart @@ -234,6 +234,15 @@ class PangeaMessageEvent { }).toSet(); SpeechToTextModel? getSpeechToTextLocal() { + final rawBotTranscription = + event.content.tryGetMap(ModelKey.botTranscription); + + if (rawBotTranscription != null) { + return SpeechToTextModel.fromJson( + Map.from(rawBotTranscription), + ); + } + return representations .firstWhereOrNull( (element) => element.content.speechToText != null, @@ -268,7 +277,8 @@ class PangeaMessageEvent { Map.from(rawBotTranscription), ); - _representations?.add( + _representations ??= []; + _representations!.add( RepresentationEvent( timeline: timeline, parentMessageEvent: _event, diff --git a/lib/pangea/toolbar/widgets/message_selection_positioner.dart b/lib/pangea/toolbar/widgets/message_selection_positioner.dart index 7c96c271e..fccef6645 100644 --- a/lib/pangea/toolbar/widgets/message_selection_positioner.dart +++ b/lib/pangea/toolbar/widgets/message_selection_positioner.dart @@ -317,7 +317,12 @@ class MessageSelectionPositionerState extends State bool get _hasFooterOverflow { if (_screenHeight == null) return false; - final bottomOffset = _originalMessageOffset.dy + _contentHeight; + final bottomOffset = _originalMessageOffset.dy + + originalMessageSize.height + + reactionsHeight + + AppConfig.toolbarMenuHeight + + 4.0; + return bottomOffset > _screenHeight!; }