From 8b859ccb812c9aa8cc42492df20a440efc4c03e0 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Fri, 11 Apr 2025 12:10:11 -0400 Subject: [PATCH] chore: only show STT for .wav audio messages (#2423) --- .../choreographer/widgets/igc/card_error_widget.dart | 1 + .../events/event_wrappers/pangea_message_event.dart | 8 ++++++++ .../reading_assistance_input_bar.dart | 7 ++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/pangea/choreographer/widgets/igc/card_error_widget.dart b/lib/pangea/choreographer/widgets/igc/card_error_widget.dart index bb3e39cca..d872d69f1 100644 --- a/lib/pangea/choreographer/widgets/igc/card_error_widget.dart +++ b/lib/pangea/choreographer/widgets/igc/card_error_widget.dart @@ -38,6 +38,7 @@ class CardErrorWidget extends StatelessWidget { ), const SizedBox(height: 6.0), Row( + mainAxisSize: MainAxisSize.min, children: [ const BotFace( width: 50.0, diff --git a/lib/pangea/events/event_wrappers/pangea_message_event.dart b/lib/pangea/events/event_wrappers/pangea_message_event.dart index f65a9a624..1cf52e70f 100644 --- a/lib/pangea/events/event_wrappers/pangea_message_event.dart +++ b/lib/pangea/events/event_wrappers/pangea_message_event.dart @@ -70,6 +70,14 @@ class PangeaMessageEvent { bool get isAudioMessage => _event.messageType == MessageTypes.Audio; + String? get mimetype { + if (!isAudioMessage) return null; + final Map? info = _event.content.tryGetMap("info"); + debugPrint("INFO: $info"); + if (info == null) return null; + return info["mime_type"] ?? info["mimetype"]; + } + Event? _latestEditCache; Event get _latestEdit => _latestEditCache ??= _event .aggregatedEvents( diff --git a/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart b/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart index a41218570..58f1a9d0b 100644 --- a/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart +++ b/lib/pangea/toolbar/reading_assistance_input_row/reading_assistance_input_bar.dart @@ -38,7 +38,12 @@ class ReadingAssistanceInputBar extends StatelessWidget { : null; if (overlayController.pangeaMessageEvent?.isAudioMessage == true) { - return MessageSpeechToTextCard( + if (!['audio/wav', 'audio/x-wav'] + .contains(overlayController.pangeaMessageEvent!.mimetype)) { + return ReactionsPicker(controller); + } + + content = MessageSpeechToTextCard( messageEvent: overlayController.pangeaMessageEvent!, ); } else {