From a268c2a27d3fc2b312811564e0b24a82bd51720a Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Fri, 2 Jan 2026 09:51:39 -0500 Subject: [PATCH] fix: don't add XP update if no new construct uses were added (#5027) --- .../analytics_data/analytics_data_service.dart | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/pangea/analytics_data/analytics_data_service.dart b/lib/pangea/analytics_data/analytics_data_service.dart index 04f8e8780..682c2fd0d 100644 --- a/lib/pangea/analytics_data/analytics_data_service.dart +++ b/lib/pangea/analytics_data/analytics_data_service.dart @@ -365,13 +365,16 @@ class AnalyticsDataService { _mergeTable.addConstructsByUses(update.addedConstructs, blocked); final newConstructs = await getConstructUses(updateIds); + int points = 0; - for (final id in updateIds) { - final prevPoints = prevConstructs[id]?.points ?? 0; - final newPoints = newConstructs[id]?.points ?? 0; - points += (newPoints - prevPoints); + if (updateIds.isNotEmpty) { + for (final id in updateIds) { + final prevPoints = prevConstructs[id]?.points ?? 0; + final newPoints = newConstructs[id]?.points ?? 0; + points += (newPoints - prevPoints); + } + events.add(XPGainedEvent(points, update.targetID)); } - events.add(XPGainedEvent(points, update.targetID)); final newData = prevData.copyWith(totalXP: prevData.totalXP + points); await _analyticsClientGetter.database.updateDerivedStats(newData);