From d983f26dd5582b5ca049922f6f22bc6a78269251 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Wed, 25 Feb 2026 13:18:14 -0500 Subject: [PATCH] fix: consider construct ID invalid if lemma is empty (#5813) --- lib/pangea/analytics_data/analytics_data_service.dart | 3 +-- .../analytics_details_popup/vocab_analytics_list_view.dart | 2 +- lib/pangea/constructs/construct_identifier.dart | 3 ++- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pangea/analytics_data/analytics_data_service.dart b/lib/pangea/analytics_data/analytics_data_service.dart index 6fec64bca..d8cae3cef 100644 --- a/lib/pangea/analytics_data/analytics_data_service.dart +++ b/lib/pangea/analytics_data/analytics_data_service.dart @@ -352,8 +352,7 @@ class AnalyticsDataService { final existing = cleaned[canonical]; if (existing != null) { existing.merge(entry); - } else if (!blocked.contains(canonical) && - canonical.category != 'other') { + } else if (!blocked.contains(canonical) && !canonical.isInvalid) { cleaned[canonical] = entry; } } diff --git a/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart b/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart index 73ec8ccd5..91b5b5be0 100644 --- a/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart +++ b/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart @@ -33,7 +33,7 @@ class VocabAnalyticsListView extends StatelessWidget { controller.vocab?.where(_vocabFilter).sorted(_sortBySearch).toList(); bool _vocabFilter(ConstructUses use) => - use.lemma.isNotEmpty && _levelFilter(use) && _searchFilter(use); + _levelFilter(use) && _searchFilter(use); bool _levelFilter(ConstructUses use) { if (controller.selectedConstructLevel == null) { diff --git a/lib/pangea/constructs/construct_identifier.dart b/lib/pangea/constructs/construct_identifier.dart index e95b482b5..b372493ac 100644 --- a/lib/pangea/constructs/construct_identifier.dart +++ b/lib/pangea/constructs/construct_identifier.dart @@ -194,5 +194,6 @@ class ConstructIdentifier { (type == ConstructTypeEnum.morph && MorphFeaturesEnumExtension.fromString(category) == MorphFeaturesEnum.Unknown) || - category == 'other'; + category == 'other' || + lemma.isEmpty; }