From 506629b07fd1d0b57dad77ef50474f773e295c15 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 4 Nov 2024 12:42:36 -0500 Subject: [PATCH] long sentry error on missing grammar copy --- lib/pangea/enum/analytics/morph_categories_enum.dart | 11 ++++++++++- lib/pangea/enum/analytics/parts_of_speech_enum.dart | 11 ++++++++++- lib/pangea/utils/get_grammar_copy.dart | 3 +-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/pangea/enum/analytics/morph_categories_enum.dart b/lib/pangea/enum/analytics/morph_categories_enum.dart index 677f58fa3..1642f0945 100644 --- a/lib/pangea/enum/analytics/morph_categories_enum.dart +++ b/lib/pangea/enum/analytics/morph_categories_enum.dart @@ -1,6 +1,7 @@ // ignore_for_file: constant_identifier_names import 'package:collection/collection.dart'; +import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -44,11 +45,19 @@ extension MorphologicalCategoriesExtension on MorphologicalCategories { /// Convert string to enum static MorphologicalCategories? fromString(String category) { - return MorphologicalCategories.values.firstWhereOrNull( + final morph = MorphologicalCategories.values.firstWhereOrNull( (e) => e.toShortString() == category.toLowerCase().replaceAll(RegExp(r'[,\[\]]'), ''), ); + if (morph == null) { + ErrorHandler.logError( + e: "Missing morphological category", + s: StackTrace.current, + data: {"category": category}, + ); + } + return morph; } String getDisplayCopy(BuildContext context) { diff --git a/lib/pangea/enum/analytics/parts_of_speech_enum.dart b/lib/pangea/enum/analytics/parts_of_speech_enum.dart index 5348e938b..ea723fb7e 100644 --- a/lib/pangea/enum/analytics/parts_of_speech_enum.dart +++ b/lib/pangea/enum/analytics/parts_of_speech_enum.dart @@ -1,4 +1,5 @@ import 'package:collection/collection.dart'; +import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -31,9 +32,17 @@ extension GrammarCopyPOSExtension on GrammarCopyPOS { } GrammarCopyPOS? fromString(String categoryName) { - return GrammarCopyPOS.values.firstWhereOrNull( + final pos = GrammarCopyPOS.values.firstWhereOrNull( (pos) => pos.toShortString() == categoryName.toLowerCase(), ); + if (pos == null) { + ErrorHandler.logError( + e: "Missing part of speech", + s: StackTrace.current, + data: {"category": categoryName}, + ); + } + return pos; } String getDisplayCopy(BuildContext context) { diff --git a/lib/pangea/utils/get_grammar_copy.dart b/lib/pangea/utils/get_grammar_copy.dart index 86c36be30..05298d646 100644 --- a/lib/pangea/utils/get_grammar_copy.dart +++ b/lib/pangea/utils/get_grammar_copy.dart @@ -450,8 +450,7 @@ String? getGrammarCopy({ default: debugger(when: kDebugMode); ErrorHandler.logError( - e: Exception('Need to add copy for $key to intl_en.arb'), - m: 'Need to add copy for $key to intl_en.arb', + e: 'Need to add copy to intl_en.arb', data: { 'tag': key, 'context': context,