From 771bd4b6c3768f1ca54cfbfed198286fc22c39eb Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 9 Jan 2025 16:04:16 -0500 Subject: [PATCH] fix: don't run startChatWithBotIfNotPresent if user is bot (#1392) * fix: don't run startChatWithBotIfNotPresent if user is bot * fix: dart formatting --- lib/main.dart | 15 ++++---- lib/pages/chat/chat_view.dart | 11 +++--- .../widgets/text_loading_shimmer.dart | 4 ++- .../message_analytics_controller.dart | 3 +- lib/pangea/controllers/pangea_controller.dart | 4 ++- lib/pangea/models/pangea_token_model.dart | 7 ++-- .../repo/lemma_info/lemma_info_repo.dart | 7 ++-- .../word_meaning_activity_generator.dart | 6 ++-- .../widgets/animations/gain_points.dart | 3 +- .../analytics_summary/level_bar_popup.dart | 6 ++-- lib/pangea/widgets/content_issue_button.dart | 35 ------------------- .../word_zoom/lemma_meaning_widget.dart | 9 ++--- .../word_zoom/word_zoom_center_widget.dart | 3 +- .../widgets/word_zoom/word_zoom_widget.dart | 3 +- lib/utils/feedback_dialog.dart | 3 +- 15 files changed, 51 insertions(+), 68 deletions(-) delete mode 100644 lib/pangea/widgets/content_issue_button.dart diff --git a/lib/main.dart b/lib/main.dart index 9f5e656bd..2b79345de 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,12 @@ +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/config/environment.dart'; import 'package:fluffychat/pangea/controllers/language_list_controller.dart'; @@ -7,13 +15,6 @@ import 'package:fluffychat/pangea/utils/firebase_analytics.dart'; 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/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 18b6f1f34..48c7dbfa3 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -1,6 +1,12 @@ import 'dart:ui' as ui; +import 'package:flutter/material.dart'; + import 'package:badges/badges.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:go_router/go_router.dart'; +import 'package:matrix/matrix.dart'; + import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/pages/chat/chat.dart'; @@ -24,11 +30,6 @@ import 'package:fluffychat/widgets/future_loading_dialog.dart'; import 'package:fluffychat/widgets/matrix.dart'; import 'package:fluffychat/widgets/mxc_image.dart'; import 'package:fluffychat/widgets/unread_rooms_badge.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:go_router/go_router.dart'; -import 'package:matrix/matrix.dart'; - import '../../utils/stream_extension.dart'; enum _EventContextAction { info, report } diff --git a/lib/pangea/choreographer/widgets/text_loading_shimmer.dart b/lib/pangea/choreographer/widgets/text_loading_shimmer.dart index f301a136e..13596626f 100644 --- a/lib/pangea/choreographer/widgets/text_loading_shimmer.dart +++ b/lib/pangea/choreographer/widgets/text_loading_shimmer.dart @@ -1,7 +1,9 @@ -import 'package:fluffychat/config/app_config.dart'; import 'package:flutter/material.dart'; + import 'package:shimmer/shimmer.dart'; +import 'package:fluffychat/config/app_config.dart'; + class TextLoadingShimmer extends StatelessWidget { final double width; const TextLoadingShimmer({ diff --git a/lib/pangea/controllers/message_analytics_controller.dart b/lib/pangea/controllers/message_analytics_controller.dart index 7d1fdd923..96d798852 100644 --- a/lib/pangea/controllers/message_analytics_controller.dart +++ b/lib/pangea/controllers/message_analytics_controller.dart @@ -1,11 +1,12 @@ import 'dart:math'; +import 'package:flutter/foundation.dart'; + import 'package:fluffychat/pangea/controllers/get_analytics_controller.dart'; import 'package:fluffychat/pangea/enum/activity_type_enum.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/models/pangea_token_model.dart'; import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_model.dart'; -import 'package:flutter/foundation.dart'; /// Picks which tokens to do activities on and what types of activities to do /// Caches result so that we don't have to recompute it diff --git a/lib/pangea/controllers/pangea_controller.dart b/lib/pangea/controllers/pangea_controller.dart index 5283b8a51..ddb08c924 100644 --- a/lib/pangea/controllers/pangea_controller.dart +++ b/lib/pangea/controllers/pangea_controller.dart @@ -185,7 +185,9 @@ class PangeaController { void startChatWithBotIfNotPresent() { Future.delayed(const Duration(milliseconds: 10000), () async { // check if user is logged in - if (!matrixState.client.isLogged()) { + if (!matrixState.client.isLogged() || + matrixState.client.userID == null || + matrixState.client.userID == BotName.byEnvironment) { return; } diff --git a/lib/pangea/models/pangea_token_model.dart b/lib/pangea/models/pangea_token_model.dart index f8c85b7b9..327ecc7bf 100644 --- a/lib/pangea/models/pangea_token_model.dart +++ b/lib/pangea/models/pangea_token_model.dart @@ -1,7 +1,11 @@ import 'dart:developer'; import 'dart:math'; +import 'package:flutter/foundation.dart'; + import 'package:collection/collection.dart'; +import 'package:matrix/matrix.dart'; + import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/constants/pangea_event_types.dart'; import 'package:fluffychat/pangea/enum/activity_type_enum.dart'; @@ -16,9 +20,6 @@ import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_repo.dart'; import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_request.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/foundation.dart'; -import 'package:matrix/matrix.dart'; - import '../constants/model_keys.dart'; import 'lemma.dart'; diff --git a/lib/pangea/repo/lemma_info/lemma_info_repo.dart b/lib/pangea/repo/lemma_info/lemma_info_repo.dart index 800edbf30..6eedf5c71 100644 --- a/lib/pangea/repo/lemma_info/lemma_info_repo.dart +++ b/lib/pangea/repo/lemma_info/lemma_info_repo.dart @@ -1,15 +1,16 @@ import 'dart:convert'; import 'dart:developer'; +import 'package:flutter/foundation.dart'; + +import 'package:http/http.dart'; + import 'package:fluffychat/pangea/models/content_feedback.dart'; import 'package:fluffychat/pangea/network/urls.dart'; import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_request.dart'; import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_response.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/foundation.dart'; -import 'package:http/http.dart'; - import '../../config/environment.dart'; import '../../network/requests.dart'; diff --git a/lib/pangea/repo/practice/word_meaning_activity_generator.dart b/lib/pangea/repo/practice/word_meaning_activity_generator.dart index 95756774b..e591f4dba 100644 --- a/lib/pangea/repo/practice/word_meaning_activity_generator.dart +++ b/lib/pangea/repo/practice/word_meaning_activity_generator.dart @@ -1,3 +1,7 @@ +import 'package:flutter/material.dart'; + +import 'package:flutter_gen/gen_l10n/l10n.dart'; + import 'package:fluffychat/pangea/enum/activity_type_enum.dart'; import 'package:fluffychat/pangea/enum/construct_type_enum.dart'; import 'package:fluffychat/pangea/models/practice_activities.dart/message_activity_request.dart'; @@ -5,8 +9,6 @@ import 'package:fluffychat/pangea/models/practice_activities.dart/multiple_choic import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_model.dart'; import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_repo.dart'; import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_request.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; class WordMeaningActivityGenerator { Future get( diff --git a/lib/pangea/widgets/animations/gain_points.dart b/lib/pangea/widgets/animations/gain_points.dart index 5023fd48a..d0c9a6b7d 100644 --- a/lib/pangea/widgets/animations/gain_points.dart +++ b/lib/pangea/widgets/animations/gain_points.dart @@ -1,11 +1,12 @@ import 'dart:async'; +import 'package:flutter/material.dart'; + import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/controllers/get_analytics_controller.dart'; import 'package:fluffychat/pangea/controllers/put_analytics_controller.dart'; import 'package:fluffychat/pangea/utils/bot_style.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/material.dart'; class PointsGainedAnimation extends StatefulWidget { final Color? gainColor; diff --git a/lib/pangea/widgets/chat_list/analytics_summary/level_bar_popup.dart b/lib/pangea/widgets/chat_list/analytics_summary/level_bar_popup.dart index 1b6fe1184..88949e000 100644 --- a/lib/pangea/widgets/chat_list/analytics_summary/level_bar_popup.dart +++ b/lib/pangea/widgets/chat_list/analytics_summary/level_bar_popup.dart @@ -1,3 +1,7 @@ +import 'package:flutter/material.dart'; + +import 'package:flutter_gen/gen_l10n/l10n.dart'; + import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/controllers/get_analytics_controller.dart'; import 'package:fluffychat/pangea/enum/construct_type_enum.dart'; @@ -6,8 +10,6 @@ import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; import 'package:fluffychat/pangea/utils/grammar/get_grammar_copy.dart'; import 'package:fluffychat/pangea/widgets/chat_list/analytics_summary/learning_progress_bar.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; class LevelBarPopup extends StatelessWidget { const LevelBarPopup({ diff --git a/lib/pangea/widgets/content_issue_button.dart b/lib/pangea/widgets/content_issue_button.dart deleted file mode 100644 index 26ef32de6..000000000 --- a/lib/pangea/widgets/content_issue_button.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:fluffychat/utils/feedback_dialog.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; - -class ContentIssueButton extends StatelessWidget { - final bool isActive; - final void Function(String) submitFeedback; - - const ContentIssueButton({ - super.key, - required this.isActive, - required this.submitFeedback, - }); - - @override - Widget build(BuildContext context) { - return Opacity( - opacity: 0.8, // Slight opacity - child: Tooltip( - message: L10n.of(context).reportContentIssueTitle, - child: IconButton( - icon: const Icon(Icons.flag), - iconSize: 16, - onPressed: () { - if (!isActive) { - return; - } - - showFeedbackDialog(context, submitFeedback); - }, - ), - ), - ); - } -} diff --git a/lib/pangea/widgets/word_zoom/lemma_meaning_widget.dart b/lib/pangea/widgets/word_zoom/lemma_meaning_widget.dart index 3749ed438..f86007de3 100644 --- a/lib/pangea/widgets/word_zoom/lemma_meaning_widget.dart +++ b/lib/pangea/widgets/word_zoom/lemma_meaning_widget.dart @@ -1,13 +1,14 @@ import 'dart:developer'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; + import 'package:fluffychat/pangea/choreographer/widgets/text_loading_shimmer.dart'; import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_repo.dart'; import 'package:fluffychat/pangea/repo/lemma_info/lemma_info_request.dart'; import 'package:fluffychat/utils/feedback_dialog.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; class LemmaMeaningWidget extends StatefulWidget { final String lemma; @@ -22,10 +23,10 @@ class LemmaMeaningWidget extends StatefulWidget { }); @override - _LemmaMeaningWidgetState createState() => _LemmaMeaningWidgetState(); + LemmaMeaningWidgetState createState() => LemmaMeaningWidgetState(); } -class _LemmaMeaningWidgetState extends State { +class LemmaMeaningWidgetState extends State { late Future _definitionFuture; @override diff --git a/lib/pangea/widgets/word_zoom/word_zoom_center_widget.dart b/lib/pangea/widgets/word_zoom/word_zoom_center_widget.dart index 071418c0e..32c60f17d 100644 --- a/lib/pangea/widgets/word_zoom/word_zoom_center_widget.dart +++ b/lib/pangea/widgets/word_zoom/word_zoom_center_widget.dart @@ -1,9 +1,10 @@ +import 'package:flutter/material.dart'; + import 'package:fluffychat/pangea/controllers/message_analytics_controller.dart'; import 'package:fluffychat/pangea/widgets/chat/toolbar_content_loading_indicator.dart'; import 'package:fluffychat/pangea/widgets/practice_activity/practice_activity_card.dart'; import 'package:fluffychat/pangea/widgets/word_zoom/lemma_meaning_widget.dart'; import 'package:fluffychat/pangea/widgets/word_zoom/word_zoom_widget.dart'; -import 'package:flutter/material.dart'; class WordZoomCenterWidget extends StatelessWidget { final WordZoomSelection? selectionType; diff --git a/lib/pangea/widgets/word_zoom/word_zoom_widget.dart b/lib/pangea/widgets/word_zoom/word_zoom_widget.dart index 2afcd7756..0bf32d3e7 100644 --- a/lib/pangea/widgets/word_zoom/word_zoom_widget.dart +++ b/lib/pangea/widgets/word_zoom/word_zoom_widget.dart @@ -1,5 +1,7 @@ import 'dart:async'; +import 'package:flutter/material.dart'; + import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/enum/activity_type_enum.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; @@ -12,7 +14,6 @@ import 'package:fluffychat/pangea/widgets/practice_activity/word_text_with_audio import 'package:fluffychat/pangea/widgets/word_zoom/lemma_widget.dart'; import 'package:fluffychat/pangea/widgets/word_zoom/morphological_widget.dart'; import 'package:fluffychat/pangea/widgets/word_zoom/word_zoom_center_widget.dart'; -import 'package:flutter/material.dart'; enum WordZoomSelection { meaning, diff --git a/lib/utils/feedback_dialog.dart b/lib/utils/feedback_dialog.dart index 06eced027..fc37f07a8 100644 --- a/lib/utils/feedback_dialog.dart +++ b/lib/utils/feedback_dialog.dart @@ -1,7 +1,8 @@ -import 'package:fluffychat/config/app_config.dart'; import 'package:flutter/material.dart'; + import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:fluffychat/config/app_config.dart'; import '../pangea/widgets/common/bot_face_svg.dart'; Future showFeedbackDialog(