From d824ef222f64ac803978b9409e631b8c37d44358 Mon Sep 17 00:00:00 2001 From: wcjord <32568597+wcjord@users.noreply.github.com> Date: Tue, 28 Jan 2025 12:36:18 -0500 Subject: [PATCH] 1595-word-per-minute-is-still-not-accurate (#1622) * feat(stt): hiding speech accuracy * fix(main): env --- assets/l10n/intl_en.arb | 5 +-- assets/l10n/intl_es.arb | 4 +-- lib/main.dart | 15 ++++---- .../enums/construct_use_type_enum.dart | 35 +++++++++++++------ .../widgets/message_speech_to_text_card.dart | 26 +++++++------- 5 files changed, 48 insertions(+), 37 deletions(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index d142a3e3c..8a9891467 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -4118,7 +4118,7 @@ "noLanguagesSet": "No languages set", "noActivitiesFound": "That's enough on this for now! Come back later for more.", "hintTitle": "Hint:", - "speechToTextBody": "See how well you did by looking at your Accuracy and Words Per Minute scores", + "speechToTextBody": "For voice messages, you can see a transcript as well as the speaker's Words Per Minute score.", "previous": "Previous", "versionNotFound": "Version Not Found", "fetchingVersion": "Fetching version...", @@ -4778,5 +4778,6 @@ "numberOfLearners": "Number of learners", "mustBeInteger": "Must be an integer e.g. 1, 2, 3, ...", "noBookmarkedActivities": "No bookmarked activities", - "noLemmasFound": "No lemmas found" + "noLemmasFound": "No lemmas found", + "constructUsePvmDesc": "Produced in voice message" } \ No newline at end of file diff --git a/assets/l10n/intl_es.arb b/assets/l10n/intl_es.arb index 8881536ba..2c8241b50 100644 --- a/assets/l10n/intl_es.arb +++ b/assets/l10n/intl_es.arb @@ -4833,7 +4833,7 @@ "practice": "Práctica", "noLanguagesSet": "No hay idiomas configurados", "hintTitle": "Sugerencia:", - "speechToTextBody": "Ve qué tan bien lo hiciste al mirar tus puntajes de Precisión y Palabras Por Minuto.", + "speechToTextBody": "Para los mensajes de voz, puedes ver una transcripción y la puntuación de palabras por minuto del orador.", "previous": "Anterior", "languageButtonLabel": "Idioma: {currentLanguage}", "@languageButtonLabel": { @@ -5339,4 +5339,4 @@ "invitePeopleSpaceSubtitle": "Invitar a usuarios o administradores a este espacio", "noCapacityLimit": "Sin límite de capacidad", "downloadGroupText": "Descargar texto del grupo" -} +} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 3e11711be..dc819eaf8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,12 +1,4 @@ -import 'package:flutter/material.dart'; - import 'package:collection/collection.dart'; -import 'package:flutter_dotenv/flutter_dotenv.dart'; -import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -import 'package:get_storage/get_storage.dart'; -import 'package:matrix/matrix.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; @@ -15,6 +7,13 @@ import 'package:fluffychat/pangea/learning_settings/utils/language_list_util.dar import 'package:fluffychat/utils/client_manager.dart'; import 'package:fluffychat/utils/platform_infos.dart'; import 'package:fluffychat/widgets/error_widget.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:flutter_secure_storage/flutter_secure_storage.dart'; +import 'package:get_storage/get_storage.dart'; +import 'package:matrix/matrix.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + import 'config/setting_keys.dart'; import 'utils/background_push.dart'; import 'widgets/fluffy_chat_app.dart'; diff --git a/lib/pangea/analytics/enums/construct_use_type_enum.dart b/lib/pangea/analytics/enums/construct_use_type_enum.dart index 6d0c78746..1996090ad 100644 --- a/lib/pangea/analytics/enums/construct_use_type_enum.dart +++ b/lib/pangea/analytics/enums/construct_use_type_enum.dart @@ -1,10 +1,8 @@ -import 'package:flutter/material.dart'; - -import 'package:flutter_gen/gen_l10n/l10n.dart'; - import 'package:fluffychat/pangea/analytics/enums/analytics_summary_enum.dart'; import 'package:fluffychat/pangea/analytics/enums/learning_skills_enum.dart'; import 'package:fluffychat/pangea/toolbar/enums/activity_type_enum.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; enum ConstructUseTypeEnum { /// produced in chat by user, igc was run, and we've judged it to be a correct use @@ -17,6 +15,9 @@ enum ConstructUseTypeEnum { /// produced in chat by user and igc was not run unk, + /// produced in voice message + pvm, + /// interactive translation activity corIt, ignIt, @@ -116,6 +117,8 @@ extension ConstructUseTypeExtension on ConstructUseTypeEnum { return L10n.of(context).constructUseIgnMDesc; case ConstructUseTypeEnum.em: return L10n.of(context).constructUseEmojiDesc; + case ConstructUseTypeEnum.pvm: + return L10n.of(context).constructUsePvmDesc; case ConstructUseTypeEnum.nan: return L10n.of(context).constructUseNanDesc; } @@ -156,6 +159,8 @@ extension ConstructUseTypeExtension on ConstructUseTypeEnum { return ActivityTypeEnum.morphId.icon; case ConstructUseTypeEnum.em: return ActivityTypeEnum.emoji.icon; + case ConstructUseTypeEnum.pvm: + return Icons.mic; case ConstructUseTypeEnum.unk: case ConstructUseTypeEnum.nan: return Icons.help; @@ -173,6 +178,9 @@ extension ConstructUseTypeExtension on ConstructUseTypeEnum { case ConstructUseTypeEnum.corPA: return 5; + case ConstructUseTypeEnum.pvm: + return 4; + case ConstructUseTypeEnum.wa: case ConstructUseTypeEnum.corWL: case ConstructUseTypeEnum.corHWL: @@ -225,6 +233,7 @@ extension ConstructUseTypeExtension on ConstructUseTypeEnum { case ConstructUseTypeEnum.corIGC: case ConstructUseTypeEnum.incIGC: case ConstructUseTypeEnum.ignIGC: + case ConstructUseTypeEnum.pvm: return true; case ConstructUseTypeEnum.corPA: @@ -260,12 +269,6 @@ extension ConstructUseTypeExtension on ConstructUseTypeEnum { case ConstructUseTypeEnum.corIGC: case ConstructUseTypeEnum.ignIGC: case ConstructUseTypeEnum.incIGC: - case ConstructUseTypeEnum.corL: - case ConstructUseTypeEnum.ignL: - case ConstructUseTypeEnum.incL: - case ConstructUseTypeEnum.corM: - case ConstructUseTypeEnum.ignM: - case ConstructUseTypeEnum.incM: return LearningSkillsEnum.writing; case ConstructUseTypeEnum.corWL: case ConstructUseTypeEnum.ignWL: @@ -277,8 +280,17 @@ extension ConstructUseTypeExtension on ConstructUseTypeEnum { case ConstructUseTypeEnum.corPA: case ConstructUseTypeEnum.ignPA: case ConstructUseTypeEnum.incPA: + case ConstructUseTypeEnum.corL: + case ConstructUseTypeEnum.ignL: + case ConstructUseTypeEnum.incL: + case ConstructUseTypeEnum.corM: + case ConstructUseTypeEnum.ignM: + case ConstructUseTypeEnum.incM: + case ConstructUseTypeEnum.em: return LearningSkillsEnum.reading; - default: + case ConstructUseTypeEnum.pvm: + return LearningSkillsEnum.speaking; + case ConstructUseTypeEnum.nan: return LearningSkillsEnum.other; } } @@ -288,6 +300,7 @@ extension ConstructUseTypeExtension on ConstructUseTypeEnum { case ConstructUseTypeEnum.wa: case ConstructUseTypeEnum.ga: case ConstructUseTypeEnum.unk: + case ConstructUseTypeEnum.pvm: return AnalyticsSummaryEnum.numWordsTyped; case ConstructUseTypeEnum.corIt: diff --git a/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart b/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart index 4017f89d8..c23cedb45 100644 --- a/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart +++ b/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart @@ -1,12 +1,5 @@ import 'dart:developer'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:material_symbols_icons/symbols.dart'; - import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/choreographer/widgets/igc/card_error_widget.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; @@ -17,6 +10,11 @@ import 'package:fluffychat/pangea/toolbar/models/speech_to_text_models.dart'; import 'package:fluffychat/pangea/toolbar/widgets/icon_number_widget.dart'; import 'package:fluffychat/pangea/toolbar/widgets/toolbar_content_loading_indicator.dart'; import 'package:fluffychat/widgets/matrix.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + import '../../bot/utils/bot_style.dart'; class MessageSpeechToTextCard extends StatefulWidget { @@ -194,13 +192,13 @@ class MessageSpeechToTextCardState extends State { Row( mainAxisSize: MainAxisSize.min, children: [ - IconNumberWidget( - icon: Symbols.target, - number: - "${selectedToken?.confidence ?? speechToTextResponse!.transcript.confidence}%", - toolTip: L10n.of(context).accuracy, - ), - const SizedBox(width: 16), + // IconNumberWidget( + // icon: Symbols.target, + // number: + // "${selectedToken?.confidence ?? speechToTextResponse!.transcript.confidence}%", + // toolTip: L10n.of(context).accuracy, + // ), + // const SizedBox(width: 16), IconNumberWidget( icon: Icons.speed, number: wordsPerMinuteString != null